这更像是一个概念问题。我是一个监控团队,我们目前正在开始监控Oracle数据库。该公司要求每90天更新一次密码。我们需要监控1000个数据库,并且不希望每隔90天就进入所有数据库并更改密码。
自动化此过程的最佳方法是什么?我正在考虑尝试编写一个python脚本来连接数据库,然后更新密码;我对甲骨文知之甚少,甚至可能吗?是否有一个工具可以做这样的事情?
寻找有关如何自动执行此过程的一些首选方法或建议。
由于
答案 0 :(得分:0)
首先,您可以查看有关用户帐户的内容:
SELECT username, user_id, account_status, expiry_date
FROM dba_users ;
e.g。
USERNAME USER_ID ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE CREATED
A 1 OPEN [NULL] 12/28/03 09/29/03
B 2 OPEN [NULL] 04/19/04 01/20/04
C 3 EXPIRED [NULL] 06/22/04 06/26/01
您可以按如下方式更改用户:
ALTER USER test VALID UNTIL 'Jan 31 2020';
Oracle会要求EXPIRED用户在登录时通过SLQ Developer或Toad重置密码。
最后确保根据需要设置用户个人资料:
select * FROM dba_profiles
e.g。
select * FROM dbA_profiles where profile = ‘DEFAULT’;
PROFILE RESOURCE_NAME RESOURCE LIMIT
—————————— ——————————– ——– —————————————-
..
DEFAULT PASSWORD_LIFE_TIME PASSWORD UNLIMITED
最后更改用户个人资料:
alter user SCOTT profile APPLICATIONS;
不要犹豫,要求我提供更多的澄清。
泰德
答案 1 :(得分:0)
您的要求不明确有助于探索更好的解决方案
块引用
我正在考虑尝试编写一个python脚本来连接数据库,然后更新密码
块引用
这是有效的,如果您知道现有密码(或具有DBA访问权限),那么您仍然可以循环执行,只要您将所有密码更新为相同的密码,或者有办法生成密码使用预定义的模式: 更改密码的命令:
alter user <username> identified by <password>
一旦连接到用户或sys
,就可以在循环中使用python或任何脚本语言