oracle資料庫常見操作
阿新 • • 發佈:2018-12-29
--表分析
select 'analyze table '||table_name||' compute statistics;' from user_tables;
--查詢空表
select table_name,num_rows from user_tables where num_rows = 0;
--給空表分配空間
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows = 0 ;
*******************************************************************************************************************
*******************************************************************************************************************
--匯出dmp檔案
exp user/pass file=F:\hzfx20160419.dmp owner=(hzfx_dev) indexes=n statistics=none
exp user/ [email protected]/orcl file=F:\a.dmp owner=hzfx_dev statistics=none
exp user/[email protected]/orcl file=F:\b.dmp owner=(hzfx_dev) indexes=n statistics=none
exp hztest/[email protected]/orcl file=F:\c.dmp owner=(hztest) indexes=n statistics=none
--匯入dmp檔案
imp user/[email protected] file=D:\JOYINTECH\ZCGLDB_20141026210820.dmp full=y ignore=y
impbd user/ [email protected] file=D:\JOYINTECH\ZCGLDB_20141026210820.dmp full=y ignore=y
impdp user/[email protected] directory=DATA_PUMP_DIR dumpfile=D:\app\oracle\admin\orcl\dpdump\ZCGLDB_20141026210820.dmp
imp user/[email protected] file=D:\JOYINTECH\ZCGLDB_20141026210820.dmp fromuser=hzsc touser=hzsc
exp user/ [email protected] file=D:\ZCGLDB.dmp owner=ZCGLDB
*******************************************************************************************************************
*******************************************************************************************************************
刪除使用者drop user hzsc cascade;
1:建立臨時表空間
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:建立資料表空間
create tablespace user_data
logging
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
第3步:建立使用者並指定表空間
create user user identified by user
default tablespace user_data
temporary tablespace user_temp;
第4步:給使用者授予許可權
grant connect,resource,dba to user
-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
*******************************************************************************************************************
*******************************************************************************************************************
在本地oracle建立資料泵
1、建立DIRECTORY
create directory dmp_dir as 'E:\oracle\win64_11gR2_database\database';
2、授權
grant read,write on directory DATABF to user;
然後執行
impdp user/[email protected] DIRECTORY=dmp_dir DUMPFILE=ZCGLDB_20141026210820.dmp
Alter user hzsc default tablespace hzsc quota unlimited on hzsc;
grant create session to hzsc;
grant connect to hzsc;
grant connect, resource, dba to hzsc;
grant create table to hzsc;
grant create view to hzsc;
grant create trigger to hzsc;
grant select any table to hzsc;
grant create sequence to hzsc;
grant create procedure to hzsc;
grant create role to hzsc;
grant create type to hzsc;
grant GRANT ANY PRIVILEGE to hzsc;
create directory dump_dir as 'D:\app\oracle\admin\orcl\dpdump';
IMPDP USERID='user/[email protected]' directory=DATA_PUMP_DIR schemas= ZCGLDB
dumpfile=ZCGLDB_20141026210820.dmp logfile=dag.log;
impdp user/pass directory=DATA_PUMP_DIR dumpfile=ZCGLDB_20141026210820.dmp sqlfile=sec_expdp.sql TRANSFORM=segment_attributes:n
*******************************************************************************************************************
*******************************************************************************************************************
select * from dba_directories
expdp與impdp命令
2014年10月27日
15:49
expdp與impdp命令
在cmd 環境中
連線資料庫
sqlplus username/[email protected]
連線後,建立目錄
SQL>create directory databf as 'd:\oracle\bf'
授權
SQL>grant read,write on directory databf to user
匯出整個資料庫
expdp user/user schemas=user DIRECTORY=databf DUMPFILE=ZCGLDB_2015.dmp full=y;
匯入整個資料庫
impdp user/pass DIRECTORY=databf DUMPFILE=ZCGLDB_20141026210820.dmp full=y;
若發現匯入時有錯誤時需用transform去掉表空間和儲存子句
impdp user/user DIRECTORY=databf DUMPFILE=ZCGLDB_20150227192901.dmp TRANSFORM=segment_attributes:n full=y;
*************************************************************匯出DMP檔案start*************************************************************
exp user/user owner=ZCGLDB file=E:\CHECKOUT_HZ\user.dmp
*************************************************************匯出DMP檔案 end*************************************************************
*************************************************************匯入DMP檔案start*************************************************************
imp lczcgl/lczcgl file=F:\app\bf\lczcgl20151021.dmp fromuser=lczcgl touser=lczcgl ignore=y
1、建立使用者create user lczcgl identified by lczcgl
2、給使用者授予許可權grant connect,resource,dba to lczcgl
3、建立DIRECTORYcreate directory DATABF as 'F:\app\bf' (將dmp檔案放入目標資料夾中)
4、授權grant read,write on directory DATABF to lczcgl;
4、匯入impdp lczcgl/lczcgl DIRECTORY=databf DUMPFILE=lczcgl20151021.dmp TRANSFORM=segment_attributes:n full=y;
*************************************************************匯入DMP檔案 end*************************************************************
*************************************************************解決空表問題 *************************************************************
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
impdp cdtis2/cdtis2 DIRECTORY=DATABF DUMPFILE=cd20150721.dmp remap_schema=cdbk:cdtis2 remap_tablespace=CDBK_DATA:tis TRANSFORM=segment_attributes:n full=y;
/*
*說明:cdbk是他原來的表空間和庫名,cdtis2是新建立的庫名,tis是這個庫名的表空間。
*/
select 'analyze table '||table_name||' compute statistics;' from user_tables;
--查詢空表
select table_name,num_rows from user_tables where num_rows = 0;
--給空表分配空間
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows = 0 ;
*******************************************************************************************************************
*******************************************************************************************************************
--匯出dmp檔案
exp user/pass file=F:\hzfx20160419.dmp owner=(hzfx_dev) indexes=n statistics=none
exp user/
exp user/[email protected]/orcl file=F:\b.dmp owner=(hzfx_dev) indexes=n statistics=none
exp hztest/[email protected]/orcl file=F:\c.dmp owner=(hztest) indexes=n statistics=none
--匯入dmp檔案
imp user/[email protected] file=D:\JOYINTECH\ZCGLDB_20141026210820.dmp full=y ignore=y
impbd user/
impdp user/[email protected] directory=DATA_PUMP_DIR dumpfile=D:\app\oracle\admin\orcl\dpdump\ZCGLDB_20141026210820.dmp
imp user/[email protected] file=D:\JOYINTECH\ZCGLDB_20141026210820.dmp fromuser=hzsc touser=hzsc
exp user/
*******************************************************************************************************************
*******************************************************************************************************************
刪除使用者drop user hzsc cascade;
1:建立臨時表空間
create temporary tablespace user_temp
tempfile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_temp.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
2:建立資料表空間
create tablespace user_data
logging
datafile 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf'
size 50m
autoextend on
next 50m maxsize 20480m
extent management local;
第3步:建立使用者並指定表空間
create user user identified by user
default tablespace user_data
temporary tablespace user_temp;
第4步:給使用者授予許可權
grant connect,resource,dba to user
-Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=512m
*******************************************************************************************************************
*******************************************************************************************************************
在本地oracle建立資料泵
1、建立DIRECTORY
create directory dmp_dir as 'E:\oracle\win64_11gR2_database\database';
2、授權
grant read,write on directory DATABF to user;
然後執行
impdp user/[email protected] DIRECTORY=dmp_dir DUMPFILE=ZCGLDB_20141026210820.dmp
Alter user hzsc default tablespace hzsc quota unlimited on hzsc;
grant create session to hzsc;
grant connect to hzsc;
grant connect, resource, dba to hzsc;
grant create table to hzsc;
grant create view to hzsc;
grant create trigger to hzsc;
grant select any table to hzsc;
grant create sequence to hzsc;
grant create procedure to hzsc;
grant create role to hzsc;
grant create type to hzsc;
grant GRANT ANY PRIVILEGE to hzsc;
create directory dump_dir as 'D:\app\oracle\admin\orcl\dpdump';
IMPDP USERID='user/[email protected]' directory=DATA_PUMP_DIR schemas= ZCGLDB
dumpfile=ZCGLDB_20141026210820.dmp logfile=dag.log;
impdp user/pass directory=DATA_PUMP_DIR dumpfile=ZCGLDB_20141026210820.dmp sqlfile=sec_expdp.sql TRANSFORM=segment_attributes:n
*******************************************************************************************************************
*******************************************************************************************************************
select * from dba_directories
expdp與impdp命令
2014年10月27日
15:49
expdp與impdp命令
在cmd 環境中
連線資料庫
sqlplus username/[email protected]
連線後,建立目錄
SQL>create directory databf as 'd:\oracle\bf'
授權
SQL>grant read,write on directory databf to user
匯出整個資料庫
expdp user/user schemas=user DIRECTORY=databf DUMPFILE=ZCGLDB_2015.dmp full=y;
匯入整個資料庫
impdp user/pass DIRECTORY=databf DUMPFILE=ZCGLDB_20141026210820.dmp full=y;
若發現匯入時有錯誤時需用transform去掉表空間和儲存子句
impdp user/user DIRECTORY=databf DUMPFILE=ZCGLDB_20150227192901.dmp TRANSFORM=segment_attributes:n full=y;
*************************************************************匯出DMP檔案start*************************************************************
exp user/user owner=ZCGLDB file=E:\CHECKOUT_HZ\user.dmp
*************************************************************匯出DMP檔案 end*************************************************************
*************************************************************匯入DMP檔案start*************************************************************
imp lczcgl/lczcgl file=F:\app\bf\lczcgl20151021.dmp fromuser=lczcgl touser=lczcgl ignore=y
1、建立使用者create user lczcgl identified by lczcgl
2、給使用者授予許可權grant connect,resource,dba to lczcgl
3、建立DIRECTORYcreate directory DATABF as 'F:\app\bf' (將dmp檔案放入目標資料夾中)
4、授權grant read,write on directory DATABF to lczcgl;
4、匯入impdp lczcgl/lczcgl DIRECTORY=databf DUMPFILE=lczcgl20151021.dmp TRANSFORM=segment_attributes:n full=y;
*************************************************************匯入DMP檔案 end*************************************************************
*************************************************************解決空表問題 *************************************************************
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
impdp cdtis2/cdtis2 DIRECTORY=DATABF DUMPFILE=cd20150721.dmp remap_schema=cdbk:cdtis2 remap_tablespace=CDBK_DATA:tis TRANSFORM=segment_attributes:n full=y;
/*
*說明:cdbk是他原來的表空間和庫名,cdtis2是新建立的庫名,tis是這個庫名的表空間。
*/