ITPub博客

首页 > 数据库 > Oracle > Oracle10g Data guard会不会自动更新sys用户密码?

Oracle10g Data guard会不会自动更新sys用户密码?

原创 Oracle 作者:kuqlan 时间:2011-08-12 19:02:58 0 删除 编辑

通过如下测试证明,在Oracle 10g中修改主库的sys用户密码,不会自动更新到备库的数据库和密码文件上。测试过程如下:

1、在主库

$sqlplus / as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Fri Aug 12 15:59:14 2011

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

SQL> select open_mode from v$database;

OPEN_MODE

----------

READ WRITE

SQL> create user test identified by test;

User created.

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP

------------------------------ ----- -----

SYS TRUE TRUE

[@more@]

SQL> grant connect , alter user to test;

Grant succeeded.

SQL> conn test/test

Connected.

SQL> grant select on dba_users to test;

Grant succeeded.

SQL> conn test/test

Connected.

SQL> col username format a10

SQL> col password format a30

SQL> select password , username from dba_users where username ='TEST';

PASSWORD USERNAME

------------------------------ ----------

7A0F2B316C212D67 TEST

SQL> alter user test identified by test123;

User altered.

SQL> select password , username from dba_users where username ='TEST';

PASSWORD USERNAME

------------------------------ ----------

7C029A1EC393C725 TEST

SQL> conn / as sysdba

Connected.

SQL> show user

USER is "SYS"

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP

---------- ----- -----

SYS TRUE TRUE

通过以上可以看出,如果没有给sysdba或sysoper权限,则用户虽然在数据库字典中密码发生变化,但是不会写到密码文件中。

SQL> grant sysdba to test;

Grant succeeded.

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP

---------- ----- -----

SYS TRUE TRUE

TEST TRUE FALSE

只要给予sysdba权限,才能写到密码文件中;

2、备库的查询结果如下:

$sqlplus sys/abc123@standby as sysdba

SQL*Plus: Release 10.2.0.5.0 - Production on Fri Aug 12 15:57:35 2011

Connected to:

Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - 64bit Production

SQL> select open_mode from v$database;

OPEN_MODE

----------

MOUNTED

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP

------------------------------ ----- -----

SYS TRUE TRUE

在主库给test用户授权sysdba权限前后多次执行以上命令,发现用户根本没有同步过来

3、在主库重新修改Test用户(sysdba)密码

SQL> alter user test identified by test;

User altered.

SQL> select password , username from dba_users where username ='TEST';

PASSWORD USERNAME

------------------------------ ----------

7A0F2B316C212D67 TEST

4、在备库再查询v$pwfile_users

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP

------------------------------ ----- -----

SYS TRUE TRUE

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/18841027/viewspace-1053771/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
Oracle技术爱好者,Oracle10g OCM,网名 KUQLAN ,具有7的年Oracle数据库管理实践,曾经参加过BOSS、ERP、云计算(OpenStack+kvm)等项目的一线工作。以前写博客是为了自己,而现在是为了自己和别人。因为领会了帮助别人和分享、沉淀和积累会创造快乐和价值...

注册时间:2009-01-26

  • 博文量
    183
  • 访问量
    1681002