Oracle使用imp和impdp導入數據

impdp命令只可導入expdp導出的dmp文件。expdp導出的時候,需要創建 DIRECTORY。
導出什麼表空間,導入也要什麼表空間。導出什麼用戶,導入也要什麼用戶。

  1. 使用imp導入數據
imp user/[email protected]/pdborcl file=e:\xxx.dmp log=e:\xxx.log full=y
  1. 使用impdp導入數據
 - 首先sys登陸
 sqlplus sys/[email protected]/pdborcl as sysdba
 - 創建對應表空間
 create tablespace YUAN datafile 'e:\app\oracle\oradata\oral\YUAN .dbf' 
 size 100m autoextend on next 50m 
 maxsize umlimited extent management local;
 - 創建對應用戶
 create user TIAN identified by 000;
 alter user TIAN default tablespace YUAN;
 grant create any directory,create session,create table,create view,unlimited tablespace to TIAN ;
 - 創建目錄對象
 conn TIAN/000 as sysdba;
 create or repalce directory dump_dir as 'e:\dir'; 
 exit;
 - impdp tian/[email protected]/pdborcl directoru=dump_dir dumpfile=xxx.dmp ingory=y

Oracle 12C引入了CDB與PDB的新特性,在ORACLE 12C數據庫引入的多租用戶環境(Multitenant Environment)中,允許一個數據庫容器(CDB)承載多個可插拔數據庫(PDB)。
CDB全稱爲Container Database,中文翻譯爲數據庫容器。
PDB全稱爲Pluggable Database,即可插拔數據庫。
在ORACLE 12C之前,實例與數據庫是一對一或多對一關係(RAC):即一個實例只能與一個數據庫相關聯,數據庫可以被多個實例所加載。而實例與數據庫不可能是一對多的關係。當進入ORACLE 12C後,實例與數據庫可以是一對多的關係。

遇到oracle12c的PDB數據庫未打開錯誤

show pdbs;
alter pluggaable database PDBORCL open;
alter session set container=PDBORCL;
commit;

Oracle12c開啓scott賬戶

在oracle目錄app\orcl\product\12.1.0\dbhome_1\NETWORK\ADMIN\下tnsnames.ora文件最後加入以下內容
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDBORCL)
)
)
進入sqlplus連接登陸sys賬號,運行以下語句

 conn sys/000 as sysdba;
 alter session set container = PDBORCL;
 startup
 conn sys@pdborcl/000 as sysdba;
 alter user scott account unlock identified by tiger;
 // 創建觸發器,自動啓動PDB
 conn sys/000 as sysdba;
 CREATE OR REPLACE TRIGGER open_all_pdbs
    AFTER STARTUP
    ON DATABASE
    BEGIN
    EXECUTE IMMEDIATE 'alter pluggable database all open';
    END open_all_pdbs;    
    /
 shutdown immediate
 startup

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章