oracle 資料庫學習筆記
阿新 • • 發佈:2018-12-25
oracle 資料庫學習筆記
Giser-Yu
1、匯入命令
imp Test/[email protected] file='D:\bdcdata\Test.DMP' log='D:\bdcdata\Test_in.log' full=y;
引數tables=(table1,table2)設定部分表匯出/匯入
2、匯出命令
exp userid=scott/[email protected] file=D:\BACK01.dmp log=D:\BACK01.log
3、資料泵匯入、匯出操作
1.使用管理員身份登陸:
sqlplus username/ [email protected] as sysdba
2.建立路徑:
create or replace directory cad as 'E:\oracle';
3.給使用者授權
grant read,write on directory cad to username(指定使用者)/public(所有使用者);
grant read,write on directory cad to Test;
4.資料還原(在cmd視窗執行):
impdp username/[email protected] directory=cad dumpfile=xxx.dmp logfile=xxx_impdp.log full=y;
可選引數
schemas=username
remap_schema= Test:Test
remap_tablespace= Test:Test
5.資料庫備份(cmd視窗執行):
expdp Test/[email protected] directory=cad dumpfile=Test1028.DMP logfile=Test1028.log;
4、匯入報錯"IMP-00017: 由於 ORACLE 錯誤 6550, 以下語句失敗:"解決方案
--匯入語句加引數
statistics=none
可以先不匯入統計資訊,等資料匯入完成後,空閒時間重新生成統計資訊。
statistics引數官方說明如下:
STATISTICS
預設值:ALWAYS
說明:指定匯入時關於資料庫統計資訊如何處理
有如下選項:
ALWAYS:總是匯入資料庫統計資訊.
NONE:不匯入資料庫統計資訊.
SAFE:當dmp中統計住處沒有問題時匯入資料庫統計資訊,如果有問題,則重新生成統計資訊.
RECALCULATE:總是重新生成統計資訊.
5、空表匯出空表
1.初始設定(只對該命令執行後新增表起作用,已有表不起作用) sqlplus sys/oracle as sysdba;
show parameter deferred_segment_creation;
alter system set deferred_segment_creation=false;
2.對已有表,執行下面語句後,把結果再執行
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0