1. 确定修改sys密码的原因
在修改Oracle数据库的sys密码之前,首先您需要确定清楚为何需要修改此密码。通常情况下,修改sys密码的原因有以下几种:
忘记了sys密码
为了安全原因需要修改sys密码
多个用户共用sys账户,需要定期更换密码
根据具体情况确定修改sys密码的原因,以便更好地规划修改步骤。
2. 连接到Oracle数据库
在修改sys密码之前,您需要运行如下命令先连接到Oracle数据库。
sqlplus / as sysdba
注意:如果您遇到“ORA-01017: invalid username/password; logon denied”的问题,请检查您输入的用户名和密码是否正确。
3. 修改sys密码
3.1. 直接修改sys密码
如果您已经知道当前的sys密码,只需使用如下命令即可直接修改sys密码。
alter user sys identified by new_password;
注意:请将new_password替换为您想要设置的新密码。
3.2. 在不知道sys密码的情况下修改
如果您不知道当前的sys密码,需要使用以下步骤修改sys密码。
停止Oracle数据库服务
编辑Oracle数据库中的密码文件
启动Oracle数据库服务
使用新密码连接到Oracle数据库
修改sys密码
3.2.1. 停止Oracle数据库服务
请使用如下命令来停止Oracle数据库服务。
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> shutdown immediate
3.2.2. 编辑Oracle数据库中的密码文件
请使用如下命令打开密码文件。
[oracle@localhost admin]$ cd $ORACLE_HOME/dbs
[oracle@localhost dbs]$ ls -lrt
total 152
-rw-r--r-- 1 oracle oinstall 11585 Feb 5 20:05 init.ora
-rw-r-----. 1 oracle oinstall 4446 Aug 26 2020 lkBOZVTD
-rw-r-----. 1 oracle oinstall 4444 Aug 26 2020 lk.ora
-rw-r--r--. 1 oracle oinstall 2765 Aug 26 2020 orapworcl
-rw-r--r-- 1 oracle oinstall 1536 Feb 5 20:05 spfile.ora
[oracle@localhost dbs]$ vi orapw${ORACLE_SID}
将文件中的sys密码行修改为如下格式。
sys:${new_password}:
注意:请将new_password替换为您想要设置的新密码。
3.2.3. 启动Oracle数据库服务
请使用如下命令启动Oracle数据库服务。
[oracle@localhost ~]$ sqlplus / as sysdba
SQL> startup
3.2.4. 使用新密码连接到Oracle数据库
请使用如下命令连接到Oracle数据库。
[oracle@localhost ~]$ sqlplus sys/${new_password} as sysdba
注意:请将new_password替换为您刚才设置的新密码。
3.2.5. 修改sys密码
请使用如下命令修改sys密码。
SQL> alter user sys identified by ${new_password};
注意:请将new_password替换为您想要设置的新密码。
4. 更改密码文件的文件访问权限
请使用如下命令更改密码文件的文件访问权限。
[oracle@localhost dbs]$ cd ${ORACLE_HOME}/dbs
[oracle@localhost dbs]$ chmod 600 orapw${ORACLE_SID}
注意:${ORACLE_HOME}/dbs表示您的密码文件所在的目录,${ORACLE_SID}表示您的实例名称。
5. 测试新的sys密码是否生效
请使用如下命令连接到Oracle数据库。
[oracle@localhost ~]$ sqlplus sys/${new_password} as sysdba
注意:请将new_password替换为您刚才设置的新密码。
6. 总结
本文介绍了如何修改Oracle数据库的sys密码。无论您是因为忘记原密码、为了安全原因需要修改密码还是多个用户共用sys账户,都需要根据需求选择相应的修改方式。修改sys密码前需要从根本上确定修改原因,并且在修改完成后需要进行相应的测试和权限管理。