Oracle 10g R2 中 Oracle Wallet 的初步使用和維護

來源:互聯網
上載者:User

1) Wallet作用

從Oracle 10g R2開始, 通過使用Oracle Wallet達到任意使用者不使用密碼登入資料庫(非作業系統認證方式), 這對在shell中要使用使用者密碼登入資料庫進行操作的指令碼來說是非常有用的, 可以不暴露使用者密碼. 比如在Oracle用戶端通過mkstore命令設定Wallet認證資訊, 然後通過"sqlplus /@connect_string"方式就可以直接連接資料庫. 

本例是讓u_test使用者無需使用密碼登入系統, mkstore用法如下:

$ORACLE_HOME/bin/mkstore

mkstore [-wrl wrl] [-create] [-createSSO] [-delete] [-deleteSSO] [-list] [-createEntry alias secret] [-viewEntry alias] [-modifyEntry alias secret] [-deleteEntry alias] [-help]

 

 


2) 建立Wallet, 存放於某目錄下

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

Enter password:<輸入錢包密碼>

Enter password again:<確認錢包密碼>

ll $ORACLE_HOME/network/admin/wallet

total 16

-rw-------  1 oracle oinstall 7940 Sep 24 13:46 cwallet.sso

-rw-------  1 oracle oinstall 7912 Sep 24 13:46 ewallet.p12

 


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

vi $ORACLE_HOME/network/admin/tnsnames.ora

db_utest =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = DataGuard)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = MNTR.LK)

    )

  )

 


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

其中db_utest是前面設定的網路串連串, "iamENCY3_"是使用者u_test的密碼.

$ORACLE_HOME/bin/mkstore -wrl $ORACLE_HOME/network/admin/wallet -createCredential db_utest u_test "iamENCY3_"

Enter wallet password:<輸入錢包密碼>

Create credential oracle.security.client.connect_string1

 


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

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

Enter wallet password:<輸入錢包密碼> 

List credential (index: connect_string username)

1: db_utest u_test

 


6) 加入Wallet位置資訊到sqlnet.ora

vi $ORACLE_HOME/network/admin/sqlnet.ora

WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/u01/app/oracle/product/10.2.0/db_1/network/admin/wallet)))

SQLNET.WALLET_OVERRIDE=TRUE

 


7) 登入OWM(圖形介面), 確認是否自動登入(預設是), 本步只是確認一下可忽略

$ORACLE_HOME/bin/owm &

先open目錄/u01/app/oracle/product/10.2.0/db_1/network/admin/wallet下的Wallet, 然後從功能表列裡查看"Auto Login"是否已經選中.

 


8) 登入測試

sqlplus /@db_utest

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 "U_TEST"

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

 


9) 修改使用者密碼測試

SQL> alter user u_test identified by "iamENCY3_2";

SQL> exit

sqlplus /@db_utest

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

 

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

$ORACLE_HOME/bin/mkstore -wrl $ORACLE_HOME/network/admin/wallet/ -modifyCredential db_utest u_test "iamENCY3_2"

Enter wallet password:<輸入錢包密碼>

Modify credential 

Modify 1

 

11) 刪除Wallet認證的方法

$ORACLE_HOME/bin/mkstore -wrl $ORACLE_HOME/network/admin/wallet/ -deleteCredential db_utest

Enter wallet password:<輸入錢包密碼>

Delete credential 

Delete 1

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.