正确认识password file的作用

来源:pcdog 作者:佚名 2008-04-24 出处:pcdog.com

linux  oracle  oracle数据库  操作系统  
上一页 1 2 3 4 下一页 

    5. remote_login_passwordfile = shared

    Oracle9i文档说明:

    SHARED

    More than one database can use a password file. However, the only user recognized by the password file is SYS.

    ——多个数据库可以共享一个口令文件,但是只可以识别一个用户:SYS

    SQL> select * from v$pwfile_users;

    USERNAME SYSDB SYSOP

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

    SYS TRUE TRUE

    SQL> grant sysdba to eygle;

    grant sysdba to eygle

    *

    ERROR at line 1:

    ORA-01994: GRANT failed: cannot add users to public password file

    SQL> show parameter password

    NAME TYPE VALUE

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

    remote_login_passwordfile string SHARED

    大家可以发现,此时的口令文件中是不能添加用户的。

    很多人可能会问:口令文件的缺省名称是orapw,如何才能共享?

    其实Oracle数据库在启动时,首先查找的是orapw的口令文件,假如该文件不存在,则开始查找,orapw的口令文件。如果口令文件命名为orapw,多个数据库就可以共享。

    再来看一下测试:

    [oracle@jumper dbs]$ sqlplus "/ as sysdba"

    SQL*Plus: Release 9.2.0.3.0 - Production on Tue Jul 6 09:40:34 2004

    Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

    Connected to:

    Oracle9i Enterprise Edition Release 9.2.0.3.0 - Production

    With the Partitioning, OLAP and Oracle Data Mining options

    JServer Release 9.2.0.3.0 - Production

    SQL> shutdown immediate

    Database closed.

    Database dismounted.

    ORACLE instance shut down.

    SQL> !

    [oracle@jumper dbs]$ ls

    hsjf initdw.ora inithsjf.ora init.ora lkHSJF orapwhsjf spfilehsjf.ora

    [oracle@jumper dbs]$ mv orapwhsjf orapwhsjf.bak

    [oracle@jumper dbs]$ exit

    exit

    SQL> startup

    ORACLE instance started.

    Total System Global Area 235999908 bytes

    Fixed Size 451236 bytes

    Variable Size 201326592 bytes

    Database Buffers 33554432 bytes

    Redo Buffers 667648 bytes

    ORA-01990: error opening password file '/opt/oracle/product/9.2.0/dbs/orapw'

    ——它是最后查找的文件

    ORA-27037: unable to obtain file status

    Linux Error: 2: No such file or directory

    Additional information: 3

    建立orapw口令文件,此时可以打开数据库。

    SQL> !

    [oracle@jumper dbs]$ ls

    hsjf initdw.ora inithsjf.ora init.ora lkHSJF orapwhsjf.bak spfilehsjf.ora

    [oracle@jumper dbs]$ cp orapwhsjf.bak orapw

    [oracle@jumper dbs]$ exit

    exit

    SQL> alter database open;

    Database altered.

    SQL> show parameter passw

    NAME TYPE VALUE

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

    remote_login_passwordfile string SHARED

    SQL>



上一页 1 2 3 4 下一页 
上一篇:解析Oracle数据库中管理实例的方法
下一篇:Oracle数据库中管理表空间和数据文件