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

本文涉及的产品
云原生数据仓库AnalyticDB MySQL版,基础版 8ACU 100GB 1个月
简介:

    在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文件,增加下面几行

 
  1. HTZDG = 
  2.   (DESCRIPTION = 
  3.     (ADDRESS_LIST = 
  4.       (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.30)(PORT = 1521)) 
  5.     ) 
  6.     (CONNECT_DATA = 
  7.       (SERVER = DEDICATED) 
  8.       (SERVICE_NAME = htzdg) 
  9.     ) 
  10.   ) 

    测试是否可以正常解析

 

 
  1. C:\Users\luoping>tnsping htzdg 
  2.  
  3. TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 29-8月 - 
  4. 2012 21:40:40 
  5.  
  6. Copyright (c) 1997, 2010, Oracle.  All rights reserved. 
  7.  
  8. 已使用的参数文件: 
  9. D:\app\luoping\product\11.2.0\client_1\network\admin\sqlnet.ora 
  10.  
  11.  
  12. 已使用 TNSNAMES 适配器来解析别名 
  13. 尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1 
  14. 68.100.30)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = h 
  15. tzdg))) 
  16. OK (40 毫秒) 
  17.  
  18. C:\Users\luoping> 
   下面是开始配置wallet
    1,创建一个wallet
 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\11.2.0\client_1\pstore -create 
  2. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  3. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  4. 输入口令: 
  5. 再次输入口令: 
  6. D:\app\luoping\product\11.2.0\client_1\BIN>cd ../ 
  7. D:\app\luoping\product\11.2.0\client_1>cd pstore 
  8. D:\app\luoping\product\11.2.0\client_1\pstore>dir 
  9.  驱动器 D 中的卷是 DATA 
  10.  卷的序列号是 D60C-09BD 
  11.  D:\app\luoping\product\11.2.0\client_1\pstore 的目录 
  12. 2012/08/29  15:39    <DIR>          . 
  13. 2012/08/29  15:39    <DIR>          .. 
  14. 2012/08/29  15:39             3,589 cwallet.sso 
  15. 2012/08/29  15:39             3,512 ewallet.p12 
  16.                2 个文件          7,101 字节 
  17.                2 个目录 368,717,893,632 可用字节 

   2,启动wallet与指定wallet位置

 
  1. D:\app\luoping\product\11.2.0\client_1\network\admin>more sqlnet.ora 
  2. # sqlnet.ora Network Configuration File: D:\app\luoping\product\11.2.0\client_1\ 
  3. network\admin\sqlnet.ora 
  4. # Generated by Oracle configuration tools. 
  5.  
  6. # This file is actually generated by netca. But if customers choose to 
  7. # install "Software Only", this file wont exist and without the native 
  8. # authentication, they will not be able to connect to the database on NT. 
  9.  
  10. SQLNET.AUTHENTICATION_SERVICES= (NTS) 
  11.  
  12. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 
  13. WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=D:\app\luoping\product\11.2.0\client_1\pstore))) 
  14. SQLNET.WALLET_OVERRIDE=TRUE 

     3,增加需要登陆的网络服务名,用户,密码到wallet中

 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\1 
  2. 1.2.0\client_1\pstore -createCredential htzdg sys oracle 
  3. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  4. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  5.  
  6. 输入 Wallet 口令: 
  7.  
  8. Create credential oracle.security.client.connect_string1 

     4,测试是否成功

 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>sqlplus /@htzdg as sysdba 
  2.  
  3. SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:48:27 2012 
  4.  
  5. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  6.  
  7.  
  8. 连接到: 
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  10. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  11.  
  12. SQL> 

    5,查看wallet中配置的网络服务名

 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl d:\app\luoping\product\1 
  2. 1.2.0\client_1\pstore -listCredential 
  3. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  4. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  5.  
  6. 输入 Wallet 口令: 
  7.  
  8. List credential (index: connect_string username) 
  9. 1: htzdg sys 

    6,一个网络服务名,只能对应一个用户,如果相同的数据库有多少用户需要在同一个client通过wallet实现时,我们需要每一个用户,创建一个网络服务名。

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

 
  1. C:\Users\luoping>mkstore -wrl D:\app\luoping\product\11.2.0\client_1\pstore -cre 
  2. ateCredential htzdg scott oracle 
  3. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  4. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  5.  
  6. 输入 Wallet 口令: 
  7.  
  8. Create credential 出现密钥存储错误: oracle.security.pki.OracleSecretStoreExcepti 
  9. on: Credential already exists 

     7,当密码修改后,要手动更新wallet中相应的密码。不然要报错的。

 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>sqlplus /@htzdg as sysdba 
  2.  
  3. SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:45:56 2012 
  4.  
  5. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  6.  
  7.  
  8. 连接到: 
  9. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  10. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  11.  
  12. SQL> 
  13. SQL> alter user sys identified by htz; 
  14.  
  15. 用户已更改。 
  16.  
  17. SQL> exit 
  18. 从 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  19. With the Partitioning, OLAP, Data Mining and Real Application Testing options 断 
  20. 开 
  21.  
  22. D:\app\luoping\product\11.2.0\client_1\BIN>sqlplus /@htzdg as sysdba 
  23.  
  24. SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:46:25 2012 
  25.  
  26. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  27.  
  28. ERROR: 
  29. ORA-01017: invalid username/password; logon denied 
  30.  
  31.  
  32. 请输入用户名: 
  33.  
  34. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\1 
  35. 1.2.0\client_1\pstore -modifyCredential htzdg sys 
  36. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  37. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  38.  
  39. 命令行中缺少您的密钥/口令 
  40. 请输入您的密钥/口令: 
  41.  
  42. 请重新输入您的密钥/口令: 
  43.  
  44. 输入 Wallet 口令: 
  45.  
  46. Modify credential 
  47. Modify 1 
  48.  
  49. D:\app\luoping\product\11.2.0\client_1\BIN> 
  50.  
  51. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\1 
  52. 1.2.0\client_1\pstore -modifyCredential htzdg sys 
  53. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  54. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  55.  
  56. 命令行中缺少您的密钥/口令 
  57. 请输入您的密钥/口令: 
  58.  
  59. 请重新输入您的密钥/口令: 
  60.  
  61. 输入 Wallet 口令: 
  62.  
  63. Modify credential 
  64. Modify 1 
  65.  
  66. D:\app\luoping\product\11.2.0\client_1\BIN> 
  67. D:\app\luoping\product\11.2.0\client_1\BIN>sqlplus /@htzdg as sysdba 
  68.  
  69. SQL*Plus: Release 11.2.0.1.0 Production on 星期三 8月 29 17:48:27 2012 
  70.  
  71. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  72.  
  73.  
  74. 连接到: 
  75. Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production 
  76. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  77.  
  78. SQL> 

     8,手动删除wallet中的记录

 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl d:\app\luoping\product\1 
  2. 1.2.0\client_1\pstore -deleteCredential htzdg 
  3. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  4. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  5.  
  6. 输入 Wallet 口令: 
  7.  
  8. Delete credential 
  9. Delete 1 

     9,mkstore命令帮忙手册

 
  1. D:\app\luoping\product\11.2.0\client_1\BIN>mkstore 
  2. Oracle Secret Store Tool: 版本 11.2.0.1.0 - Production 
  3. 版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。 
  4.  
  5. mkstore [-wrl wrl] [-create] [-createSSO] [-createLSSO] [-createALO] [-delete] [ 
  6. -deleteSSO] [-list] [-createEntry alias secret] [-viewEntry alias] [-modifyEntry 
  7.  alias secret] [-deleteEntry alias] [-createCredential connect_string username p 
  8. assword] [-listCredential] [-modifyCredential connect_string username password
  9. [-deleteCredential connect_string] [-help] [-nologo] 

   本文转自7343696 51CTO博客,原文链接:http://blog.51cto.com/luoping/976777,如需转载请自行联系原作者


相关实践学习
AnalyticDB MySQL海量数据秒级分析体验
快速上手AnalyticDB MySQL,玩转SQL开发等功能!本教程介绍如何在AnalyticDB MySQL中,一键加载内置数据集,并基于自动生成的查询脚本,运行复杂查询语句,秒级生成查询结果。
阿里云云原生数据仓库AnalyticDB MySQL版 使用教程
云原生数据仓库AnalyticDB MySQL版是一种支持高并发低延时查询的新一代云原生数据仓库,高度兼容MySQL协议以及SQL:92、SQL:99、SQL:2003标准,可以对海量数据进行即时的多维分析透视和业务探索,快速构建企业云上数据仓库。 了解产品 https://www.aliyun.com/product/ApsaraDB/ads
相关文章
|
16天前
|
存储 自然语言处理 Oracle
Oracle数据库字符集概述及修改方式
【8月更文挑战第15天】Oracle 数据库字符集定义了数据的编码方案,决定可存储的字符类型及其表示方式。主要作用包括数据存储、检索及跨系统传输时的正确表示。常见字符集如 AL32UTF8 支持多语言,而 WE8MSWIN1252 主用于西欧语言。修改字符集风险高,可能导致数据问题,需事先备份并评估兼容性。可通过 ALTER DATABASE 语句直接修改或采用导出-导入数据的方式进行。完成后应验证数据完整性。此操作复杂,须谨慎处理。
|
12天前
|
数据采集 Oracle 关系型数据库
实时计算 Flink版产品使用问题之怎么实现从Oracle数据库读取多个表并将数据写入到Iceberg表
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
10天前
|
数据可视化 关系型数据库 MySQL
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?
这篇文章介绍了如何在Windows 11系统下跳过MySQL 8的密钥校验,并通过命令行修改root用户的密码。
Mysql8 如何在 Window11系统下完成跳过密钥校验、完成数据库密码的修改?
|
8天前
|
存储 Oracle 关系型数据库
分享几个Oracle数据库日常维护中常见的问题
分享几个Oracle数据库日常维护中常见的问题
26 1
|
20天前
|
Oracle 关系型数据库 MySQL
Mysql和Oracle数据库死锁查看以及解决
【8月更文挑战第11天】本文介绍了解决MySQL与Oracle数据库死锁的方法。MySQL可通过`SHOW ENGINE INNODB STATUS`查看死锁详情,并自动回滚一个事务解除死锁;也可手动KILL事务。Oracle则通过查询V$LOCK与V$SESSION视图定位死锁,并用`ALTER SYSTEM KILL SESSION`命令终止相关会话。预防措施包括遵循ACID原则、优化索引及拆分大型事务。
|
22天前
|
监控 Oracle 关系型数据库
"深度剖析:Oracle SGA大小调整策略——从组件解析到动态优化,打造高效数据库性能"
【8月更文挑战第9天】在Oracle数据库性能优化中,系统全局区(SGA)的大小调整至关重要。SGA作为一组共享内存区域,直接影响数据库处理能力和响应速度。本文通过问答形式介绍SGA调整策略:包括SGA的组成(如数据缓冲区、共享池等),如何根据负载与物理内存确定初始大小,手动调整SGA的方法(如使用`ALTER SYSTEM`命令),以及利用自动内存管理(AMM)特性实现智能调整。调整过程中需注意监控与测试,确保稳定性和性能。
64 2
|
2天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之Oracle数据库是集群部署的,怎么进行数据同步
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
8天前
|
Oracle 关系型数据库 数据库
Oracle数据库备份脚本分享-Python
Oracle数据库备份脚本分享-Python
10 0
|
16天前
|
安全 关系型数据库 MySQL
如何在 MySQL 中导入和导出数据库以及重置 root 密码
如何在 MySQL 中导入和导出数据库以及重置 root 密码
24 0
|
Web App开发 Oracle 关系型数据库
忘记oracle用户名密码怎么办?
忘记oracle用户名密码怎么办? 忘记了安装时设置的用户名和密码怎么办?查了下网上的资料,终于解决了! 方法一: 首先进入sqlplus:进入的方式有两种,一种是通过cmd命令台输入sqlplus,另外一种是直接在开始-》程序-》Oracle-》应用程序开发-》sqlplus。
1443 0

热门文章

最新文章

推荐镜像

更多
下一篇
云函数