關于建立連接和用戶帳號安全 本篇介紹的知識比較基礎,而且大部分人都很熟了,但是既然是系列,就不能斷章來寫,大家看看也還是有一定的啟發的. 1:connect internal將不再起作用,在9i中完全使用as sysdba方式代替. 2:svrmgr治理控制臺被取消.在過去,svrmgr和sqlplus的差別就很小, svrmgr的非凡指令在8i以后的版本都可以在sqlplus里實現. 9i在取消svrmgr的同時,將它的starup,shutdown等功能都轉移到sqlplus里.你可以用sqlplus "/ as sysdba"來實現這些功能.
注重:以sysoper 或者sysdba權限連接到數據庫將自動被審計.
另外svrmgr里的charwidth指令被取消. 3:連接示例:
$ sqlplus
SQL*Plus: Release 9.0.1.0.0 - PRodUCtion on Mon Jul 02 06:17:41
2001 (c) Copyright 2000 Oracle Corporation. All rights reserved.
Enter user-name: system/manager
Connected to an idle instance.
SQL> connect internal
[color=red:2e0b146393] --連接失敗,因為已經被取消.[/color:2e0b146393]
Enter passWord: oracle
ERROR:
ORA-09275: CONNECT INTERNAL is not a valid DBA connection
Warning: You are no longer connected to ORACLE.
SQL> connect sys/change_on_install
ORA-28009: connection to sys should be as sysdba or sysoper [color=red:2e0b146393]-- 當數據庫啟動時[/color:2e0b146393]
ORA-01034: ORACLE not available[color=red:2e0b146393] -- 當數據庫沒有啟動的時候[/color:2e0b146393]
SQL> connect sys/change_on_install as sysdba
Connected to an idle instance.[color=red:2e0b146393] -- 以sysdba身份可以連接,在服務器端經過os認證的,此處可以輸入任意用戶名,密碼,假如遠程,或者沒有經過操作系統認證,則需要輸入正確的用戶名密碼,遠程需加上正確的連接串.[/color:2e0b146393]
SQL> connect / as sysdba [color=red:2e0b146393]-- 操作系統認證,在服務器上可以不需要輸入用戶名,密碼.[/color:2e0b146393]
Connected to an idle instance.
[color=green:2e0b146393]注重:這些特性在過去的版本中已經可以實現.[/color:2e0b146393] 4:在我們用dbca建立數據庫時已經把除sys,system,scott之外的用戶都鎖起來的,不需要象以前版本,建好庫之后需要把不必要的帳號刪掉,另外用戶是沒有默認密碼的,比如過去system 的默認密碼為manager,而在9i中除了scott,其他用戶的密碼都是需要重新設定的,包括system.
[color=green:2e0b146393](注:在我們用create database手動建立數據庫的時候,sys,system的默認密碼跟以前的版本是相同的即:change_on_install,manager.)
解除帳號鎖定用alter user xx account unlock;
設定新密碼用:alter user xx identified by xxxxx;[/color:2e0b146393] 5:在過去的版本中07_dictionary_accessibillty默認值是true,
也就是所有的擁有select any table權限的用戶都可以訪問數據字典,但是9i將這一參數更改為false,也就是只有擁有sysdba 權限的用戶才能查詢數據字典.