當(dāng)創(chuàng)建一個(gè)新數(shù)據(jù)庫(kù)時(shí),系統(tǒng)默認(rèn)創(chuàng)建一些數(shù)據(jù)庫(kù)用戶(hù),如Sys、System和Scott等。Sys和System都是Oracle的系統(tǒng)用戶(hù),Scott是Oracle數(shù)據(jù)庫(kù)的一個(gè)示范賬戶(hù),里面有一些測(cè)試樣例表。
1.Sys,是Oracle中的一個(gè)超級(jí)用戶(hù)。數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)字典和視圖都存儲(chǔ)在SYS模式中。數(shù)據(jù)存儲(chǔ)了用來(lái)管理數(shù)據(jù)庫(kù)對(duì)象的所有信息。主要用來(lái)維護(hù)系統(tǒng)信息和管理實(shí)例。Sys只能以SYSOPER或SYSDBA角色登錄系統(tǒng)。
2.System,是Oracle中默認(rèn)的系統(tǒng)管理員,它擁有DBA權(quán)限。該用戶(hù)擁有Oracle管理工具使用的內(nèi)部表和視圖。管理Oracel數(shù)據(jù)庫(kù)的用戶(hù)、權(quán)限和存儲(chǔ)等。不建議在System模式中創(chuàng)建用戶(hù)表。System不能以SYSOPER或SYSDBA角色登錄系統(tǒng),只能以默認(rèn)方式登錄。
3.Scott,用戶(hù)是一個(gè)示范用戶(hù)包含4個(gè)示范表,其中一個(gè)是Emp表。使用USERS表空間存儲(chǔ)模式對(duì)象。每個(gè)用戶(hù)都有一個(gè)默認(rèn)表空間和一個(gè)臨時(shí)表空間。Oracle將USERS設(shè)為默認(rèn)表空間,將TEMP設(shè)為臨時(shí)表空間。
在使用scott登錄時(shí)無(wú)法登錄,查詢(xún)到scott用戶(hù)可能被鎖定,于是用一下方法解鎖:
sqlplus(空格)/nolog 回車(chē)
conn sys/password as sysdba回車(chē)
提示已連接
alter user scott identified by tiger;回車(chē)
alter user scott account unlock;回車(chē)(對(duì)SCOTT解鎖)
提示scott用戶(hù)不存在,于是用以下方法導(dǎo)入scott用戶(hù):
@C:\app\Mount\virtual\product\12.2.0\dbhome_1\rdbms\admin\scott.sql
仍然提示scott用戶(hù)不存在,發(fā)現(xiàn)這是11g版本的方法,行不通,找到12c版本的方法如下:oracle 12c導(dǎo)入scott用戶(hù)方法
第二天想繼續(xù)連接scott用戶(hù)學(xué)習(xí)發(fā)現(xiàn)連接不上,出現(xiàn)如下錯(cuò)誤:
ORA-01033:oracle初始化或者關(guān)閉錯(cuò)誤
然后想到先執(zhí)行:alter session set container=orclpdb;再連接scott,出現(xiàn)如下錯(cuò)誤:
ORA-65054: Cannot open a pluggable database in the desired mode.
通過(guò)網(wǎng)絡(luò)搜索到原因是:
You can't open a PDB until you startup the instance to open the root/cdb.
于是再連接sys賬戶(hù)后,先打開(kāi)CDB$ROOT數(shù)據(jù)庫(kù)實(shí)例:
alter database open;
數(shù)據(jù)庫(kù)已更改。
alter session set container=orclpdb;
會(huì)話(huà)已更改。
startup
插接式數(shù)據(jù)庫(kù)已打開(kāi)。
conn scott/tiger@orclpdb
已連接。