Oracle伺服器端資料匯出匯入

2021-08-27 17:27:22 字數 3635 閱讀 8774

一、資料操作前的準備

(1).建立邏輯目錄

登入資料庫伺服器,登入資料庫(最好是dba賬號)

$ sqlplus umcc/umcc123

sql> create directory umcc_dmp as '/export/home/umcc/dmp'; --建立目錄對映(邏輯目錄)

sql> grant read,write on directory umcc_dmp to public; --將目錄對映授權

sql> select * from dba_directories; --檢視目錄對映

(2).建立日誌檔案並授權

$ vi import.log

$ chmod 777 ./import.log

此步驟匯出與匯入前都需要先確認。

二、資料匯出

資料匯出,輸入如下命令:

$ expdp directory=umcc_dmp dumpfile=bsn01.dmp tables=umcc.t_process,umcc.t_report_condition_template,umcc.t_report_custom,umcc.report_informixdb_vdeal,umcc.t_networkview_unit_relation,umcc.t_topo_node_view logfile=portal.log

執行,然後輸入賬號、密碼

引數解析:

directory 指定邏輯目錄。

dumpfile 指定資料檔名。

tables 指定匯出那些表,錶用英文逗號分隔。

logfile 指定日誌檔案。

content 指定要匯出的內容。

該選項用於指定要匯出的內容,預設值為all。

content=

當設定content為all時,將匯出物件定義及其所有資料。為data_only時,只匯出物件資料。為metadata_only時,只匯出物件定義。

expdp zftang/zftang@zftang directory=dmp dumpfile=test.dmp content=metadata_only --只匯出物件定義

expdp zftang/zftang@zftang directory=dmp dumpfile=test.dmp content=data_only --匯出所有資料

三、資料匯入

資料匯入可以指定匯入那些表和所有表資料匯入。

方法一:資料檔案裡面所有表都匯入。

impdp umcc/umcc123 directory=umcc_dmp remap_tablespace=ts_umcc:ts_itmp dumpfile=bsn01.dmp table_exists_action=truncate logfile=import.log

方法二:指定資料檔案裡的表匯入。

impdp umcc/umcc123 directory=umcc_dmp remap_tablespace=ts_umcc:ts_itmp dumpfile=bsn01.dmp table_exists_action=truncate tables=t_process,t_report_condition_template,t_report_custom,report_informixdb_vdeal,t_networkview_unit_relation logfile=import.log

引數解析:

remap_schema 使用者切換。remap_schema當你從a使用者匯出的資料,想要匯入到b使用者中去,就使用這個 remap_schema=a:b

remap_tablespace 表空間切換。資料庫物件本來存在於tbs_a表空間,換到tbs_b,就用這個 remap_tablespace=tbs_a:tbs_b 所有tbs_a中的物件都會建在tbs_b表空間中。

table_exists_action 表一存在資料處理方式。

使用imp進行資料匯入時,若表已經存在,要先drop掉表,再進行匯入。

而使用impdp完成資料庫匯入時,若表已經存在,有四種的處理方式:

1) skip:預設操作;

2) replace:先drop表,然後建立表,最後插入資料;

4) truncate:先truncate,然後再插入資料。

使用expdp和impdp時應該注意的事項:

exp和imp是客戶端工具程式,它們既可以在客戶端使用,也可以在服務端使用。

expdp和impdp是服務端的工具程式,他們只能在oracle服務端使用,不能在客戶端使用。

imp只適用於exp匯出的檔案,不適用於expdp匯出檔案;impdp只適用於expdp匯出的檔案,而不適用於exp匯出檔案。

expdp或impdp命令時,可暫不指出使用者名稱/密碼@例項名 as 身份,然後根據提示再輸入,如:

expdp schemas=scott dumpfile=expdp.dmp directory=dpdata1;

其他資料操作擴充套件:

四、匯出資料

1)按使用者導

expdp scott/tiger@orcl schemas=scott dumpfile=expdp.dmp directory=dpdata1;

2)並行程序parallel

expdp scott/tiger@orcl directory=dpdata1 dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名導

expdp scott/tiger@orcl tables=emp,dept dumpfile=expdp.dmp directory=dpdata1;

4)按查詢條件導

expdp scott/tiger@orcl directory=dpdata1 dumpfile=expdp.dmp tables=emp query='where deptno=20';

5)按表空間導

expdp system/manager directory=dpdata1 dumpfile=tablespace.dmp tablespaces=temp,example;

6)導整個資料庫

expdp system/manager directory=dpdata1 dumpfile=full.dmp full=y;

五、還原資料

1)導到指定使用者下

impdp scott/tiger directory=dpdata1 dumpfile=expdp.dmp schemas=scott;

2)改變表的owner

impdp system/manager directory=dpdata1 dumpfile=expdp.dmp tables=scott.dept remap_schema=scott:system;

3)匯入表空間

impdp system/manager directory=dpdata1 dumpfile=tablespace.dmp tablespaces=example;

4)匯入資料庫

impdb system/manager directory=dump_dir dumpfile=full.dmp full=y;

5)追加資料

impdp system/manager directory=dpdata1 dumpfile=expdp.dmp schemas=system table_exists_action

參考:

[url]

伺服器端資料驗證

現在有乙個方法實現頁面所有textbox 的資料驗證,public static bool checkallitems page page,string strfrmname page 傳過來的 page strfrmname 是頁面上面的 form 的 id 這個方法會檢測畫面上面所有的 text...

Oracle 伺服器端監聽配置

一 靜態註冊 建立埠為1521的監聽,靜態註冊,本機ip 192.168.10.2 listener address list address protocol tcp host 192.168.10.2 port 1521 sid list listener sid list sid desc g...

Oracle 伺服器端配置Listener

listener description list description address protocol ipc key racdb1 address protocol tcp host 192.168.137.10 port 1521 sid list listener sid list si...