Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选

首页 / 数据库 / MySQL / Oracle 10g R2 中 Oracle Wallet 的初步使用和维护

1) Wallet作用从Oracle 10g R2开始, 通过使用Oracle Wallet达到任意用户不使用密码登录数据库(非操作系统认证方式), 这对在shell中要使用用户密码登录数据库进行操作的脚本来说是非常有用的, 可以不暴露用户密码. 比如在Oracle客户端通过mkstore命令设置Wallet认证信息, 然后通过"sqlplus /@connect_string"方式就可以直接连接数据库. 本例是让u_test用户无需使用密码登录系统, mkstore用法如下:$ $ORACLE_HOME/bin/mkstoremkstore [-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 -createEnter password:<输入钱包密码>Enter password again:<确认钱包密码>$ ll $ORACLE_HOME/network/admin/wallettotal 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.oradb_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 -listCredentialEnter wallet password:<输入钱包密码> List credential (index: connect_string username)1: db_utest u_test 
6) 加入Wallet位置信息到sqlnet.ora$ vi $ORACLE_HOME/network/admin/sqlnet.oraWALLET_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_utestSQL*Plus: Release 10.2.0.4.0 - Production on Thu Sep 24 14:05:17 2009Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.Connected to:Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - ProductionWith the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> show user;USER is "U_TEST"登录成功, 设置完毕!以后就可以在shell里直接使用"sqlplus /@db_utest"登录数据库操作了, 无需设置密码. 
9) 修改用户密码测试SQL> alter user u_test identified by "iamENCY3_2";SQL> exit$ sqlplus /@db_utestSQL*Plus: Release 10.2.0.4.0 - Production on Thu Sep 24 14:07:05 2009Copyright (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_utestEnter wallet password:<输入钱包密码>Delete credential Delete 1Linux下用OCCI或OCI连接Oracle数据库Oracle 10g配置Dataguard的相关参数解释相关资讯      Oracle教程 
  • Oracle中纯数字的varchar2类型和  (07/29/2015 07:20:43)
  • Oracle教程:Oracle中查看DBLink密  (07/29/2015 07:16:55)
  • [Oracle] SQL*Loader 详细使用教程  (08/11/2013 21:30:36)
  • Oracle教程:Oracle中kill死锁进程  (07/29/2015 07:18:28)
  • Oracle教程:ORA-25153 临时表空间  (07/29/2015 07:13:37)
  • Oracle教程之管理安全和资源  (04/08/2013 11:39:32)
本文评论 查看全部评论 (0)
表情: 姓名: 字数