关于oracle密码文件的一点学习


创建密码文件的命令

    orapwd  file=<>  password=<> entries=最大数目

    这里的file命名规则在unix/linux下 orapw<ORACLE_SID>,在windows下为 pwd<SID>.ora

    具体资料看下面的描述(这是pub中一个网友的总结)

    1. unix 环境:

    查了Administrator‘s Reference 10g Release 2 (10.2) for UNIX-Based Operating Systems.

    1. Log in as the Oracle software owner.

    2. Use the orapwd utility to create the password file as follows:$ $ORACLE_HOME/bin/orapwd file=filename password=password entries=max_users……

    filename The name of the file in which password information is written

    The name of the file must be orapwsid, and you must supply the full path name. Its contents are encrypted. Typically, the password file is created in the $ORACLE_HOME/dbs directory.

    请注意黑体字, 所以unix环境中, password file 一定是要用 orapw<SID>, 没有例外。

    2. windows 环境:

    查了Platform. Guide 10g Release 2 (10.2) for Microsoft Windows (32-Bit) (没查64-bit)

    To create and populate a password file:

    (1). Create a password file with the Password Utility:

    C:> orapwd FILE=PWDsid.ora PASSWORD=password ENTRIES=max_users

    where

     | FILE specifies the password filename.

    | SID identifies the database instance.

    | PASSWORD sets the password for account SYS.

    | ENTRIES sets maximum number of entries in password file. This corresponds to maximum number of distinct users allowed to connect to the database simultaneously with either the SYSDBA or the SYSOPER DBA privilege.

    (2). Set initialization parameter file parameter REMOTE_LOGIN_PASSWORDFILE to exclusive, shared, or none.

    In search of the password file, Oracle Database looks in the registry for the value of parameter

    ORA_SID_PWFILE. If no value is specified, then it looks in the registry for the

    value of parameter ORA_PWFILE, which points to a file containing usernames,

    passwords, and privileges. If that is not set, then it uses the default:

    ORACLE_BASEORACLE_HOMEDATABASEPWDsid.ORA.

    The default value is shared.

    请注意黑体字, windows 环境中, 很大的部分是基于 registry 中变量 ora_sid_pwfile 或者 ora_pwfile 的设置, 缺省的值, 正如paulyibinyi兄弟指出的, 是 pwd<SID>.ora (unix中是没有这个。ora后缀的)。

    二、在windows下对于connect /as sysdba及其它用户可以不用密码就能登录的问题

    1.这是因为oracle采用了 OS认证的方式,具体的可以查看 sqlnet.ora具体同容如下

    SQLNET.AUTHENTICATION_SERVICES= (NTS)

    将其改成SQLNET.AUTHENTICATION_SERVICES= (NONE)

    这样就是oracle认证方式了

    2.因为用的OS认证方式,可以在操作系统->控制面版->计算机管理->用户 将当前用户的属性组 ORA_DBA去掉,这时如果没有用户名及密码则不可以。

    如下:

    SQL> connect /as sysdba ERROR:ORA-01031: insufficient privileges

    SQL> connect sys/oracle as sysdba

    已连接。

    三、利用alter user identified by ……来修改密码alter user sys identified by abc一下,就连数据库中的密码和密码文件中的密码一起改成abc了;

    四、如果密码文件丢失了如何办?

    利用 orapwd重新创建一个就可以了

本文作者:
« 
» 
快速导航

Copyright © 2016 phpStudy | 豫ICP备2021030365号-3