orapwd建立密碼及驗證方法

lusklusklusk發表於2017-11-06
orapwd file=$ORACLE_HOME/dbs/orapwSID password=xx
file名的格式必須是orapw+ORACLE_SID,否則不會正常

[oracle@GI_Softwareonly_64 dbs]$ orapwd
Usage: orapwd file= entries= force= ignorecase= nosysdba=
  where
    file - name of password file (required),
    password - password for SYS will be prompted if not specified at command line,
    entries - maximum number of distinct DBA (optional),
    force - whether to overwrite existing file (optional),
    ignorecase - passwords are case-insensitive (optional),
    nosysdba - whether to shut out the SYSDBA logon (optional Database Vault only).    
  There must be no spaces around the equal-to (=) character.



CREATE DATABASE TDB
   USER SYS IDENTIFIED BY sys_password
   ....
雖然會有sys使用者,且使用者狀態OPNE,但是
$ORACLE_HOME/dbs下面不會有密碼檔案
SQL> select * from v$pwfile_users沒有結果
sqlplus sys/XX@PROD1 as sysdba報錯許可權不夠
sqlplus sys/XX@PROD1無法登陸,提示需要sysdba或sysopen
SQL> grant sysdba to sys報錯ORA-01994: GRANT failed: password file missing or disabled
一旦$ORACLE_HOME/dbs下面有密碼檔案,則alter user sys identified時,ls -tl時,密碼檔案的時間會變成alter user sys identified的執行時間

試驗證明1:
先使用orapwd建立了密碼A,再使用create database user sys建立了密碼B,真正的密碼是A,使用密碼B登入時sqlplus sys/B@prod_s as sysdba是會報錯ORA-01017: invalid username/password; logon denied,使用密碼A登入時sqlplus sys/A@prod_s as sysdba正常
試驗證明2:CREATE DATABASE TDB USER SYSTEM發現,system使用者自動有DBA許可權了



比如ORACLE_SID=PROD1,對應的tns也是PROD1
1、
sqlplus sys/XX@PROD1 as sysdba
報錯ORA-01017: invalid username/password; logon denied,說明正常配置,只是sys後面的密碼XX錯誤了
報錯ORA-01031: insufficient privileges,說明沒有配置成功

2、
SQL> select * from v$pwfile_users;
有結果,說明正常配置
沒有結果,說明沒有配置成功




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30126024/viewspace-2146901/,如需轉載,請註明出處,否則將追究法律責任。

相關文章