一次解决ORA-12560的经历
来源:互联网 发布:淘宝恶意退款不退货 编辑:程序博客网 时间:2024/04/28 05:49
一次解决ORA-12560的经历
接到通知一台windows 2003 server上的Oracle数据库出错,无法登录。我从远程桌面登录上去看看,有以下提示:
C:\>sqlplus / as sysdba
SQL*Plus: Release 10.2.0.1.0 - Production on 星期四 7月 24 18:59:04 2008
Copyright (c) 1982, 2005, Oracle. All rights reserved.
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
请输入用户名:
ERROR:
ORA-12560: TNS: 协议适配器错误
SP2-0157: 在 3 次尝试之后无法连接到 ORACLE, 退出 SQL*Plus
C:\>
从提示上看似乎是listener的问题,在sqlnet.log中有如下提示:
Tracing not turned on.
Tns error struct:
ns main err code: 12564
TNS-12564: TNS: 拒绝连接
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
打开listener的trace,却找不到任何问题,在alert_log中也没有出错信息,从metalink上搜索的结果看似乎是oracle有关的环境变量设置的问题,但在注册表和环境变量中查找怎么也找不到什么问题。
怀疑是某个processes的参数设小了,在v$resource_limit中查没有异常,但还是把processes从150改到了1024。
从v$session中看每次session到50时就不能再增加了,对新的连接报“ORA-12560: TNS: 协议适配器错误”。
初步结论:listener没有问题,是oracle后台进程接收到监听后不能产生新的线程来处理连接。
到处找哪个参数跟50的限制有关,也没有找到。
用toad的health check也没有看出什么问题。
又查了一下内存参数,发现SGA偏大,打算改小点,结果奇妙的事情发生了:
SQL> show parameter pga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
pga_aggregate_target big integer 194M
SQL> show parameter sga
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 1736M
sga_target big integer 1736M
SQL> alter system set sga_target=1024m;
alter system set sga_target=1024m
*
第 1 行出现错误:
ORA-02097: 无法修改参数, 因为指定的值无效
ORA-00827: 无法将 sga_target 压缩到指定值
SQL> alter system set sga_target=1024m scope=spfile;
系统已更改。
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup;
ORA-00821: Specified value of sga_target 1024M is too small, needs to be at least 1736M
SQL> startup nomount;
ORA-00093: _shared_pool_reserved_min_alloc must be between 4000 and 0
32位的Oracle的SGA最大只能到1.7G。
看看pfile,问题找到了,谁把这个shared_pool_size的参数设置得奇大?!
*.job_queue_processes=10
*.large_pool_size=0
*.log_archive_dest_1='LOCATION=d:\oraguidang'
*.log_archive_format='ARC%S_%R.%T'
*.nls_language='SIMPLIFIED CHINESE'
*.nls_territory='CHINA'
*.open_cursors=300
*.pga_aggregate_target=203423744
*.processes=1024
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=1073741824
*.sga_max_size=1073741824
*.shared_pool_size=1363148800
*.shared_servers=1
*.undo_management='AUTO'
从pfile中把shared_pool_size去掉后系统恢复正常!
总结:原来SGA参数设置的问题会也反应到listener上呀!呵呵~~~~~~~
- 一次解决ORA-12560的经历
- 一次解决OOM的经历
- TNS-12560的一次解决
- TNS-12560的一次解决
- Microsoft Windows 2000 Server 上ORA-01089到ora-27100问题的一次解决过程!
- 一次解决“计算机管理”中用户列表为空的经历
- 一次解决DB2接口文件到Oracle无法导入问题的经历
- 一次解决DB2接口文件到Oracle无法导入问题的经历 .
- 访问Access数据库报错的一次解决经历 Microsoft JET Database Engine(0x80004005)
- 一次解决libgcc_s.so.1 must be installed for pthread_cancel to work的经历
- after Normal block(#47) at 0x001D3908 错误的一次解决经历
- tomcat(一):一次解决tomcat9无法登陆控制界面的经历
- 记一次解决Fedora25上grub2-reboot命令不生效的经历
- ORA-00600的解决经历
- 一次解决问题的经过
- 记一次解决问题的过程
- 一次解决系统性能的日记(Solaris8)
- 一次解决系统性能的日记(Solaris8)
- Android官方技术文档翻译——新构建系统概述
- 面试珠玑 大小端详解
- Linux下 检测在使用的IP
- Paint类常用方法
- poj1062解题报告
- 一次解决ORA-12560的经历
- 设计模式之桥接模式(Bridge)--结构模型
- hollister soldes the police and hospital logistics park in the lounge driver found 812 small ball
- sql server中的五种数据类型
- 面试珠玑 C语言实现字符串倒序
- django接收模板变量并拆分
- 某日期列天数加一
- MySQL常用命令
- Customizing the SDK Splash Screen