在我工作的地方,一些数据库会从生产环境复制到测试环境,但 DBA 在复制后立即将(新)测试数据库上的所有密码设置为过期,以便不知道生产密码。因此,如果我运行 sqlplus 并使用特定用户名连接到测试数据库,它会立即提示我输入新密码。
有没有办法通过java应用程序或shell脚本自动更改特定用户的过期oracle 10g数据库密码?
On Unix
如果您使用的是 UNIX,则可以使用 shell 脚本。
我已经这样测试过:
drop user foo cascade;
create user foo identified by old_password password expire;
grant create session to foo;
exit
现在使用这个小脚本:
cat <<DOG | sqlplus foo/old_password
new_password
new_password
exit
DOG
并使用 scriptlet 更改密码
sh change_expired_password.sh
然后修改密码就可以连接实例了:
sqlplus foo/new_password@ORCL
显然,你会把cat ...
在适合您的 shell 脚本中构建。
在 Windows 上
在 Windows 上你可以使用像这样的批处理文件
@(
echo new_password
echo new_password
) | sqlplus foo/old_password@ORCL
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)