阅读内容

关于Oracle数据库密码文件的一点学习

[日期:2008-09-05] 来源:Linux社区  作者:Linux


1.创建密码文件的命令
orapwd file=<> password=<> entries=最大数目
这里的file命名规则在unix/linux下 orapw,在windows下为 pwd.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, 没有例外.

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.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重新创建一个就可以了




本文评论       全部评论
发表评论
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款


点评: 字数
姓名:

L
I
N
U
X


GOOGLE搜索
Google