当前位置: 首页 > 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;不需…...

vscode里如何用git

打开vs终端执行如下&#xff1a; 1 初始化 Git 仓库&#xff08;如果尚未初始化&#xff09; git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

C++初阶-list的底层

目录 1.std::list实现的所有代码 2.list的简单介绍 2.1实现list的类 2.2_list_iterator的实现 2.2.1_list_iterator实现的原因和好处 2.2.2_list_iterator实现 2.3_list_node的实现 2.3.1. 避免递归的模板依赖 2.3.2. 内存布局一致性 2.3.3. 类型安全的替代方案 2.3.…...

Rust 异步编程

Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...

什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南

文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/55aefaea8a9f477e86d065227851fe3d.pn…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕&#xff0c;#AI 监考一度冲上热搜。当AI深度融入高考&#xff0c;#时间同步 不再是辅助功能&#xff0c;而是决定AI监考系统成败的“生命线”。 AI亮相2025高考&#xff0c;40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕&#xff0c;江西、…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

Python训练营-Day26-函数专题1:函数定义与参数

题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一个名为 calculate_circle_area 的函数&#xff0c;该函数接收圆的半径 radius 作为参数&#xff0c;并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求&#xff1a;函数接收一个位置参数 radi…...

QT开发技术【ffmpeg + QAudioOutput】音乐播放器

一、 介绍 使用ffmpeg 4.2.2 在数字化浪潮席卷全球的当下&#xff0c;音视频内容犹如璀璨繁星&#xff0c;点亮了人们的生活与工作。从短视频平台上令人捧腹的搞笑视频&#xff0c;到在线课堂中知识渊博的专家授课&#xff0c;再到影视平台上扣人心弦的高清大片&#xff0c;音…...