当前位置: 首页 > news >正文

​ORACLE wallet实现无需输入用户名与密码登陆数据库 注意修改目录权限

wallet权限  linux  777 windows 需要修改.lck文件的owner

   

在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.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.

    测试是否可以正常解析

 
  1. C:\Users\luoping>tnsping htzdg 
  2. TNS Ping Utility for 32-bit Windows: Version 11.2.0.1.0 - Production on 29-8月 - 
  3. 2012 21:40:40 
  4. Copyright (c) 1997, 2010, Oracle.  All rights reserved. 
  5. 已使用的参数文件: 
  6. D:\app\luoping\product\11.2.0\client_1\network\admin\sqlnet.ora 
  7. 已使用 TNSNAMES 适配器来解析别名 
  8. 尝试连接 (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.1 
  9. 68.100.30)(PORT = 1521))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = h 
  10. tzdg))) 
  11. OK (40 毫秒) 
  12. C:\Users\luoping> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.

   下面是开始配置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 可用字节 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.

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

     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. 输入 Wallet 口令: 
  6. Create credential oracle.security.client.connect_string1 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

     4,测试是否成功

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

    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. 输入 Wallet 口令: 
  6. List credential (index: connect_string username) 
  7. 1: htzdg sys 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

    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. 输入 Wallet 口令: 
  6. Create credential 出现密钥存储错误: oracle.security.pki.OracleSecretStoreExcepti 
  7. on: Credential already exists 

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

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

     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. mkstore [-wrl wrl] [-create] [-createSSO] [-createLSSO] [-createALO] [-delete] [ 
  5. -deleteSSO] [-list] [-createEntry alias secret] [-viewEntry alias] [-modifyEntry 
  6.  alias secret] [-deleteEntry alias] [-createCredential connect_string username p 
  7. assword] [-listCredential] [-modifyCredential connect_string username password] 
  8. [-deleteCredential connect_string] [-help] [-nologo] 

----------------------------------权限相关 linux  777 windows 需要修改lck文件的owner

ORACLE wallet配置/管理/使用

 推荐 原创

73436962012-09-12 21:40:19博主文章分类:ORACLE 基础©著作权

文章标签ORACLE WALLET文章分类数据库阅读数4803

    昨天在公司配置数据库时,向wallet中增加了一个新的数据库,现实无需输入用户名与密码来登陆数据库,增加完成后,导致整个监控系统都是报用户名与密码的错误,无法登陆来数据库。但是ORACLE用户是能正常登陆数据库,不需要输入密码。其实原因很简单,因为我们的监控系统是nagios,而wallet相关的文件的默认权限是600,除ORACLE外其它的用户都是不可以读写的,正常情况下我们是改成了777的权限,让其它的用户也能使用钱包这个功能,当是我对wallet进行新增加一个数据库时,wallet会自己把cwallet.sso与ewallet.p12文件的权限自己改成600。这就导致了今天我的悲剧。

    下面是wallet的配置/管理/维护/现象的模拟

1.创建wallet

 
  1. [oracle@test db_1]$ mkdir wallet 
  2. [oracle@test db_1]$ pwd 
  3. /u01/app/oracle/product/11.2.0/db_1 
  4. [oracle@test db_1]$ mkstore -wrl /u01/app/oracle/product/11.2.0/db_1/wallet -create 
  5. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  6. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  7. #这里输入wallet的密码,对密码是有限制条件的 
  8. 1.密码长度要是8位以上。 
  9. 2.密码最大长度没有限制。 
  10. 3.密码要有字符与数据。 
  11. Enter password:              
  12. Enter password again:              
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

2.配置wallet到sqlnet.ora中

 
  1. [oracle@test db_1]$ cat $ORACLE_HOME/network/admin/sqlnet.ora 
  2. NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT) 
  3. #DIRECTORY这里就是指定wallet所在的目录
  4. WALLET_LOCATION=(SOURCE=(METHOD=FILE)(METHOD_DATA=(DIRECTORY=/u01/app/oracle/product/11.2.0/db_1/wallet))) 
  5. SQLNET.WALLET_OVERRIDE=TRUE 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

3.查看wallet的命令帮忙

wallet这个很好,因为直接用help就可以看到命令的帮忙了,不需要我们再去记复杂的参数,只用记住mkstore这个命令来管理wallet就可以了。

 
  1. [oracle@test db_1]$ mkstore -help 
  2. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  3. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  4. mkstore [-wrl wrl] [-create] [-createSSO] [-createLSSO] [-createALO] [-delete] 
  5. [-deleteSSO] [-list] [-createEntry alias secret] [-viewEntry alias] 
  6. [-modifyEntry alias secret] [-deleteEntry alias] 
  7. [-createCredential connect_string username password] [-listCredential] 
  8. [-modifyCredential connect_string username password] [-deleteCredential connect_string] [-help] [-nologo] 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

4.增加数据库到wallet中去,并测试是否成功

 
  1. 3.1#增加net service为htz scott为用户 oracle为用户的密码。 
  2. #建议密码用''引起来,因为在生产环境中的密码基本上都是特殊字符的。 
  3. [oracle@test db_1]$ mkstore -wrl  /u01/app/oracle/product/11.2.0/db_1/wallet -createCredential htz scott 'oracle' 
  4. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  5. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  6. Enter wallet password:              
  7. Create credential oracle.security.client.connect_string1 
  8. 3.2 #查看是否增加成功。 
  9. [oracle@test db_1]$ mkstore -wrl  /u01/app/oracle/product/11.2.0/db_1/wallet -listCredential  
  10. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  11. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  12. Enter wallet password:              
  13. List credential (index: connect_string username) 
  14. 1: htz scott 
  15. 3.3 测试是否可以实现无需要输入用户与密码登陆 
  16. [oracle@test db_1]$ sqlplus /@htz 
  17. SQL*Plus: Release 11.2.0.2.0 Production on Sat Sep 8 09:19:15 2012 
  18. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  19. Connected to: 
  20. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
  21. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  22. #显示的是scott,成功了。 
  23. SQL> show user; 
  24. USER is "SCOTT" 
  25. SQL> exit 
  26. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
  27. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.

5.查看entry

 
  1. #这里看到我们增加一个数据进来就会增加3个entries。 
  2. #分别是一个连接符,一个用户名,一个密码。 
  3. #当我们增加了很多数据库与用户进来后,数据库与用户还有密码他们是怎么关联的呢?其实他们就是通过后面的这个数字来关键的。 
  4. [oracle@test db_1]$ mkstore -wrl  /u01/app/oracle/product/11.2.0/db_1/wallet -list 
  5. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  6. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  7. Enter wallet password:              
  8. Oracle Secret Store entries:  
  9. oracle.security.client.connect_string1 
  10. oracle.security.client.password1 
  11. oracle.security.client.username1 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.

6.创建默认用户与密码

这样可以实现,登陆所以的数据库都可以使用默认的用户与密码

 
  1. 6.1 #创建默认的用户。 
  2. [oracle@test db_1]$ mkstore -wrl  /u01/app/oracle/product/11.2.0/db_1/wallet -createEntry  oracle.security.client.default_username scott 
  3. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  4. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  5. Enter wallet password:              
  6. 6.2 #创建默认用户的密码。 
  7. [oracle@test db_1]$ mkstore -wrl  /u01/app/oracle/product/11.2.0/db_1/wallet -createEntry  oracle.security.client.default_password oracle 
  8. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  9. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  10. Enter wallet password:              
  11. 6.3 #查看是否创建成功 
  12. [oracle@test db_1]$ mkstore -wrl  /u01/app/oracle/product/11.2.0/db_1/wallet -list 
  13. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  14. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  15. Enter wallet password:              
  16. Oracle Secret Store entries:  
  17. oracle.security.client.connect_string1 
  18. oracle.security.client.default_password 
  19. oracle.security.client.default_username 
  20. oracle.security.client.password1 
  21. oracle.security.client.username1 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

7.当默认用户与手动增加的数据库信息到wallet中时,那一个生效呢?

下面我们测试一下,当wallet里面创建了默认的用户与密码时,手动再增加一个增加的信息到wallet时,到底是默认用户还是手动增加的生效呢?其实是手动增加的生效。

 
  1. 7.1 #由于默认用户增加的SCOTT普通用户,所以这里我们增加sys这个用户来做测试,net service名是htzb 
  2. [oracle@test db_1]$ mkstore -wrl $ORACLE_HOME/wallet -createCredential htzb sys 'oracle' 
  3. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  4. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  5. Enter wallet password:              
  6. Create credential oracle.security.client.connect_string1 
  7. 7.2 #登陆测试。 
  8. 这里没有增加as sysdba就是为了能区别普通用户与sys用户登陆的区别。如果是sys用户生效,就会报没有增加as sysdba登陆,如果是scott这个默认用户生效,就会登陆成功。 
  9. [oracle@test db_1]$ sqlplus /@htzb 
  10. SQL*Plus: Release 11.2.0.2.0 Production on Sat Sep 8 09:33:07 2012 
  11. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  12. #这里报错,说明手动增加的SYS用户的生效。默认用户没有生效 
  13. ERROR: 
  14. ORA-28009: connection as SYS should be as SYSDBA or SYSOPER 
  15. Enter user-name:   
  16. 7.3 #这里我们再登陆htz,登陆成功。说明我们默认用户在其它的net service是生效的。 
  17. [oracle@test db_1]$ sqlplus /@htz 
  18. SQL*Plus: Release 11.2.0.2.0 Production on Sat Sep 8 09:33:23 2012 
  19. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  20. Connected to: 
  21. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
  22. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  23. SQL> exit 
  24. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
  25. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  26. 7.4 #以sys as sysdba登陆成功 
  27. [oracle@test db_1]$ sqlplus /@htzb as sysdba 
  28. SQL*Plus: Release 11.2.0.2.0 Production on Sat Sep 8 09:33:30 2012 
  29. Copyright (c) 1982, 2010, Oracle.  All rights reserved. 
  30. Connected to: 
  31. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
  32. With the Partitioning, OLAP, Data Mining and Real Application Testing options 
  33. SQL> show user 
  34. USER is "SYS" 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 51.

8.下面测试的是通过mkstore修改wallet中的内容后,导致wallet相关的文件,权限自动改成600.

 
  1. 8.1 #把wallet的文件权限改成777 
  2. [oracle@test db_1]$ chmod 777 $ORACLE_HOME/wallet/* 
  3. [oracle@test db_1]$ ls -l $ORACLE_HOME/wallet 
  4. total 16 
  5. -rwxrwxrwx 1 oracle oinstall 4565 Sep  8 09:38 cwallet.sso 
  6. -rwxrwxrwx 1 oracle oinstall 4488 Sep  8 09:38 ewallet.p12 
  7. 8.2 #手动在wallet中增加一个net service的配置信息 
  8. [oracle@test db_1]$ mkstore -wrl $ORACLE_HOME/wallet -deleteCredential htz  
  9. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  10. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  11. Enter wallet password:              
  12. Delete credential  
  13. Delete 2 
  14. 8.3 #再次查看权限时发现权限已经自己改成了600了 
  15. [oracle@test db_1]$ ls -l $ORACLE_HOME/wallet 
  16. total 16 
  17. -rw------- 1 oracle oinstall 4205 Sep  8 09:39 cwallet.sso 
  18. -rw------- 1 oracle oinstall 4128 Sep  8 09:39 ewallet.p12 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

9. 当用户的密码发生变化的时候需要修改wallet中的密码

 
  1. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -modifyCredential htz scott 'oracleoracle'; 
  2. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  3. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  4. Enter wallet password:              
  5. Modify credential  
  6. Modify 1 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

10.查看wallet中有那些认证的信息

 
  1. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -listCredential  
  2. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  3. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  4. Enter wallet password:              
  5. List credential (index: connect_string username) 
  6. 1: htz scott 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

11 从wallet删除一个net service的配置信息

 
  1. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -deleteCredential  htz 
  2. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  3. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  4. Enter wallet password:              
  5. Delete credential  
  6. Delete 1 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.

12.修改默认的用户名

修改默认的用户名的密码的方法也一样。

 
  1. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -viewEntry oracle.security.client.default_username 
  2. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  3. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  4. Enter wallet password:              
  5. oracle.security.client.default_username = scott 
  6. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -modifyEntry oracle.security.client.default_username 
  7. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  8. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  9. Your secret/Password is missing in the command line  
  10. Enter your secret/Password:          
  11. Re-enter your secret/Password:          
  12. Enter wallet password:              
  13. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -viewEntry oracle.security.client.default_username 
  14. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  15. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  16. Enter wallet password:              
  17. oracle.security.client.default_username = oracle 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.

13 删除默认的用户名

登录后复制 

 
  1. [oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -deleteEntry oracle.security.client.default_username 
  2. Oracle Secret Store Tool : Version 11.2.0.2.0 - Production 
  3. Copyright (c) 2004, 2010, Oracle and/or its affiliates. All rights reserved. 
  4. Enter wallet password:   
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

我们一般的维护就这么多。

--------linux 界面操作

 

--创建钱包,或者alter system set encryption key identified by "oracle"; 

 

orapki wallet change_pwd -wallet /home/sysrls/wallet/

 

#维护小脚本,应该用dos2unix转换或者在linux中手工编辑

#!/bin/bash

echo -e "Useful action\n"

echo -e "1)create wallet"

echo -e "2)create Credential"

echo -e "3)check the created Credential"

echo -e "4)modify the created Credential"

echo -e "5)delete the created Credential"

echo -e "6)list Credential item"

echo -e "7)list Credential Entry value "

echo -e "8)modify wallet password"

echo -e "9)exit"

read -p "choose your action:" num1

case $num1 in

1)

echo -e "Please enter wallet password:\n"

read -s password

printf "$password\n$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -create

echo -e "wallet create success\n"

;;

2)

echo -e "Please enter wallet password:"

read -s password

read -p "Please enter database tnsname:" tnsname

read -p "Please enter database user:" user

echo -n "Please enter database user's password:"

read -s dbpass

printf "$dbpass\n$dbpass\n$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -createCredential $tnsname $user

echo -e "Credential create success\n"

;;

3)

echo -e "Please enter wallet password:\n"

read -s password

printf "$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -listCredential

;;

4)

echo -e "Please enter wallet password:"

read -s password

read -p "Please enter database tnsname:" tnsname

read -p "Please enter database user:" user

echo -n "Please enter database user's password:"

read -s dbpass

printf "$dbpass\n$dbpass\n$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -modifyCredential $tnsname $user

echo -e "modify Credential success\n"

;;

5)

echo -e "Please enter wallet password:"

read -s password

read -p "Please enter database tnsname:" tnsname

printf "$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -deleteCredential $tnsname

echo -e "delete Credential success\n"

;;

6)

echo -e "Please enter wallet password:"

read -s password

printf "$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -list

;;

7)

echo -e "Please enter wallet password:"

read -s password

read -p "Please enter Entryname type:" type

if [ "$type" == "connect" ];then

printf "$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -viewEntry oracle.security.client.connect_string1

fi

if [ "$type" == "user" ];then

printf "$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -viewEntry oracle.security.client.username1

fi

if [ "$type" == "password" ];then

printf "$password\n" | /u01/app/oracle/product/11.2/db_1/bin/mkstore -wrl /u01/app/oracle/product/11.2/db_1/wallet/ -viewEntry oracle.security.client.password1

fi

;;

8)

/u01/app/oracle/product/11.2/db_1/bin/orapki wallet change_pwd -wallet /u01/app/oracle/product/11.2/db_1/wallet/

;;

9)

exit 0

esac

 

12.修改默认的用户名

修改默认的用户名的密码的方法也一样。

[oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -viewEntry oracle.security.client.default_username

--oracle.security.client.default_username = scott

mkstore -wrl $ORACLE_HOME/wallet -modifyEntry oracle.security.client.default_username

mkstore -wrl $ORACLE_HOME/wallet -viewEntry oracle.security.client.default_username

--oracle.security.client.default_username = oracle

13 删除默认的用户名

[oracle@test ~]$ mkstore -wrl $ORACLE_HOME/wallet -deleteEntry oracle.security.client.default_username

相关文章:

​ORACLE wallet实现无需输入用户名与密码登陆数据库 注意修改目录权限

wallet权限 linux 777 windows 需要修改.lck文件的owner 在ORACLE 10G前&#xff0c;我们在SHELL或JDBC中连接数据库时&#xff0c;都需要输入用户名与密码&#xff0c;并且都是明文。从1OGR2开始&#xff0c;ORACLE提供wallet这个工具&#xff0c;可以实现无需输入用户名与密…...

linux - 用户权限

认知root用户 无论是Windows、Macos、Linux均采用多用户的管理模式进行权限管理 在Linux系统中,拥有最大权限的账户名为: root(超级管理员) root用户拥有最大的系统操作权限&#xff0c;而普通用户在许多地方的权限是受限的。普通用户的权限&#xff0c;一般在其HOME目录内是不…...

计蒜客T1115——字符串判等

水题不解释&#xff0c;考研复习压力偶尔写一道换换心情还不错~ 这里有一个比较有趣的知识点&#xff0c;对于同时输入多个字符串时还要允许空格的输入&#xff0c;那么普通的cin函数就不能满足要求了&#xff0c;这里采用getline函数解决&#xff0c;如下&#xff1a; string …...

Android Framework工具——EA画图

EA 是一个著名的企业架构(Enterprise Architecture)工具,用于绘制和管理企业的架构图和过程模型。该工具提供了多种功能,包括建立业务流程图、数据流图、组织结构图、应用架构图等。EA工具可帮助企业进行战略规划、业务流程改进和系统开发等活动。 一、时序图 时序图(Seq…...

使用MyEclipse如何部署Descriptor (XML)编辑器?

Descriptor (XML) Editor编辑器包含了高级的XML编辑功能&#xff0c;在本文中您将了解到这些编辑功能、Web XML编辑等&#xff0c;此功能包含在MyEclipse中可用。 MyEclipse v2023.1.2离线版下载 1. Web XML 编辑器 MyEclipse Web XML编辑器包括高级XML编辑功能&#xff0c;…...

Codeforces Round 889 (Div. 2)C题题解

文章目录 [Dual (Hard Version)](https://codeforces.com/contest/1855/problem/C2)问题建模问题分析1.按元素值分类讨论&#xff0c;正负不同时存在时2.若正负同时存在时代码 Dual (Hard Version) 问题建模 给定n个数&#xff0c;n不超过20&#xff0c;且每个数ai&#xff0c…...

无涯教程-Perl - Subroutines(子例程)

定义子程序 Perl编程语言中 Subroutine子程序定义的一般形式如下: sub subroutine_name {body of the subroutine } 调用该Perl Subroutine的典型方式如下- subroutine_name( list of arguments ); 在Perl 5.0之前的版本中&#xff0c;调用 Subroutine的语法略有不同&…...

Rpc异步日志模块

Rpc异步日志模块作用 在一个大型分布式系统中&#xff0c;任何部署的分布式节点都可能发生崩溃&#xff0c;试想如果用普通的办法&#xff0c;即先排查哪个节点down掉了&#xff0c;找到down掉的节点后采取调试工具gdb调试该节点&#xff0c;进而排查宕机的原因。这中排查方法…...

python-pip

pip 路径 python 下载后自带pip ,在scripts 下&#xff0c;如 D:\install\python\Scripts numpy pip3 install numpy scipy matplotlib -i https://pypi.tuna.tsinghua.edu.cn/simplepandas D:\install\python\Scripts>pip3 install pandas -i https://pypi.tuna.tsingh…...

无涯教程-Perl - getppid函数

描述 该函数返回父进程的进程ID。 语法 以下是此函数的简单语法- getppid返回值 该函数返回父进程的进程ID。 例 以下是显示其基本用法的示例代码- #!/usr/bin/perl$ppidgetppid();print "Parent Process ID $ppid\n";执行上述代码后,将产生以下输出- Paren…...

AUTOSAR规范与ECU软件开发(基础篇)1.2 汽车电子控制系统的基本构成

目录 前言 1、 传感器 2、 电子控制单元(ECU) 3、 执行器 前言 汽车电子控制系统主要由传感器(Sensor) 、 电子控制单元(Electronic Control Unit, ECU) 和执行器(Actuator) 组成(图1.1) ,对被控对象(Controlled Object)...

一个可以通过多个条件筛选的系统界面是如何实现的(springboot+mybatis)

比如我们有一个订单记录管理界面 条件可以通过订单号、商品名称、创建日期范围、价格范围。。。来进行筛选查询。 首先我们先确定数据库订单表&#xff08;我这里就不做连表了&#xff0c;都放在一个表中&#xff09;模拟一个订单表 order表 订单号商品名称创建日期价格地址…...

WebRTC | 实现数据流的一对一通信

目录 一、浏览器对WebRTC的支持 二、MediaStream与MediaStreamTrack 三、RTCPeerConnection 1. RTCPeerConnection与本地音视频数据绑定 2. 媒体协商SDP 3. ICE &#xff08;1&#xff09;Candidate信息 &#xff08;2&#xff09;WebRTC收集Candidate &#xff08;3&…...

基于MATLAB小波变换的信号突变点检测

之前在不经意间也有接触过求突变点的问题。在我看来&#xff0c;与其说是求突变点&#xff0c;不如说是我们常常玩的"找不同"。给你两幅图像&#xff0c;让你找出两个图像中不同的地方&#xff0c;我认为这其实也是找突变点在生活中的应用之一吧。回到找突变点位置上…...

JUC并发编程(JUC核心类、TimeUnit类、原子操作类、CASAQS)附带相关面试题

目录 1.JUC并发编程的核心类 2.TimeUnit&#xff08;时间单元&#xff09; 3.原子操作类 4.CAS 、AQS机制 1.JUC并发编程的核心类 虽然java中的多线程有效的提升了程序的效率&#xff0c;但是也引发了一系列可能发生的问题&#xff0c;比如死锁&#xff0c;公平性、资源管理…...

个人用C#编写的壁纸管理器 - 开源研究系列文章

今天介绍一下笔者自己用C#开发的一个小工具软件&#xff1a;壁纸管理器。 开发这个小工具的初衷是因为Windows操作系统提供的功能个人不满意&#xff0c;而且现在闲着&#xff0c;所以就随意写了个代码。如果对读者有借鉴参考作用就更好了&#xff0c;能够直接代码段复用即可。…...

iTextSharp 生成PDF

示例代码定义了一个名为PdfController的API控制器&#xff0c;其中的GeneratePdf方法创建了一个新的PDF文档&#xff0c;并将内容添加到文档中。最后&#xff0c;将文档内容转换为字节数组&#xff0c;并通过File方法返回给前端。 注意&#xff0c;你需要在你的项目中添加对iT…...

基于微信小程序的传染病酒店隔离平台设计与实现(Java+spring boot+MySQL+微信小程序)

获取源码或者论文请私信博主 演示视频&#xff1a; 基于微信小程序的传染病酒店隔离平台设计与实现&#xff08;Javaspring bootMySQL微信小程序&#xff09; 使用技术&#xff1a; 前端&#xff1a;html css javascript jQuery ajax thymeleaf 微信小程序 后端&#xff1a;…...

vue3中用watch监听响应式数据的注意点

如果你在vue3中使用reactive()方法创建响应式数据&#xff0c;然后又用torefs()方法将响应式数据解构成单一的ref响应式数据。 此时&#xff0c;如果你想用watch监听解构出来单一的响应式数据&#xff0c;watch不起作用。 此时&#xff0c;你需要用watch监听之前的reactive()…...

Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)

1.简介 上一篇中已经将其的理论知识介绍了一下&#xff0c;这一篇就带着大家一步一步的把上一篇介绍的理论知识实践一下&#xff0c;然后再说一下如何创建高级web测试计划。 2.网络计划实战 通过上一篇的学习&#xff0c;将其分类为&#xff1a; &#xff08;1&#xff09;不需…...

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…...

Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件

今天呢&#xff0c;博主的学习进度也是步入了Java Mybatis 框架&#xff0c;目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学&#xff0c;希望能对大家有所帮助&#xff0c;也特别欢迎大家指点不足之处&#xff0c;小生很乐意接受正确的建议&…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

06 Deep learning神经网络编程基础 激活函数 --吴恩达

深度学习激活函数详解 一、核心作用 引入非线性:使神经网络可学习复杂模式控制输出范围:如Sigmoid将输出限制在(0,1)梯度传递:影响反向传播的稳定性二、常见类型及数学表达 Sigmoid σ ( x ) = 1 1 +...

音视频——I2S 协议详解

I2S 协议详解 I2S (Inter-IC Sound) 协议是一种串行总线协议&#xff0c;专门用于在数字音频设备之间传输数字音频数据。它由飞利浦&#xff08;Philips&#xff09;公司开发&#xff0c;以其简单、高效和广泛的兼容性而闻名。 1. 信号线 I2S 协议通常使用三根或四根信号线&a…...

动态 Web 开发技术入门篇

一、HTTP 协议核心 1.1 HTTP 基础 协议全称 &#xff1a;HyperText Transfer Protocol&#xff08;超文本传输协议&#xff09; 默认端口 &#xff1a;HTTP 使用 80 端口&#xff0c;HTTPS 使用 443 端口。 请求方法 &#xff1a; GET &#xff1a;用于获取资源&#xff0c;…...

AirSim/Cosys-AirSim 游戏开发(四)外部固定位置监控相机

这个博客介绍了如何通过 settings.json 文件添加一个无人机外的 固定位置监控相机&#xff0c;因为在使用过程中发现 Airsim 对外部监控相机的描述模糊&#xff0c;而 Cosys-Airsim 在官方文档中没有提供外部监控相机设置&#xff0c;最后在源码示例中找到了&#xff0c;所以感…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...