1. 环境:
winxp , oracle9i
2. 创建资料档案库的情况
创建一个新的数据库实例,来存放资料库
本来这个密码只出现一次,可是当时没随手记下。
并且最重要sysman的初始密码(oem_temp)已经改掉,所以没法登录。
3. 解决过程:
(1)在服务器端,以OS验证方式登录存放档案资料库的数据库实例(一般为OEMREP)
set ORALCE_SID=OEMERP
c:\sqlplus /nolog
sql>connect "/as sysdba"
(2)重设sysman密码
sql>@?/sysman/admin/vduresetsysman.sql
(3)重新登录,密码已变为oem_temp
4. 解决过程中遇到的各种情况的解决办法
(1) set ORALCE_SID=OEMERP
设置环境变量
(2) sql>connect "/as sysdba" 权限不够
登录操作系统的用户是否属于 administrator 和 ora_dba 组
如果还不行的话(反正我的加入ora_dba组就可以了),
sqlnet.ora中加上这句 SQLNET.AUTHENTICATION_SERVICES= (NTS)
(3) sql>@?/sysman/admin/vduresetsysman.sql 表或者视图不存在
update SMP_VDU_PRINCIPALS_TABLE set password = '9ed0fa64a76b4bd912310580f74926ca'
where principal_name = UPPER('SYSMAN');
commit;
上面就是这个sql的内容。“SMP_VDU_PRINCIPALS_TABLE”是属于用户“OEM_机器名_OEMREP”,而我们以OS验证的方式登录的,实际上是sys用户。所以我的想法是在上面的表名前加上用户名即可。
我并不是以我上面的想法解决的。
我在oracle 文档上看到execute smp_maintenance.reset_sysman(); 可以回复默认密码
也需要指定用户名.
execute OEM_机器名_OEMREP.smp_maintenance.reset_sysman();
哈哈,成功搞定.
5. 更改该数据库几个重要的用户的密码
sys
system
oem_机器名_oemrep
alter user sys identified by 密码