程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> Linux操作系統上用數據泵導庫,linux

Linux操作系統上用數據泵導庫,linux

編輯:Oracle教程

Linux操作系統上用數據泵導庫,linux


1、在Linux上 創建物理目錄dp_dir,存放數據庫.dmp文件;

用root用戶登錄,切換到oracle用戶,用oralce身份創建物理目錄如下:

[root@server36 oracle]# su - oracle

[oracle@server36 ~]$ mkdir /home/oracle/dp_dir

將數據庫文件備份到 /home/oracle/dp_dir下,方法:可以用WinSCP遠程登錄主機後,.DMP文件拖拽到目錄下,但顯示該.DMP文件的所有者是root,所屬組是root;故需要更換文件所屬用戶、所屬組,如下:

切換到root用戶:

[root@server36 /]# cd  /home/oracle/dp_dir

[root@server36 dp_dir]# ls -l

?昏. 2489816
-rw-r--r-- 1 oracle oinstall 28352512 05-08 09:33 EFMIS_23_YANSHI_201505080906.dmp
-rwxr-xr-x 1 oracle oinstall 29253632 05-11 09:06 EFMIS_23_YANSHI_201505110900.dmp
-rw-r--r-- 1 root root 95219712 05-11 15:35 hqoatest_20150511.dmp
-rw-r--r-- 1 oracle oinstall 436692 05-08 09:58 imp_EFMIS_23_YANSHI_201505080906.log
-rw-r--r-- 1 oracle oinstall 107675 05-08 09:45 imp_EFMIS_ZY_201505080910.log
-rw-r--r-- 1 oracle oinstall 464659 05-11 17:17 import.log
[root@server36 dp_dir]# chown oracle hqoatest_20150511.dmp    /*更換.dmp文件所屬用戶*/

[root@server36 dp_dir]# ls -l

-rw-r--r-- 1 oracle root       95219712 05-11 15:35 hqoatest_20150511.dmp

[root@server36 dp_dir]# chgrp oinstall hqoatest_20150511.dmp    /*更換.dmp文件所屬用戶組*/

[root@server36 dp_dir]# ls -l

-rw-r--r-- 1 oracle oinstall   95219712 05-11 15:35 hqoatest_20150511.dmp

[root@server36 dp_dir]# chmod +x hqoatest_20150511.dmp    /*對.dmp文件添加可執行權限*/

[root@server36 dp_dir]# ls -l 

-rwxr-xr-x 1 oracle oinstall   95219712 05-11 15:35 hqoatest_20150511.dmp

 

2、創建數據庫邏輯目錄dp_dir

數據庫目錄只允許sys創建,普通用戶使用時,必須被授權,才可使用;

假設dyl用戶是導入導出用戶;

[root@server36 dp_dir]# su - oracle
[oracle@server36 ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.3.0 Production on Mon May 11 17:34:11 2015

Copyright (c) 1982, 2011, Oracle. All rights reserved.


Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>select * from dba_directories;    /*查詢邏輯目錄*/

SQL> create directory dp_dir as '/home/oracle/dp_dir';    /*創建數據庫邏輯目錄*/

Directory created.

 

3、創建新用戶,並對新用戶附可執行.dmp文件權限

SQL>create user dyl identified by 1;     /*創建新用戶,密碼為1*/

User created.

SQL> grant read,write on directory dp_dir to dyl;     /*對用戶dyl附加對目錄dp_dir可讀可執行的權限,用system身份附權限*/

Grant succeeded.

4、數據泵導出數據
1)按用戶導
expdp system/manager schemas=scott DIRECTORY=dpdata dumpfile=expdp.dmp ;
2)並行進程parallel
expdp system/manager directory=dpdata dumpfile=scott3.dmp parallel=40 job_name=scott3

3)按表名導
expdp system/manager TABLES=emp,dept directory=dpdata dumpfile=expdp.dmp;
4)按查詢條件導
expdp system/manager directory=dpdata dumpfile=expdp.dmp Tables=emp query='WHERE deptno=20';
5)按表空間導
expdp system/manager DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=temp,example;
6)導整個數據庫
expdp system/manager DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;

5、還原數據
1)導到指定用戶下
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=scott;
2)改變表的owner
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp TABLES=scott.dept REMAP_SCHEMA=scott:system;
3)導入表空間
impdp system/manager DIRECTORY=dpdata DUMPFILE=tablespace.dmp TABLESPACES=example;
4)導入數據庫
impdb system/manager DIRECTORY=dpdata DUMPFILE=full.dmp FULL=y;

5)追加數據
impdp system/manager DIRECTORY=dpdata DUMPFILE=expdp.dmp SCHEMAS=system TABLE_EXISTS_ACTION=append;
6)並行命令
從oss_scap_83(db_link名)導出scap用戶,然後導入到本地數據庫上scap用戶上
impdp system/oracle NETWORK_LINK=oss_scap_83 directory=dpdata SCHEMAS=scap job_name=expdmp parallel=4

附:

不同用戶不同表空間下的導入操作:

       impdp 用戶名/密碼 directory='您創建的目錄的名稱' dumpfile='導出的文件名稱'

remap_schema=導出的用戶名稱:要導入的用戶名稱 remap_tablespace=導出的表空間名稱:要導入的表空間名稱

 

例如:

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved