由於要導入dmp文件,所以想建立和oracle11一樣的用戶,折騰了半天,記錄一下過程:
1、進入sqlplus,建立用戶和分配權限
cmd>sqlplus /nolog
SQL>conn sys/sys as sysdba
SQL>show con_name;
CON_NAME
------------------------------
CDB$ROOT
SQL>select con_id,dbid,NAME,OPEN_MODE from v$pdbs;
CON_ID DBID NAME OPEN_MODE
---------- ---------- ------------------------------ ----------
2 4066409480 PDB$SEED READ ONLY
3 2270995695 PDBORCL MOUNTED
SQL>alter session set container=PDBORCL;
SQL>startup (這里如果直接建立用戶的話,會提示數據庫未打開)
SQL>create user test identified by test;
SQL>grant connect,resource,dba to test;
SQL>grant create sequence,select any sequence to test;
SQL>select name,pdb from v$services;
NAME PDB
------------------------------ ------------------------------
pdborcl PDBORCL
orclXDB CDB$ROOT
orcl CDB$ROOT
SYS$BACKGROUND CDB$ROOT
SYS$USERS CDB$ROOT
2、根據上面的服務名,修改tnsnames.ora文件,然后導入數據
在oracle_home\product\12.1.0\dbhome_1\NETWORK\ADMIN目錄下找到tnsnames.ora,添加SERVICE_NAME=pdborcl的網絡服務名:
PDBORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = PDBORCL)
)
)
保存並重啟oracle監聽服務,然后用imp導入數據(貌似imp里的@服務名是區分大小寫的,必須和tnsnames.ora里的網絡服務名大小寫一致)
cmd>imp test/test@PDBORCL file=F:\data\data.dmp ignore=y full=y
