即使在数据库刷新后如何在oracle 9i中维护用户密码?

时间:2014-10-03 06:51:22

标签: database oracle passwords

每个月我们都会进行数据库刷新,因此我假设删除了用户帐户,当发生这种情况时,我们将再次重新创建用户并提供另一批密码。为方便起见,有没有一种方法可以在刷新后保留用户使用的密码,这样每次刷新时都不需要设置另一批密码?这是一项令人厌烦的任务,特别是如果涉及许多用户。谢谢你的帮助。或刷新后保留用户帐户?

[编辑]

我的大四学生说在刷新期间将删除所有用户帐户。我们可以重置密码但很烦人,因为我们必须通过电子邮件向用户发送新密码。

1 个答案:

答案 0 :(得分:1)

这将取决于您所谓的“数据库刷新”。

至少,在开始“刷新”过程之前,您可能会以某种方式保存散列用户密码,然后在最后恢复它们。

以下查询将使用dbms_metadata.get_ddl返回您可能用于恢复各种密码(散列)值的SQL 语句列表:

-- in SQL*plus use the following lines so CLOB are not truncated:
-- SET LONG 3000
-- SET LIN 200
-- COLUMN USERCREATE FORMAT A200

select
   dbms_metadata.get_ddl('USER', username) || '/' usercreate
from
   dba_users;

在我的测试系统(Oracle 11g Express Edition)上,这将产生类似的东西:

   CREATE USER "SONIA" IDENTIFIED BY VALUES 'S:A4CA3.....596'
      TEMPORARY TABLESPACE "TEMP"/
   CREATE USER "SYLVAIN" IDENTIFIED BY VALUES 'S:23FFA.....8B0'
      DEFAULT TABLESPACE "USERS"
      TEMPORARY TABLESPACE "TEMP"/
   ...