標籤:提示 oca ddr net 資料庫 splay dba data oracle
由於要匯入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/[email protected] file=F:\data\data.dmp ignore=y full=y
oracle12建立非C##使用者並且匯入資料