1. 程式人生 > >Oracle基礎學習2--Oracle登錄與三種驗證機制

Oracle基礎學習2--Oracle登錄與三種驗證機制

cal log 打開 manage nts 系統管理 user 本地用戶和組 成員

首先,Oracle安裝完畢有三個默認用戶

  ? Sys:數據庫對象的擁有者。權限最高。password在安裝的時候(口令管理)能夠改變

  ? System:數據庫管理員,password為manager

  ? Scott:一個普通用戶,password為tiger

再看連接Oracle的三種驗證機制

  ? 操作系統驗證(具體解釋見以下)

  ? password文件驗證

  ? 數據庫驗證

  註:前兩者適用於系統用戶,比方:SysSystem等;最後一個適用於普通用戶。比方:Scott

再看Oracle的啟動過程

  ? 首先啟動“監聽”

  ? 然後由系統用戶在不登陸(nolog)的情況下進入sqlplus,並連接到數據庫

  ? 然後(由系統用戶)啟動數據庫實例

轉化為命令即例如以下:

  ? lsnrctl start(啟動監聽)

  ? sqlplus/nolog(不登陸)

   conn sys/oracle as sysdba(系統用戶連接到數據庫)

  ? starup(啟動數據庫實例)

  技術分享

  註:conn sys/oracle as sysdba中“/”前的sys為username。“/”後的oracel為password。sysdba的意思是“系統數據庫管理員”,有了這樣的身份,事實上根本不須要usernamepassword就可連接到Oracle

,由於這樣的身份連接時會採用上面的“操作系統驗證”方式,根本不會對username和password進行驗證。

所以我們能夠不寫usernamepassword:conn/as sysdba(“/”不可省略),也能夠隨便寫:conn kb/lbg as sysdba都沒有問題。

  這裏再對“操作系統驗證”進行解釋。它就相當於我們連接SqlServer時的windows身份驗證,由於windows系統管理員默覺得OracleSqlServer的超級管理員,例如以下進行驗證:

  打開計算機管理-- >本地用戶和組-- >-- >ora_dba查看組成員是否包括當前登錄的windows

系統管理員。比如;(我的當前登錄對象為v-wangzhip

  技術分享

  假設存在,就表示windows系統管理員。即為Oracledba(數據庫管理員)。所以不寫username、password默認能夠連接到Oracle,假設從ora_dba中刪除此管理員。那麽再conn/as sysdba連接將提示“權限不足”。

總結

  ? 系統用戶連接Oracle:sqlplus username/password as sysdba(用戶名密碼可任意指定,也可不指定,如:sqlplus/as sysdba 或sqlplus sys/as sysdba或sqlplus sys/admin as sysdba)

  ? 普通用戶連接Oracle:sqlplus username/password(必須指定用戶名、密碼,如:sqlplus scott/tiger)

假設須要指明要訪問的數據庫的服務名(全局數據庫名):

  ? Sqlplus [email protected]_service_name

   如: sqlplus [email protected]

假設須要訪問其他機器上的數據庫服務:

  ? sqlplus username/password@//host:port/sid

   Host--指定數據庫server計算機的主機名或 IP地址。

   Port--指定數據庫server上的監聽port。

   Sid--指定要訪問的數據庫的服務名。

註意:

  ? sys和system須要以sysdba登錄

  ? 在進入sqlplus之後,就能夠使用conn連接到其它用戶,如:conn sys/admin as sysdba或conn scott/tiger

Oracle基礎學習2--Oracle登錄與三種驗證機制