Oracle wallet

tolywang發表於2012-05-10

1) 語法:   $ mkstore 
2) 建立Wallet, 存放於某目錄下

$ $ORACLE_HOME/bin/mkstore -wrl $ORACLE_HOME/network/admin/wallet -create

Enter password: 1qaz2wsx
Enter password again:

$ ls $ORACLE_HOME/network/admin/wallet
cwallet.sso ewallet.p12


3) 建立網路連線串, 注意每個網路連線串對應一個資料庫使用者

查詢 $TNS_ADMIN 找到 tnsnames.ora檔案(有些不是在預設目錄)。

$ vi $ORACLE_HOME/network/admin/tnsnames.ora

db_tony =
 (DESCRIPTION=
 (ADDRESS_LIST=
 (ADDRESS=(PROTOCOL=tcp)(HOST=szxxsr-t)(PORT=1527))
 )
 (CONNECT_DATA=
 (SERVICE_NAME=UAT3)
 )
 )

4) 加入使用者認證資訊到Wallet

其中db_tony 是前面設定的網路連線串, "qiwang1979"是使用者tony的密碼.

$ mkstore -wrl $ORACLE_HOME/network/admin/wallet -createCredential db_tony tony "qiwang1979"
Enter wallet password:
Create credential oracle.security.client.connect_string1


5) 確認使用者認證資訊已經加入到Wallet

$ mkstore -wrl $ORACLE_HOME/network/admin/wallet -listCredential
Enter wallet password:
List credential (index: connect_string username)
1: db_tony tony


6) 加入Wallet位置資訊到sqlnet.ora
查詢 $TNS_ADMIN 找到 sqlnet.ora檔案。

$ vi $ORACLE_HOME/network/admin/sqlnet.ora

WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/oracle/app/oracle/product/11.2.0/db_erp1/network/admin/wallet)))
SQLNET.WALLET_OVERRIDE=TRUE


7) 登入測試
$ sqlplus

SQL*Plus: Release 10.2.0.4.0 - Production on Thu Sep 24 14:05:17 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> show user;
USER is "TONY"

登入成功, 設定完畢!以後就可以在shell裡直接使用"sqlplus "登入資料庫操作了, 無需設定密碼.

8) 修改使用者密碼測試

SQL> alter user tony identified by "wsedrf1324";
SQL> exit

$ sqlplus
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Sep 24 14:07:05 2009
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
ERROR:
ORA-01017: invalid username/password; logon denied

9) 如果修改了使用者密碼, 則需要重新修改認證資訊

$ mkstore -wrl $ORACLE_HOME/network/admin/wallet/ -modifyCredential db_tony tony "wsedrf1324"
Enter wallet password:
Modify credential
Modify 1

10) 刪除Wallet認證的方法

$ mkstore -wrl $ORACLE_HOME/network/admin/wallet/ -deleteCredential db_tony

Enter wallet password:
Delete credential
Delete 1

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

相關文章