今天已SYS身份连接数据库时出错,权限不足,不知道是无意中修改了SYS的密码还是怎么回事。但幸好SYSTEM的密码没有忘记。 下面是我修改Oracle数据库密码的步骤: 1.以SYSTEM身份进去 2.SQL> show parameter password; remote_login_passwordfile='exclusive' scope=spfile; 命令修改remote_login_passwordfile 3.CMD进入命令行,输入如下命令 orapwd file=C:"oracle"product"10.2.0"db_3"database"pwdorcl1.ora password=test 注意:file=C:"oracle"product"10.2.0"db_3"database"pwdorcl1.ora,pwdorcl1.ora是你的密码文件名字,命名规则为pwdxxx.ora,xxx是你的数据库名,不是实例名。然后此文件得放在固定目录下,9i,10i的固定目录为oracle_home"database目录,如果你的目录下原先已存在名字相同的文件,事先得删掉。 4.现在就可以以SYS的身份登录进去了具体关于SYS密码及参数remote_login_passwordfile 的信息请参考如下:Oracle中,假如用户要以特权用户身份登录Oracle,具体有两种身份验证的方法: 因此,管理好密码文件,对于控制授权用户从远端或本机登录Oracle数据库系统,执行数据库管理工作,都具有特别重要的意义。 Oracle数据库密码文件存放有超级用户INTERNAL/SYS的口令及其他特权用户的用户名/口令,一般存放在ORACLE_HOME\DATABASE的目录下 一、Oracle 数据库密码文件的创建: 在使用Oracle Instance Manager创建一数据库实例的时侯,在ORACLE_HOME\DATABASE目录下还自动创建了一个与之对应的密码文件,文件名为PWDSID.ORA,其中SID代表相应的Oracle数据库系统标识符。此密码文件是进行初始数据库管理工作的基础。在此之后,管理员也可以根据需要,使用工具ORAPWD.EXE手工创建密码文件,命令格式如下: c:" ORAPWD FILE=< FILENAME> PASSWORD =
各命令参数的含义为: 二、 设置初始化参数REMOTE_LOGIN_PASSWORDFILE: 在Oracle数据库实例的初始化参数文件中,此参数控制着密码文件的使用及其状态。它可以有以下几个选项: 在REMOTE_LOGIN_PASSWORDFILE参数设置为EXCLUSIVE、SHARED情况下,Oracle系统搜索密码文件的次序为:在系统注册库中查找 ORA_SID_PWFILE参数值(它为密码文件的全路径名);若未找到,则查找ORA_PWFILE参数值;若仍未找到,则使用缺省值ORACLE_HOME\ DATABASE\PWDSID.ORA;其中的SID代表相应的Oracle数据库系统标识符。 三、 向密码文件中增加、删除用户: 当初始化参数REMOTE_LOGIN_PASSWORDFILE设置为EXCLUSIVE时,系统允许除INTERNAL/SYS以外的其他用户以管理员身份从远端或本机登录到Oracle数据库系统,执行数据库管理工作;这些用户名必须存在于密码文件中,系统才能识别他们。由于不管是在创建数据库实例时自动创建的密码文件,还是使用工具ORAPWD.EXE手工创建的密码文件,都只包含INTERNAL/SYS用户的信息;为此,在实际操作中,可能需要向密码文件添加或删除其他用户账号。 由于仅被授予SYSOPER/SYSDBA系统权限的用户才存在于密码文件中,所以当向某一用户授予或收回SYSOPER/SYSDBA系统权限时,他们的账号也将相应地被加入到密码文件或从密码文件中删除。由此,向密码文件中增加或删除某一用户,实际上也就是对某一用户授予或收回SYSOPER/SYSDBA系统权限。 要进行此项授权操作,需使用SYSDBA权限(或INTERNAL账号)连入数据库,且初始化参数REMOTE_LOGIN_PASSWORDFILE的设置必须为EXCLUSIVE. 具体操作步骤如下:创建相应的密码文件;设置初始化参数REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE; 2.创建相应用户账号,对其授权(包括SYSOPER和SYSDBA): 四、 使用密码文件登录: 有了密码文件后,用户就可以使用密码文件以SYSOPER/SYSDBA权限登录Oracle数据库实例了,注意初始化参数REMOTE_LOGIN_PASSWORDFILE应设置为EXCLUSIVE或SHARED.任何用户以SYSOPER/SYSDBA的权限登录后,将位于SYS用户的Schema之下,以下为两个登录的例子: 1.以管理员身份登录;假设用户scott已被授予SYSDBA权限,则他可以使用以下命令登录:CONNECT scott/tiger AS SYSDBA 2.以INTERNAL身份登录:CONNECT INTERNAL/INTERNAL_PASSWORD 五、密码文件的维护: 1. 查看密码文件中的成员: 2. 扩展密码文件的用户数量: 3. 修改密码文件的状态: 4. 修改密码文件的存储位置: 5. 删除密码文件: |
|