1. 程式人生 > >oracle 資料庫學習筆記

oracle 資料庫學習筆記

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