【oracle学习】使用Oracle Net Manager过程中出现的问题

来源:互联网 发布:开票软件启动不了 编辑:程序博客网 时间:2024/05/20 04:46

ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务

打开C:\app\tang\product\11.2.0\dbhome_1\NETWORK\ADMIN(不同机器目录可能不同)目录下的listener.ora文件,发现此文件内容如下:
1。#listener.ora Network Configuration File:
2.C:\app\tang\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora
3.#Generated by Oracle configuration tools.
4.
5.SID_LIST_LISTENER=
6. (SID_LIST =
7. (SID_DESC =
8. (SID_NAME = CLRExtProc)
9. (ORACLE_HOME =C:\app\tang\product\11.2.0\dbhome_1)
10. (PROGRAM = extproc)
11. (ENVS =”EXTPROC_DLLS=ONLY:C:\app\tang\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
12. )
13. )
14.
15.LISTENER=
16. (DESCRIPTION_LIST =
17. (DESCRIPTION =
18. (ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))
19. (ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
20. )
21. )
22.
23.ADR_BASE_LISTENER= H:\Oracle

修改成如下内容(注意红色部分的内容):

1.#listener.ora Network Configuration File:

2.C:\app\tang\product\11.2.0\dbhome_1\NETWORK\ADMIN\listener.ora

3.#Generated by Oracle configuration tools.

4.SID_LIST_LISTENER=
添加此部分

 5. (SID_LIST = 6.      (SID_DESC = 7.     (GLOBAL_DBNAME = ORCL) 8.   (ORACLE_HOME =C:\app\tang\product\11.2.0\dbhome_1) 9.   (SID_NAME = ORCL)10.   )

11.(SID_DESC =
12. (SID_NAME = CLRExtProc)
13.(ORACLE_HOME = C:\app\tang\product\11.2.0\dbhome_1)
14.(PROGRAM = extproc)
15.(ENVS =”EXTPROC_DLLS=ONLY:C:\app\tang\product\11.2.0\dbhome_1\bin\oraclr11.dll”)
16. )
17.)
18.LISTENER=
19.(DESCRIPTION_LIST =
20.(DESCRIPTION =
21.(ADDRESS = (PROTOCOL = IPC)(KEY =EXTPROC1521))
22.(ADDRESS = (PROTOCOL = TCP)(HOST =localhost)(PORT = 1521))
23. )
24.)
25.ADR_BASE_LISTENER= C:\app\tang

ORA-28001: 口令已经失效

1)在CMD命令窗口中输入:

    sqlplus 用户名/密码@数据库本地服务名 as sysdba;(如:sqlplus scott/1234@oracle1 as sysdba;)

(2)查看用户的proifle是哪个,一般是default :

   sql>SELECT username,PROFILE FROM dba_users;
  
(3)查看对应的概要文件(如default)的密码有效期设置:

   sql>SELECT * FROM dba_profiles s WHERE s.profile=’DEFAULT’ AND resource_name=’PASSWORD_LIFE_TIME’;
  
(4)将概要文件(如default)的密码有效期由默认的180天修改成“无限制”:

     sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

修改之后不需要重启动数据库,会立即生效。

(5)修改后,还没有被提示ORA-28002警告的用户账号不会再碰到同样的提示;而已经被提示的用户账号必须再改一次密码,举例如下:

   $sqlplus / as sysdba

   sql>alter user 用户名 identified by <原来的密码> account unlock; —-不用换新密码

注意:oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。

ORA-28000账户被锁和解锁

使用sqlplus命令行解锁也很简单,用管理员账号sysdba角色登录,执行

alter user XXXX account unlock;

即可解锁。

0 0