oralce orapwd创建口令文件

简介: oracle 口令文件的创建和使用


   使用sys用户已sysdba身份登陆数据库时,如果是在数据库本地登陆,则不必使用口令文件,如果需要以dba身份远程登陆数据库,则必须配置口令文件,而且数据库配置参数remote_login_passwordfile值不能为none。在使用orapwd创建密码文件后是否立即生效,网络上有说需要重启数据库才能生效,也有说不需要的,做个实验验证一下。

1 检查数据库配置参数,不能为none
     

SQL> show parameter pass

NAME TYPE VALUE


remote_login_passwordfile string EXCLUSIVE
这里的参数是EXCLUSIVE,符合远程登录的条件

2 检查ORACLE_HOME/dbs目录下没有口令文件
[oracle@orclserv1 dbs]$ pwd
/u01/app/oracle/product/11.2.0/db_1/dbs
已经进入到ORACLE_HOME/dbs目录下
[oracle@orclserv1 dbs]$ ls -l
total 16
-rw-rw----. 1 oracle oinstall 1544 Jul 20 19:59 hc_orcl11g.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r-----. 1 oracle oinstall 24 Jun 22 22:20 lkORCL11G
-rw-r-----. 1 oracle oinstall 2560 Jul 20 20:00 spfileorcl11g.ora
可以看到这个目录下没有口令文件
3 使用sys用户以连接字符串形式登陆数据库
[oracle@orclserv1 admin]$ sqlplus sys/sys123@orcl11g as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 20 20:04:26 2019

Copyright (c) 1982, 2013, Oracle. All rights reserved.

ERROR:
ORA-01017: invalid username/password; logon denied

数据库里设置的sys密码是sys123,可以看到,虽然我们输入的密码是正确的,登陆依然被拒绝,显示无效的用户名和密码

4 在dbs目录下使用orapwd命令创建密码文件,oracle对密码文件的命名有要求,在创建密码文件时一定要符合密码文件的命名要求,否则,创建的密码文件无法被应用,具体的要求技术文件名为orapw$实例名,密码设置为现有sys密码
[oracle@orclserv1 dbs]$ orapwd file=orapworcl11g password=sys123
创建密码后在查看一下当前目录的内容,可以看到,当前目录下已经有了一个名字为orapworcl11g的文件,orcl11g是数据库实例名。
[oracle@orclserv1 dbs]$ ls
hc_orcl11g.dat init.ora lkORCL11G orapworcl11g spfileorcl11g.ora
5 再次登陆数据库
[oracle@orclserv1 dbs]$ sqlplus sys/sys123@orcl11g as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 20 20:27:51 2019

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

数据库不必重启,已经能够登陆。

6 删除创建的密码文件,重新创建密码文件,这次密码不使用原来的sys密码
创建sys密码文件时,如果不使用当前数据库的sys密码会怎样的,还是实验一下看看吧,删除掉原来的sys密码文件,重新创建一个,密码改为root123
[oracle@orclserv1 dbs]$ orapwd file=orapworcl11g password=root123
[oracle@orclserv1 dbs]$ ls -l
total 20
-rw-rw----. 1 oracle oinstall 1544 Jul 20 20:22 hc_orcl11g.dat
-rw-r--r--. 1 oracle oinstall 2851 May 15 2009 init.ora
-rw-r-----. 1 oracle oinstall 24 Jun 22 22:20 lkORCL11G
-rw-r-----. 1 oracle oinstall 1536 Jul 20 20:31 orapworcl11g
-rw-r-----. 1 oracle oinstall 2560 Jul 20 20:23 spfileorcl11g.ora
从目录的内容来看,密码文件已经创建,使用新的密码登录一下数据库看看:
[oracle@orclserv1 dbs]$ sqlplus sys/root123@orcl11g as sysdba

SQL*Plus: Release 11.2.0.4.0 Production on Sat Jul 20 20:32:10 2019

Copyright (c) 1982, 2013, Oracle. All rights reserved.

Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

SQL>

  成功登录了数据库,可以看出,使用不同于数据库sys密码创建了密码文件之后,如果要想用sys进行远程登录,就要使用密码文件里的密码了。

7 结论
     使用orapwd创建密码文件时,不必重启数据库,即可使用新密码以sysdba身份远程登陆数据库,且新密码可以不同于原来的sys密码。在忘记sys密码时,一种可行的方法是以操作系统方式登陆数据库,用alter user命令重新设置密码,也可以可以使用orapwd命令重置sys密码,这两种fang

相关文章
|
6月前
|
SQL 关系型数据库 MySQL
【权限提升】六种数据库提权&口令获取
【权限提升】六种数据库提权&口令获取
135 1
|
Oracle 关系型数据库 数据库
mstsc连接远程服务器CredSSP加密数据库修真、加密Oracle修正报错解决办法
mstsc连接远程服务器CredSSP加密数据库修真、加密Oracle修正报错解决办法
|
SQL 数据安全/隐私保护 Windows
SQLserver改本机用户密码 登录已锁定
在不知道密码的前提下 ,使用SQL Server Management Studio ,选择Windows身份验证,无需验证用户名密码。 然后依次打开安全性--->登录名--->找到你要修改密码的用户,右键---属性 进入这个页面
|
Oracle 关系型数据库 数据库
oracle学习8-使用profile管理用户口令
oracle学习8-使用profile管理用户口令
156 0
|
关系型数据库 数据安全/隐私保护 PostgreSQL
postgresql口令文件 追加
特殊情况说明
82 0
|
Oracle 关系型数据库 数据库
Oracle 数据库查看具有sysdba系统权限用户,设置、重置sys用户密码
Oracle 数据库查看具有sysdba系统权限用户,设置、重置sys用户密码
971 0
|
Oracle 关系型数据库
[20180316]改变oracle用户口令时限.txt
[20180316]改变oracle用户口令时限.txt --//昨天看了一篇blog,Stop password for user accounts expiring on Exadata,链接: --//https://blog.
1078 0
|
关系型数据库 MySQL Linux
|
关系型数据库 数据安全/隐私保护 PostgreSQL