oraclepipe理员帐户可以被禁用?

如果我禁用所有的Oraclepipe理员帐户(sys,sysman ..)并使用新的pipe理员帐户,是否有任何不良影响? 我担心oracle本身可能会使用这种默认pipe理帐户进行处理?

谢谢。

您不能locking/禁用SYSDBA帐户(例如,SYS),因为它们没有以相同的方式对数据库进行身份validation。 这是我在一个普通用户上运行的一个小testing,我授予了SYSDBA,然后locking了这个帐户。 用户仍然可以以SYSDBA身份进入,而不是像普通用户那样进入:

C:\>sqlplus test@testdb as sysdba SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 26 10:14:42 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter password: Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL> quit Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options C:\>sqlplus test@testdb SQL*Plus: Release 10.2.0.1.0 - Production on Mon Apr 26 10:23:43 2010 Copyright (c) 1982, 2005, Oracle. All rights reserved. Enter password: ERROR: ORA-28000: the account is locked Enter user-name: C:\> 

当然,如果我可以以SYSDBA用户身份进入,那么我可以解锁我的账户,然后再以普通用户身份进入。

我不知道你为什么要这样做。 这似乎不是一个好主意。 如果实际上可以lockingSYSDBA帐户,则可能导致数据库无法访问。 除了SYS和SYSTEM之外,创build数据库时由Oracle创build的所有帐户都被默认locking。 你想达到什么目的?

编辑:

以下是SYSDBA可能被locking的唯一场景:

  1. 删除实例的密码文件(通常是pwd.ora
  2. 让你的SQLNET.AUTHENTICATION_SERVICES =(NONE)(需要SYSDBA的密码访问)
  3. 忘记您的oracle DBA OS帐户密码,以便您不能重新创buildpwd.ora文件
  4. 忘记您的操作系统pipe理员密码,以便您不能解锁或创build新的DBA帐户。

这个场景意味着你几乎要搞砸了。 它还假定你不能修改定义了authentication_services参数的sqlnet.ora文件,否则你可以将它设置回NTS以允许OSauthentication(假定为windows)。

您可以通过将REMOTE_LOGIN_PASSWORDFILE设置为none来防止远程loginsysdba帐户。 sysdba用户只能在login到运行数据库的计算机上时使用“connect / as sysdba”进行身份validation。

但你仍然不得不回答你为什么要这样做。 而你的意思是不良的影响。