impdp命令只可導入expdp導出的dmp文件。expdp導出的時候,需要創建 DIRECTORY。
導出什麼表空間,導入也要什麼表空間。導出什麼用戶,導入也要什麼用戶。
- 使用imp導入數據
imp user/[email protected]/pdborcl file=e:\xxx.dmp log=e:\xxx.log full=y
- 使用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