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

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

在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:\Users\luoping>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:\app\luoping\product\11.2.0\client_1\network\admin\sqlnet.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:\Users\luoping>
下面是开始配置wallet

    1,创建一个wallet
D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\11.2.0\client_1\pstore -create
Oracle Secret Store Tool: 版本 11.2.0.1.0 – Production
版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。
输入口令:
再次输入口令:
D:\app\luoping\product\11.2.0\client_1\BIN>cd ../
D:\app\luoping\product\11.2.0\client_1>cd pstore
D:\app\luoping\product\11.2.0\client_1\pstore>dir
驱动器 D 中的卷是 DATA
卷的序列号是 D60C-09BD
D:\app\luoping\product\11.2.0\client_1\pstore 的目录
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:\app\luoping\product\11.2.0\client_1\network\admin>more sqlnet.ora
# sqlnet.ora Network Configuration File: D:\app\luoping\product\11.2.0\client_1\
network\admin\sqlnet.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:\app\luoping\product\11.2.0\client_1\pstore)))
SQLNET.WALLET_OVERRIDE=TRUE
     3,增加需要登陆的网络服务名,用户,密码到wallet中

D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\1
1.2.0\client_1\pstore -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:\app\luoping\product\11.2.0\client_1\BIN>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:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl d:\app\luoping\product\1
1.2.0\client_1\pstore -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:\Users\luoping>mkstore -wrl D:\app\luoping\product\11.2.0\client_1\pstore -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:\app\luoping\product\11.2.0\client_1\BIN>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:\app\luoping\product\11.2.0\client_1\BIN>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:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\1
1.2.0\client_1\pstore -modifyCredential htzdg sys
Oracle Secret Store Tool: 版本 11.2.0.1.0 – Production
版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。

命令行中缺少您的密钥/口令
请输入您的密钥/口令:

请重新输入您的密钥/口令:

输入 Wallet 口令:

Modify credential
Modify 1

D:\app\luoping\product\11.2.0\client_1\BIN>

D:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl D:\app\luoping\product\1
1.2.0\client_1\pstore -modifyCredential htzdg sys
Oracle Secret Store Tool: 版本 11.2.0.1.0 – Production
版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。

命令行中缺少您的密钥/口令
请输入您的密钥/口令:

请重新输入您的密钥/口令:

输入 Wallet 口令:

Modify credential
Modify 1

D:\app\luoping\product\11.2.0\client_1\BIN>
D:\app\luoping\product\11.2.0\client_1\BIN>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:\app\luoping\product\11.2.0\client_1\BIN>mkstore -wrl d:\app\luoping\product\1
1.2.0\client_1\pstore -deleteCredential htzdg
Oracle Secret Store Tool: 版本 11.2.0.1.0 – Production
版权所有 (c) 2004, 2009, Oracle 和/或其子公司。保留所有权利。

输入 Wallet 口令:

Delete credential
Delete 1
     9,mkstore命令帮忙手册

D:\app\luoping\product\11.2.0\client_1\BIN>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]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/467488.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月8日 06:01:36
下一篇 2025年11月8日 06:02:55

相关推荐

  • 实施绝对定位的参照方法选择指南

    选择合适的参照方法实现绝对定位,需要具体代码示例 在Web开发中,绝对定位是一种常用的布局方式,通过定位元素相对于其最近的已定位祖先元素,来精确地控制元素在页面中的位置。而选择合适的参照方法实现绝对定位,则会使我们的布局更加灵活和易于维护。 一、参照方法的选择 直接参照文档流在实现绝对定位时,默认情…

    2025年12月24日
    000
  • 绝对定位参考方法的实现

    实现绝对定位的参照方法,需要具体代码示例 随着Web开发的不断发展,对于页面布局的要求也越来越高。绝对定位是一种常用的布局方式,可以精确地指定元素在页面中的位置。本文将介绍如何通过CSS来实现绝对定位,并提供具体的代码示例。 一、理解绝对定位的基本概念 在开始编写代码之前,首先需要了解绝对定位的基本…

    2025年12月24日
    000
  • 使用CSS实现文本渐变效果的方法

    使用CSS实现文本渐变效果的方法 在网页设计中,为了让页面达到更好的视觉效果,我们经常会运用一些渐变效果来美化文本。而CSS是实现这一目的的强大工具之一。下面,我们将介绍一些使用CSS实现文本渐变效果的方法,并提供对应的具体代码示例。 使用线性渐变 使用CSS的线性渐变(linear gradien…

    2025年12月24日
    000
  • 如何使用纯CSS实现类似悬浮窗口的效果

    如何使用纯CSS实现类似悬浮窗口的效果 悬浮窗口是在网页设计中经常使用的一种效果,它可以提供快速访问功能或者展示重要的信息。本文将介绍如何使用纯CSS来实现类似悬浮窗口的效果,包括具体的代码示例。 首先,我们需要在HTML中创建一个容器元素,用于承载悬浮窗口的内容。可以是一个div或者其他合适的元素…

    2025年12月24日
    000
  • CSS3的新特性一览:如何使用CSS3实现文字效果

    CSS3的新特性一览:如何使用CSS3实现文字效果 在现代网页设计中,文字的呈现不仅仅局限于传统的排版,更加强调设计创意与用户体验的结合。CSS3作为前端开发人员的得力工具,提供了许多新特性来实现丰富多样的文字效果,使得网页设计更加生动有趣。本文将介绍CSS3的一些新特性,并给出实现文字效果的示例。…

    2025年12月24日
    000
  • CSS3属性如何实现网页中的图标布局?

    CSS3属性如何实现网页中的图标布局? 随着网页设计的日益复杂和多样化,图标在网页设计中的使用变得越来越频繁。而CSS3提供了许多新的属性和功能,使得实现网页中的图标布局更加便捷和灵活。本文将介绍一些常用的CSS3属性,以及如何利用它们来实现网页中的图标布局。 一、字体图标 字体图标是一种由字形组成…

    2025年12月24日
    000
  • css设置背景图片如何实现?(代码实例)

    本篇文章给大家带来的内容是关于css设置背景图片如何实现?(代码实例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 很多人提交表单时都喜欢用一个图片来作为提交按钮,大多数人可能用JS去操作表单的提交,即当用户点击这个图片时响应一个JS来提交表单.其实还有一种方法,就是直接设置SU…

    2025年12月24日
    000
  • CSS实现对话框效果如何实现(代码)

    本篇文章给大家带来的内容是关于CSS实现对话框效果如何实现(代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。 CSS实现对话框效果/*CSS实现对话框效果一*/.test1{width:300px;height: 30px; padding:30px 20px; margin-…

    好文分享 2025年12月24日
    000
  • 用CSS实现网站变黑白色

    这篇文章主要介绍了关于用css实现网站变黑白色,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 以下为全站CSS代码.  html { filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1); } 使用方法:这段…

    好文分享 2025年12月24日
    000
  • Bootstrap实现价格表

    这篇文章主要介绍了利用Bootstrap实现漂亮简洁的CSS3价格表效果,实现的效果非常的不错,而且能够使用不同的屏幕尺寸,需要的朋友可以参考学习,下面来一起看看吧。 前言 这是一款漂亮简洁的CSS3价格表样式,该价格表基于Bootstrap网格系统来进行布局,通过简单的CSS3代码来美化价格表,样…

    2025年12月24日
    000
  • jquery点击回车键实现登录效果实例分享

    最近在做项目登录时,每次都需要点击登录按钮才可以进入相应的页面,给用户一个很不好的体验,所以我就添加使用回车键来实现登录。本文主要为大家分享一篇jquery点击回车键实现登录效果并默认焦点的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧,希望能帮助到大家。 方法: 登录$(fu…

    2025年12月24日
    000
  • 阐述什么是CSS3?

    网页制作Webjx文章简介:CSS3不是新事物,更不是只是围绕border-radius属性实现的圆角。它正耐心的坐在那里,已经准备好了首次登场,呷着咖啡,等着浏览器来铺上红地毯。            CSS3不是新事物,更不是只是围绕border-radius属性实现              …

    好文分享 2025年12月23日
    000
  • java怎么编译运行.html_java编译运行.html方法【教程】

    Java程序的编译运行与HTML无关,需使用JDK。1. 编写HelloWorld.java文件;2. 命令行执行javac HelloWorld.java生成.class文件;3. 执行java HelloWorld运行程序。注意:HTML是网页标记语言,不能直接运行Java代码,勿将二者混淆。确…

    2025年12月23日
    000
  • html文档中含有java怎么运行_html含java运行方法【教程】

    现代浏览器不支持Java Applet,推荐通过JavaScript调用Java后端服务或使用WebAssembly运行Java代码。 如果您在HTML文档中嵌入了Java代码,但发现无法正常运行,这通常是因为现代浏览器不再支持Java小程序(Applet)或相关插件。以下是几种实现HTML中Jav…

    2025年12月23日
    000
  • 怎么运行html的applet小程序_运行html applet小程序步骤【指南】

    现代浏览器已不再默认支持Java Applet,需通过安装JRE、启用插件、使用支持NPAPI的旧版浏览器(如Firefox 52.9 ESR)、调整Java安全级别至中,并将网站添加到例外站点列表方可运行。 如果您在尝试运行HTML中的Applet小程序时遇到问题,可能是因为现代浏览器已不再默认支…

    2025年12月23日
    000
  • 使用BeautifulSoup和JSON有效抓取动态加载的网页表格数据

    本教程旨在解决使用BeautifulSoup抓取网页表格时,因数据动态加载导致部分内容缺失的问题。通过分析网页背后的API请求,直接获取并解析JSON数据源,再结合BeautifulSoup提取的HTML结构信息,最终实现完整且准确的数据抓取。文章将提供详细的代码示例和实现步骤。 理解网页动态内容与…

    2025年12月23日
    400
  • 解决BeautifulSoup爬取网页表格中动态内容缺失问题

    本文旨在解决使用BeautifulSoup爬取网页表格时,因部分数据通过JavaScript动态加载导致内容缺失的问题。通过详细分析Oracle云定价页面的案例,教程将指导读者如何识别并获取隐藏在JSON API中的动态数据,并将其与BeautifulSoup解析的静态HTML内容有效整合,最终构建…

    2025年12月23日
    000
  • 自定义 Django 登录流程:实现完全控制的登录视图与消息处理

    本文详细阐述如何在 Django 中完全自定义登录流程,通过实现一个函数式视图来替代默认的 LoginView。这种方法提供了对用户认证、错误消息显示和模板渲染的细粒度控制,特别适用于需要高度定制前端界面和用户体验的场景。 引言:为何需要自定义 Django 登录流程? django 提供了强大的 …

    2025年12月22日
    200
  • Java GUI在Web部署中的挑战与现代解决方案

    本文旨在澄清Java Web Start(JWS)在Web页面内运行GUI的常见误解,指出JWS用于本地应用启动而非嵌入式Web GUI。文章将探讨JWS的局限性及其被Oracle弃用的原因,介绍OpenWebStart作为其开源替代方案,并重点推荐Vaadin Flow作为使用纯Java构建真正W…

    2025年12月22日
    000
  • Java GUI Web部署策略与现代替代方案

    本文旨在澄清Java GUI应用在Web页面中直接运行的常见误区,特别是关于Java Web Start (JWS) 的作用与局限性。我们将探讨JWS的实际工作机制、其被Oracle废弃的原因,并介绍OpenWebStart作为现有JWS应用的替代方案。此外,文章将重点推荐Vaadin Flow等现…

    2025年12月22日
    300

发表回复

登录后才能评论
关注微信