Linux服務器下對Oracle數據庫expdp(導出)和impdp(導入)


      緊接上篇文章,Oracle數據庫架構已經創建完成,我的需求是:將老服務器上的數據庫遷移到新的數據庫上

這就用到impdp(導入)操作。

要想實現對新數據庫的impdp(導入)工作,

首先需要從老的數據庫上做expdp(導出)操作,命令如下:

      expdp 用戶名/密碼 schemas=iirspublish dumpfile=導出數據庫名.dmp DIRECTORY=目錄名 logfile=導出日志.log

     備注:schemas,你用“用戶 user”來理解就很容易了,每個模式(user)下可以有一套互不干擾的對象。

    你如果想要訪問其他模式的對象,需要指定schema的name,實際就是指定username。

下面這些步驟是我在實際工作中實踐過的,

准備工作:首先用Xshell連接到Linux服務器,並切換至oracle賬號,

[root@localhost ~]# su - oracle

Last login: Fri Jul 21 13:49:22 CST 2017 on pts/1    (成功切換

[oracle@localhost ~]$ sqlplus sys/ as sysdba

切換到

SQL>

然后依次執行如下命令:

1、sys用戶登錄創建目錄

SQL>create directory dir_iirsuserbaknew as '/u01/app/oracle/oradata'; (創建目錄並分配存放路徑)

2、sys用戶下創建表空間

SQL>create tablespace IIRSUSER datafile '/u01/app/oracle/oradata/IIRSUSER01' size 100m Autoextend on next 100m,'/u01/app/oracle/oradata/IIRSUSER02' size 100m Autoextend on next 100m Extent management local uniform size 200k;(創建表空間,設置文件自動增長空間大小)

3、sys用戶下創建用戶

SQL>create user iirsuser identified by "iirsuser" Default tablespace IIRSUSER Temporary tablespace temp; (創建用戶名,設置密碼,並指明默認表空間和臨時表空間)

SQL>grant dba,connect,resource to iirsuser; (給用戶授予dba、基礎、開發權限)

4、sys用戶下

SQL>Grant read,write on directory dir_iirsuserbaknew to iirsuser;  (將目錄的讀寫權限授予用戶)

5、DOS下Impdp還原                                                        

[oracle@localhost ~]$impdp iirsuser/"iirsuser"@orcl directory=dir_iirsuserbaknew dumpfile=ExpIirspublish20170814.dmp remap_tablespace=IIRSPublish:IIRSUSER remap_schema=iirspublish:iirsuser logfile=impdbiirspublish20170814.log transform=oid:n

第5步需要退出(exit)SQL命令行至Oracle賬號下執行。

需要解釋的是:

impdp 用戶名/"密碼"@sid directory=目錄 dumpfile=老數據庫expdp得到的實例名.dmp remap_tablespace=老數據庫空間名:新數據庫空間名 remap_schema=老數據庫用戶名:新數據庫用戶名 logfile=impdb日志名.log transform=該參數可以去掉,應用於適用對象的元數據轉換

需要強調的是:

問題1:如果你在操作的過程中忘記了自己建的目錄,可以用命令(select * from dba_directories;)查詢;

問題2:如果想刪除新還原好的數據庫實例,那么需要執行以下操作

1)、首先刪除用戶

-----drop USER c#iirsuser CASCADE;

2)、其次刪除表空間包括表空間的內容和數據文件

-----drop tablespace IIRSUSER including contents and datafiles cascade constraints;

3)、最后刪除目錄

-----drop directory dir_iirsuserbaknew;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM