首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > 其他数据库 >

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

2012-07-31 
Oracle10gR2 中 Oracle Wallet 的初步使用和维护1)?Wallet作用从Oracle10gR2开始,?通过使用Oracle?Wallet

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


热点排行