`

Oracle10gR2 中 Oracle Wallet 的初步使用和维护

阅读更多

1) Wallet作用

从Oracle10gR2开始, 通过使用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


分享到:
评论

相关推荐

    Linux系统Oracle11gR2 RAC安装配置详细记录过_oracle_bush3rl_

    在本资料中,我们主要探讨的是在Linux操作系统上安装和配置Oracle 11g Release 2 (11gR2) Real Application Clusters (RAC)的详细过程。Oracle RAC是一种高可用性解决方案,它允许多个实例同时访问同一个数据库,...

    win64_11gR2_client.zip

    3. Net Services:在Oracle 11gR2中,Net Services是Oracle网络通信层的一部分,负责处理客户端与服务器之间的连接。TNSNames.ora文件是其配置文件,包含服务器的连接信息,如服务名、主机地址、端口号等。 4. ...

    OracleClient-11gR2 Oracle客户端,包括windows和Linux

    在Oracle Client 11gR2中,有以下几个关键知识点: 1. **网络组件**:Oracle Net Services是Oracle Client的核心部分,它负责客户端和数据库服务器之间的通信。Net Services支持多种协议,如TCP/IP、 Named Pipes和...

    windows64_11gR2_客户端.rar

    它可能包含在"windows64_11gR2_客户端.rar"中,适用于那些只需要连接Oracle数据库但不需要全部客户端功能的场景。 5. **OCI (Oracle Call Interface)**:Oracle的API接口,允许C/C++等语言编写的应用程序直接与...

    oracle 11G新建加密表空间

    Oracle建议为每个加密功能(如TDE和表空间加密)使用单独的钱包,以提高安全性。你可以通过修改sqlnet.ora文件来指定wallet的位置。例如,以下是在sqlnet.ora文件中添加的配置: ```text ENCRYPTION_WALLET_...

Global site tag (gtag.js) - Google Analytics