修改Oracle預設的認證方式
Oracle預設的認證方式是OS認證,所以如果以安裝oracle的賬號登陸伺服器,就不需要登入資料庫,只要在伺服器端不用輸入使用者名稱密碼就可以以DBA許可權登入資料庫:
show user也可以看出,不管用什麼登入都能通過,並且都是SYS使用者。
解決方法:
只要到下面目錄下,修改sqlnet.ora檔案中的SQLNET.AUTHENTICATION_SERVICES引數即可,下次登入的時候將不會再是ODS認證的了:
windows下如果將該引數設定為NTS或者ALL或者註釋掉才可以使用OS認證,設定為NONE或者任何其他值都不能使用OS認證
linux下如果設定為ALL或者註釋掉才可以使用OS認證,設定為任何其他值都不能使用OS認證。
現在看看效果:
另外,如果你需要賦給linux其他使用者執行oracle的許可權,那麼可以這麼做:
將使用者新增到oinstall使用者組下即可:
當然,還需要配置使用者的環境變數:
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
#PATH=$PATH:$HOME/bin
export ORACLE_BASE=/home/oracle/oracle
export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
export ORACLE_SID=orclsid
export PATH=$ORACLE_HOME/bin:$PATH
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export LANG=AMERICAN_AMERICAN.ZHS16GBK
#export PATH