热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

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

在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]
推荐阅读
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 知识图谱——机器大脑中的知识库
    本文介绍了知识图谱在机器大脑中的应用,以及搜索引擎在知识图谱方面的发展。以谷歌知识图谱为例,说明了知识图谱的智能化特点。通过搜索引擎用户可以获取更加智能化的答案,如搜索关键词"Marie Curie",会得到居里夫人的详细信息以及与之相关的历史人物。知识图谱的出现引起了搜索引擎行业的变革,不仅美国的微软必应,中国的百度、搜狗等搜索引擎公司也纷纷推出了自己的知识图谱。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 2018年人工智能大数据的爆发,学Java还是Python?
    本文介绍了2018年人工智能大数据的爆发以及学习Java和Python的相关知识。在人工智能和大数据时代,Java和Python这两门编程语言都很优秀且火爆。选择学习哪门语言要根据个人兴趣爱好来决定。Python是一门拥有简洁语法的高级编程语言,容易上手。其特色之一是强制使用空白符作为语句缩进,使得新手可以快速上手。目前,Python在人工智能领域有着广泛的应用。如果对Java、Python或大数据感兴趣,欢迎加入qq群458345782。 ... [详细]
  • vue使用
    关键词: ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 生成对抗式网络GAN及其衍生CGAN、DCGAN、WGAN、LSGAN、BEGAN介绍
    一、GAN原理介绍学习GAN的第一篇论文当然由是IanGoodfellow于2014年发表的GenerativeAdversarialNetworks(论文下载链接arxiv:[h ... [详细]
  • 本文讲述了作者通过点火测试男友的性格和承受能力,以考验婚姻问题。作者故意不安慰男友并再次点火,观察他的反应。这个行为是善意的玩人,旨在了解男友的性格和避免婚姻问题。 ... [详细]
  • macOS10.12安装win10系统教程,实现双系统安装
    本文介绍了如何在macOS10.12系统上安装win10系统,实现双系统的安装。通过使用Boot Camp助理,选取win10系统镜像并分配系统容量,然后进行安装。安装完win10系统后,安装驱动并重启系统即可完成双系统的安装。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 在Windows 10中点击“检查更新”按钮可能让你成为微软的测试补丁的“小白鼠”。微软每月的第三、第四周会向稳定通道的用户选择性发放“C”“D”测试补丁,而那些主动点击“检查更新”的用户可能会成为这些补丁的测试对象。这些补丁主要用于测试下一个Patch Tuesday的更新内容的稳定性,也可能用于修复个性化问题。因此,用户需要小心点击“检查更新”,以免遭受不必要的风险。 ... [详细]
author-avatar
快乐生活HAPPY-GO
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有