oracle 12c 解決pdb中使用者無法登入問題的詳細步驟
oracle 12c 解決pdb中使用者無法登入的問題
oracle12c 有一個很大的變動就是引入了pdb可插入資料庫,而且在cdb中只能建立c##或者C##開頭的使用者,只有在pdb資料庫中才能建立我們習慣性命名的使用者,oracle稱之為Local User,前者稱之為Common User。在pdb中新建使用者,發現無法直接連線新使用者,下面是解決方案:
1.首先進入pdb
alter session set container=orcl;
show con_name;
2.建立新使用者,並賦權
create user scott identified by oracle;
grant connect,resource to scott;
3.直接連線新建使用者發現無法連線,
直接登入是不可以的:
SQL> conn scott/oracle
ERROR:
ORA-01017: invalid username/password; logon denied
4.通過下面方式解決:
因為CDB和PDB的servicename可能是不一樣的,需要先查詢pdb的service_name
SQL> select name,pdb from v$services;
NAME PDB
-------------------- --------------------
orcl ORCL
vi tnsnames.ora 編輯tnsnames檔案,新增下面內容
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl) 把查詢到pdb對應的service_name寫到這裡
)
)
必須要加上tnsnames的連線串才可以連線使用者:
SQL> conn scott/[email protected]
Connected.
SQL> show user
USER is "SCOTT"
連線成功!