建立使用者

Oracle 12c 建立新使用者

Oracle12c 導入CDB/PDB 多租戶架構,直接在容器資料庫(CDB)建立一般使用者會報錯。在CDB裡建立的共用使用者名稱,必須加上 c## / C## 做為前綴。

登入

  1. 開啟 Windows cmd,啟動 sqlplus
sqlplus
  1. 使用超級管理員帳號登入資料庫
請輸入使用者名稱: sys as sysdba
輸入口令: 【填寫安裝時設定的sys密碼】Code language: HTTP (http)

登入成功提示:連線到: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

建立使用者

錯誤寫法

目標:建立使用者 cat,密碼 123456
執行SQL:

CREATE USER cat IDENTIFIED BY 123456;
ORA-65096: 共用使用者名稱或角色名稱無效Code language: HTTP (http)

報錯原因:目前位於CDB根容器,建立共用使用者(Common User)名稱強制要求前綴 c##cat 不符合命名規範。

正確建立共用使用者

執行SQL:

CREATE USER c##cat IDENTIFIED BY Bm123321;Code language: CSS (css)

執行結果:使用者已建立。

指派使用者權限

錯誤授權語法
GRANT CONNECT, RESOURCE, DBA TO cat;
ORA-01917: 使用者或角色 'CAT' 不存在Code language: JavaScript (javascript)

使用者名稱是 c##cat,授權時使用者名稱必須和建立時完全一致,不能簡寫成cat

正確授權語法
GRANT CONNECT, RESOURCE, DBA TO c##cat;Code language: CSS (css)

權限說明:

  1. CONNECT:基礎登入連線權限
  2. RESOURCE:開發常用資源角色,允許建立資料表、索引等物件
  3. DBA:完整資料庫管理員權限(測試環境使用,正式環境不建議隨意指派)

新使用者登入驗證

  1. 執行 exit 離開sys管理員工作階段,重新開啟sqlplus
SQL> exitCode language: PHP (php)
  1. 嘗試錯誤登入
請輸入使用者名稱: cat
輸入口令: 123456Code language: HTTP (http)

報錯:ORA-01017: 使用者名稱/密碼無效; 登入被拒絕

  1. 正確登入方式
請輸入使用者名稱: c##cat
輸入口令: 123456Code language: HTTP (http)

成功連接資料庫。

建立使用者

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *