ORA-12547经典错误处理

ORA-12547经典错误处理

      今天上午10:30左右,领导告知我,让我帮一同事将ORACLE安装下,他在安装的过程中出现了问题,报错,无法继续安装。
     
一、由于NLS_LANG设置错误,导致ora-12547错误
      我过去看了看,发现在AIX5.3系统中使用DBCA建库到最后一步点完成后立即就出现了ORA-12547 tns lost connect  这个错误,当时感觉挺蹊跷的,随后对系统的环境做了详细检查,异步IO是开启来的,HOST文件也是正常的,参数文件貌似也没有太大的问题,ulimit限制也都改成了-1; 也没有发现有明显的问题,安装日志里面是已经告诉说是操作系统环境不满足。当时实在是查不出来到底是什么原因导致就把之前安装的DBSOFT给删除了,重新进行DBSOFT的安装和建库,DBSOFT的安装中没有报任何错,到最好还是一样的问题,只好再次进行再次的检查,发现了在oracle用户环境配置文件里[db:oracle]$cat~/.profile里发现了NLS_LANG=ZHS16GBK这个参数,后面想想看这个参数并不是必须的,而且有可能会导致安装的时候报错,随即将其禁用掉,参数文件如下:$ cat .profile


PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH
if [ -s "$MAIL" ]           # This is at Shell startup.  In normal
then echo "$MAILMSG"        # operation, the Shell checks
fi                          # periodically.
ORACLE_BASE=/oracle
ORACLE_SID=orcl
ORACLE_HOME=$ORACLE_BASE/app/10.2.0/db_1
#NLS_LANG=ZHS16GBK
PATH=$ORACLE_HOME/bin:$PATH:
export  ORACLE_BASE ORACLE_SID ORACLE_HOME  PATH
$
   将其禁用后,再次DBCA建库,故障没有再重现,成功建库。
  
二、dbca建库出现这个问题,后面在网上搜索了下,基本上是由如下四种原因导致:
  1、异步IO导致dbca报ORA-12547
解决办法:
  AIX:
  a、smitty chaio  (只有AIX 5系列支持)
  b、把STATE to be configured at system restart 设置成available
  c、再次运行DBCA创建成功
  HP-UNIX 可以参考(Metalink Note:139272.1)
 
  a. 创建aio字符设备
   # /sbin/mknod /dev/async c 101 0x0
   # chown oracle:dba /dev/async
   # chmod 660 /dev/async
 
  b.用sam调整内核参数
     -> Kernel Configuration
        -> Drivers
           -> 选择'asyncdsk'
           -> Actions>Add Driver to Kernel. (此时pending state由out变为in状态)
      -> Kernel Configuration
        -> Configurable Parameters
           -> max_async_ports
              设置为初始化文件中的'processes'值+oracle后台进程数 (根据v$bgprocess,单实例后台进程数最多为78个)
 
  c. 用sam设置aio_max_ops
     -> Kernel Configuration
        -> Configurable Parameters
           -> aio_max_ops
           -> 可设置为默认值2048
       
  以上配置,主机需重构核心,重启.   
  d. 设置oracle用户必须有MLOCK权限。
   a. 设定dba组的MLOCK的权限
      roolt#setprivgrp dba MLOCK
 
    b. 避免重启后失效,需要设置:
       vi /etc/privgroup 添加如下行:
       dba MLOCK
  e.检查一下aio是否生效了
   #fuser /dev/async
   有进程列出来说明aio已经生效了。
 
 
 
  2、ulimit默认值没有修改
解决办法:
  Linux
  a、修改limits参数文件,添加如下内容
  vi /etc/security/limits.conf
  oracle soft nproc 2047
  oracle hard nproc 16384
  oracle soft nofile 1024
  oracle hard nofile 65536

  AIX
  a、修改limits参数文件,在最后如下添加如下内容:(注:-1为无限制使用)
  vi /etc/security/limits
default:     
fsize = -1   
core = 2097151
cpu = -1     
data = 262144
rss = 65536  
stack = 65536
nofiles = 2000
root: 
daemon:
bin:  
sys:  
adm:  
uucp: 
guest:
nobody:
lpd:  
oracle:  
data = -1
stack = -1


  3、Linux 下SELinux配置不正确,解决办法
  a、用root用户登录系统执行 setenforce 0   (不需要重启)
  b、修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,需要重启

 

  4、libaio(x86_64) is not installed(同AIX一样,是开启异步IO,在Linux下打这个包)
解决办法:
a、插入操作系统安装光盘
b、root用户登录系统挂载操作系统安装光盘:
   #mount -t iso9660 /dev/cdrom /mnt
   #cd /mnt/Server
c、检查并安装libaio包,执行如下命令
   #rpm -qa| grep -i ^libaio
   #rpm -ivh libaio-*.i386.rpm
   #rpm -ivh libaio-*.x86_64.rpm
d、检查刚才安装的包是否成功
   #rpm -qa | grep ^libaio
e、再次执行安装,问题解决

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/20674423/viewspace-720851/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/20674423/viewspace-720851/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: ORA-12547: TNS:lost contact是一个Oracle数据库连接错误。它表示在尝试与数据库建立连接时,客户端无法与数据库服务器建立有效的通信。这可能是由于网络问题、数据库服务器故障或配置错误引起的。\[1\] 要解决ORA-12547错误,可以尝试以下几个步骤: 1. 检查网络连接:确保客户端和数据库服务器之间的网络连接正常,并且没有任何阻塞或防火墙问题。 2. 检查监听器状态:使用lsnrctl命令检查监听器的状态,确保监听器正在运行并且没有任何错误。\[3\] 3. 检查数据库服务:确保数据库服务正在运行,并且监听器配置文件(listener.ora)中正确地定义了服务。\[3\] 4. 检查TNS名称解析:确保客户端的TNS名称解析文件(tnsnames.ora)中正确地定义了数据库的连接信息。 5. 检查客户端配置:确保客户端的Oracle客户端软件正确安装,并且配置文件(sqlnet.ora)中没有任何错误或冲突。 如果以上步骤都没有解决问题,可以尝试重新启动数据库服务器或联系数据库管理员进行进一步的故障排除。\[2\] 总结: ORA-12547: TNS:lost contact是一个Oracle数据库连接错误,可能由于网络问题、数据库服务器故障或配置错误引起。要解决此错误,可以检查网络连接、监听器状态、数据库服务、TNS名称解析和客户端配置,并采取相应的措施。如果问题仍然存在,可以尝试重新启动数据库服务器或联系数据库管理员进行进一步的故障排除。 #### 引用[.reference_title] - *1* [造成错误ORA-12547: TNS:lost contact”的常见原因有哪些?](https://blog.csdn.net/susscloud/article/details/123031130)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [ORA-12547: TNS:lost contact 问题处理](https://blog.csdn.net/qq_24699007/article/details/121284551)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值