一:檢視口令檔案中的使用者
可以檢視v$pwfile_users檢視,該檢視包含了被授予sysdba或sysoper系統許可權的使用者。
二:口令檔案的維護
a. 當授權給乙個使用者sysdba或sysoper許可權的時候,收到ora-1996的錯誤,你要建立乙個大的口令檔案然後在給使用者授權。確保entries引數比你需要的要大。
b. 當使用者被授予sysdba,sysoper許可權的時候,使用者的名字和許可權資訊被加入到口令檔案中,前提是在exclusive模式下。
c.刪除口令檔案,刪除口令檔案然後設定remote_login_passwordfile為none.
三:remote_login_ passwordfile引數
該引數有下面幾個值:
1.none 設定成none後,資料庫就像沒有引數檔案一樣。
2 exclusive 這個是預設的值,口令檔案可以被使用,只有exclusive的檔案能夠被修改,使用乙個exclusive的檔案,你可以新增,修改,刪除使用者,也可以使用alter user命令來改變sys的密碼。
3 shared 乙個shared檔案能被多個資料庫使用,然而該檔案不能被修改,你不能向乙個共享的口令檔案新增使用者。在exclusize模式下新增好使用者後,在變成shared模式。
個人實驗:
sql> alter system set remote_login_passwordfile=none scope=spfile;
系統已更改。
sql> shutdown immediate
sql> startup
sql> select * from v$pwfile_users;
未選定行
看到這時候是查不到記錄了。
sql> grant sysdba to aoerqileng;
grant sysdba to aoerqileng
*第 1 行出現錯誤:
ora-01994: grant 失敗: 口令檔案缺失或已禁用
將windows的作業系統認證去掉
#sqlnet.authentication_services = (nts)
sqlnet.authentication_services = (none)
在登入請輸入使用者名稱: sys/ as sysdba
輸入口令:
error:
ora-01031: insufficient privileges
請輸入使用者名稱: sys/kobebai as sysdba
error:
ora-01017: invalid username/password; logon denied
從上面可以看到在設定成none後,並且在禁用作業系統認證後,無論是作業系統認證還是密碼認證都無法登入。
將remote_login_passwordfile 設定預設的 exclusive,禁用作業系統認證後,通過密碼是能登入的。
請輸入使用者名稱: sys/kobebai as sysdba
連線到:
oracle database 10g enterprise edition release 10.2.0.1.0 - production
with the partitioning, olap and data mining options
上面可以看到口令認證時通過了的。
sql> alter system set remote_login_passwordfile=shared scope=spfile;
系統已更改。
sql> shutdown immediate
sql> startup
sql> grant sysdba to aoerqileng;
grant sysdba to aoerqileng
*第 1 行出現錯誤:
ora-01999: 口令檔案不能在 shared 模式下更新
shared模式下無法跟新
注意在linux下面口令檔案的命名是有要求的,我在試驗的過程中隨便起了乙個名字,結果找不到口令檔案:
sql> select * from v$pwfile_users;
no rows selected
sql> grant sysdba to test;
grant sysdba to test
*error at line 1:
ora-01994: grant failed: password file missing or disabled
linux下的口令命名及發現順序如下:
linux
下的存放位置:
$oracle_home/dbs/orapw$oracle_sid 即:
oracle_home/dbs/orapw
windows
下的存放位置
:$oracle_home/database/pwd%oracle_sid%.ora
密碼檔案查詢的順序
--->orapw--->orapw--->failure
參考:
oracle口令檔案
在資料庫未啟動之前,如果在本地則可以通過作業系統認證來啟動資料庫。但是如果不在本地的話,就得通過口令檔案驗證來啟動資料庫。1 oracle口令檔案的建立 orapwd file password entries force nosysdba 說明file 建立的密碼檔案 password 建立的口令...
Oracle的口令檔案
oracle的口令檔案的作用是存放所有以sysdba或者sysoper許可權連線資料庫的使用者的口令,如果想以sysdba許可權遠端連線資料庫,必須使用口令檔案,否則不能連上,由於sys使用者在連線資料庫時必須以sysdba or sysoper方式,也就是說sys使用者要想連線資料庫必須使用口令檔...
Windows系統口令檔案
windows 9x系統中,有關使用者口令資訊都儲存在windows目錄下擴充套件名為.pwl的檔案中,但這個口令系統是毫無安全性可言的,使用者甚至可以使用esc鍵跳過登入程式,直接進入系統。而windows nt 2000 以後的系統加強了對使用者帳號的安全管理,使用了安全帳號管理器 sam se...