当前位置:  数据库>oracle

Oracle wallet实现无需输入用户名与密码登陆数据库

    来源: 互联网  发布时间:2017-05-07

    本文导语: 在Oracle 10G前,我们在SHELL或JDBC中连接数据库时,都需要输入用户名与密码,并且都是明文。从1OGR2开始,ORACLE提供wallet这个工具,可以实现无需输入用户名与密码就可以登陆数据库,如下: 一般情况:sqlplus scott/oracle@htzdg 用walle...

在Oracle 10G前,我们在SHELL或JDBC中连接数据库时,都需要输入用户名与密码,并且都是明文。从1OGR2开始,ORACLE提供wallet这个工具,可以实现无需输入用户名与密码就可以登陆数据库,如下:

一般情况:sqlplus scott/oracle@htzdg

用wallet后:sqlplus /@htzdg

测试环境:

server :solaris 10,oracle 11gr2

client :win 7,oracle11gr2

登陆端配置tnsnames.ora文件,增加下面几行

  • HTZDG = 
  •   (DESCRIPTION = 
  •     (ADDRESS_LIST = 
  •       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.30)(PORT = 1521)) 
  •     ) 
  •     (CONNECT_DATA = 
  •       (SERVER = DEDICATED) 
  •       (SERVICE_NAME = htzdg) 
  •     ) 
  •   ) 
  • 测试是否可以正常解析

  • C:Usersluoping>tnsping htzdg 
  •  
  • TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 29-8月 - 
  • 2012 21:40:40 
  •  
  • Copyright (c) 1997, 2010, Oracle.  All rights reserved. 
  •  
  • 已使用的参数文件: 
  • D:appluopingproduct11.2.0client_1networkadminsqlnet.ora 
  •  
  •  
  • 已使用 TNSNAMES 适配器来解析别名 
  • 尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1 
  • 68.100.30)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = h 
  • tzdg))) 
  • OK (40 毫秒) 
  •  
  • C:Usersluoping> 
  • 下面是开始配置wallet

        1,创建一个wallet
  • D:appluopingproduct11.2.0client_1BIN>mkstore -wrl D:appluopingproduct11.2.0client_1pstore -create 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  • 输入口令: 
  • 再次输入口令: 
  • D:appluopingproduct11.2.0client_1BIN>cd ../ 
  • D:appluopingproduct11.2.0client_1>cd pstore 
  • D:appluopingproduct11.2.0client_1pstore>dir 
  •  驱动器 D 中的卷是 DATA 
  •  卷的序列号是 D60C-09BD 
  •  D:appluopingproduct11.2.0client_1pstore 的目录 
  • 2012/08/29  15:39              . 
  • 2012/08/29  15:39              .. 
  • 2012/08/29  15:39             3,589 cwallet.sso 
  • 2012/08/29  15:39             3,512 ewallet.p12 
  •                2 个文件          7,101 字节 
  •                2 个目录 368,717,893,632 可用字节 
  •    2,启动wallet与指定wallet位置

  • D:appluopingproduct11.2.0client_1networkadmin>more sqlnet.ora 
  • # sqlnet.ora Network Configuration File: D:appluopingproduct11.2.0client_1 
  • networkadminsqlnet.ora 
  • # Generated by Oracle configuration tools. 
  •  
  • # This file is actually generated by netca. But if customers choose to 
  • # install "Software Only", this file wont exist and without the native 
  • # authentication, they will not be able to connect to the database on NT. 
  •  
  • SQLNET.AUTHENTICATION_SERVICES= (NTS) 
  •  
  • NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 
  • WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=D:appluopingproduct11.2.0client_1pstore))) 
  • SQLNET.WALLET_OVERRIDE=TRUE 
  •      3,增加需要登陆的网络服务名,用户,密码到wallet中

  • D:appluopingproduct11.2.0client_1BIN>mkstore -wrl D:appluopingproduct1 
  • 1.2.0client_1pstore -createCredential htzdg sys oracle 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • 输入 Wallet 口令: 
  •  
  • Create credential oracle.security.client.connect_string1 
  •      4,测试是否成功

  • D:appluopingproduct11.2.0client_1BIN>sqlplus /@htzdg as sysdba 
  •  
  • SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:48:27 2012 
  •  
  • Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  •  
  •  
  • 连接到: 
  • Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  • With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  •  
  • SQL> 
  •     5,查看wallet中配置的网络服务名

  • D:appluopingproduct11.2.0client_1BIN>mkstore -wrl d:appluopingproduct1 
  • 1.2.0client_1pstore -listCredential 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • 输入 Wallet 口令: 
  •  
  • List credential (index: connect_string username) 
  • 1: htzdg sys 
  •     6,一个网络服务名,只能对应一个用户,如果相同的数据库有多少用户需要在同一个client通过wallet实现时,我们需要每一个用户,创建一个网络服务名。

        下面是测试一个网络服务名,相增加两个用户时,报错。

  • C:Usersluoping>mkstore -wrl D:appluopingproduct11.2.0client_1pstore -cre 
  • ateCredential htzdg scott oracle 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • 输入 Wallet 口令: 
  •  
  • Create credential 出现密钥存储错误: oracle.security.pki.OracleSecretStoreExcepti 
  • on: Credential already exists 
  •      7,当密码修改后,要手动更新wallet中相应的密码。不然要报错的。

  • D:appluopingproduct11.2.0client_1BIN>sqlplus /@htzdg as sysdba 
  •  
  • SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:45:56 2012 
  •  
  • Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  •  
  •  
  • 连接到: 
  • Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  • With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  •  
  • SQL> 
  • SQL> alter user sys identified by htz; 
  •  
  • 用户已更改。 
  •  
  • SQL> exit 
  • 从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  • With the Partitioning, OLAP, Data Mining and Real Application Testing options 断 
  • 开 
  •  
  • D:appluopingproduct11.2.0client_1BIN>sqlplus /@htzdg as sysdba 
  •  
  • SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:46:25 2012 
  •  
  • Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  •  
  • ERROR: 
  • ORA-01017: invalid username/password; logon denied 
  •  
  •  
  • 请输入用户名: 
  •  
  • D:appluopingproduct11.2.0client_1BIN>mkstore -wrl D:appluopingproduct1 
  • 1.2.0client_1pstore -modifyCredential htzdg sys 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • 命令行中缺少您的密钥/口令 
  • 请输入您的密钥/口令: 
  •  
  • 请重新输入您的密钥/口令: 
  •  
  • 输入 Wallet 口令: 
  •  
  • Modify credential 
  • Modify 1 
  •  
  • D:appluopingproduct11.2.0client_1BIN> 
  •  
  • D:appluopingproduct11.2.0client_1BIN>mkstore -wrl D:appluopingproduct1 
  • 1.2.0client_1pstore -modifyCredential htzdg sys 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • 命令行中缺少您的密钥/口令 
  • 请输入您的密钥/口令: 
  •  
  • 请重新输入您的密钥/口令: 
  •  
  • 输入 Wallet 口令: 
  •  
  • Modify credential 
  • Modify 1 
  •  
  • D:appluopingproduct11.2.0client_1BIN> 
  • D:appluopingproduct11.2.0client_1BIN>sqlplus /@htzdg as sysdba 
  •  
  • SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:48:27 2012 
  •  
  • Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  •  
  •  
  • 连接到: 
  • Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  • With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  •  
  • SQL> 
  •      8,手动删除wallet中的记录

  • D:appluopingproduct11.2.0client_1BIN>mkstore -wrl d:appluopingproduct1 
  • 1.2.0client_1pstore -deleteCredential htzdg 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • 输入 Wallet 口令: 
  •  
  • Delete credential 
  • Delete 1 
  •      9,mkstore命令帮忙手册

  • D:appluopingproduct11.2.0client_1BIN>mkstore 
  • Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  • 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  •  
  • mkstore [-wrl wrl] [-create] [-createSSO] [-createLSSO] [-createALO] [-delete] [ 
  • -deleteSSO] [-list] [-createEntry alias secret] [-viewEntry alias] [-modifyEntry 
  •  alias secret] [-deleteEntry alias] [-createCredential connect_string username p 
  • assword] [-listCredential] [-modifyCredential connect_string username password] 
  • [-deleteCredential connect_string] [-help] [-nologo] 

  •     
     
     
     
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在jsp输入中文->servlet->Session Bean->EntityBean->Oracle就变成一堆?????号。
  • 急!急!100分问题求解(不够可加)输入中文到oracle数据库乱码的问题
  • Oracle SQL使用时注意自己的输入
  • Linux下用SHELL脚本执行带输入输出参数的ORACLE存储过程并得到结果
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g
  • Oracle 10g和Oracle 11g网格技术介绍
  • SCO unix下安装oracle,但没有光盘,请大家推荐一个oracle下载站点(unix版本的)。谢谢!!!!
  • oracle中如何把表中具有相同值列的多行数据合并成一行
  • 请问大家用oracle数据库, 用import oracle.*;下的东西么? 还是用标准库?
  • Oracle 数据库(oracle Database)性能调优技术详解
  • Linux /$ORACLE_HOME $ORACLE_HOME
  • ORACLE日期相关操作
  • Linux系统下Oracle的启动与Oracle监听的启动
  • ORACLE数据库常用字段数据类型介绍
  • 请问在solaris下安装ORACLE,用root用户和用oracle用户安装有什么区别么?
  • Oracle 12c的九大最新技术特性介绍
  • 网间Oracle的连接,远程连接Oracle服务器??


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,