1521 error1

先用root登录MYSQL服务器,执行 
mysql>set  password  for  你要用的用户名 @"localhost"=old_password('这个用户的密码');
    原因是因为你使用的mysql服务器版本中使用了新的密码验证机制,这需要客户端的版本要在4.0以上,原来的密码函数被改为old_password();,这样使用password()生成的密码在旧的版本上就可以解决这个问题了.

转载于:https://www.cnblogs.com/riky/archive/2009/08/26/1554596.html

<think>好的,我需要处理用户关于Oracle错误12514的查询。首先,用户提供了几个引用,我需要检查这些引用是否与错误12514相关。查看引用[1],它主要是关于环境变量设置的,可能和数据库配置有关,但不确定是否直接导致12514错误。引用[2]提到了GI/RAC数据库安装问题,但错误12514通常与监听器相关,可能和安装问题关系不大。引用[3]讨论的是“library cache lock”等待事件,这和SQL共享问题有关,可能与当前错误无关。 接下来,我需要回忆一下Oracle错误12514的常见原因。通常,这个错误是监听器无法识别连接描述符中指定的服务名。可能的原因包括监听器未正确配置服务名、服务名拼写错误数据库实例未注册到监听器,或者监听器未启动。 用户需要具体的原因和解决方案。我应该分步骤说明,先检查监听器状态,确认服务名是否正确配置,验证数据库实例是否注册,以及检查TNSNAMES.ORA文件中的配置。可能还需要提到动态注册和静态注册的区别,以及如何重启监听器。 需要确保回答结构清晰,使用中文,并正确应用LaTeX格式。同时生成相关问题,比如如何检查监听器状态,如何配置静态注册,TNSNAMES.ORA的作用等。最后,确保引用正确的参考资料,虽然现有的引用可能不直接相关,但如果有必要的话,可以指出用户提供的引用可能涉及其他问题,而12514的解决方案主要基于常规处理步骤。</think>### Oracle错误ORA-12514的原因及解决方法 #### 1. 错误原因 ORA-12514表示监听器无法识别客户端连接请求中指定的服务名。常见原因包括: - **监听器未配置服务名**:监听器配置文件(`listener.ora`)中未定义对应服务名[^1]。 - **服务名拼写错误**:客户端连接字符串中的服务名与数据库实际服务名不一致。 - **数据库实例未注册到监听器**:数据库未通过动态或静态注册方式向监听器注册。 - **监听器未启动**:监听进程(如`LSNRCTL`)未运行。 #### 2. 解决步骤 **步骤1:检查监听器状态** ```bash lsnrctl status ``` 查看输出中是否包含目标服务名。若未列出,需检查`listener.ora`配置。 **步骤2:验证`listener.ora`配置** 确保文件(默认路径:`$ORACLE_HOME/network/admin/listener.ora`)包含以下内容: ```bash SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = <SID>) (ORACLE_HOME = $ORACLE_HOME) (GLOBAL_DBNAME = <service_name>) ) ) ``` **步骤3:确认数据库实例注册** - **动态注册**:需确保数据库参数`SERVICE_NAMES`和`INSTANCE_NAME`已设置: ```sql ALTER SYSTEM SET SERVICE_NAMES='<service_name>' SCOPE=BOTH; ALTER SYSTEM SET INSTANCE_NAME='<instance_name>' SCOPE=SPFILE; ``` - **静态注册**:需在`listener.ora`中手动添加服务名。 **步骤4:检查客户端`tnsnames.ora`配置** 确认客户端连接字符串中的服务名与监听器配置一致: ```bash <service_alias> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <hostname>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = <service_name>) ) ) ``` **步骤5:重启监听器** ```bash lsnrctl stop lsnrctl start ``` #### 3. 其他注意事项 - 若使用RAC环境,需检查SCAN监听器配置[^2]。 - 检查防火墙是否开放监听端口(默认1521)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值