热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

ORA-12547经典错误处理

ORA-12547错误处理今天上午10:30左右,领导告知我,让我帮一同事将ORACLE安装下,他在安装的过程中出现了问题,报错,无法继续安装。一、由于NLS_LANG设置错误,导致ora-12547错误我过去看了看,...SyntaxHighlighter.all();

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这个参数,后面想想看这个参数并不是必须的, www.2cto.com 而且有可能会导致安装的时候报错,随即将其禁用掉,参数文件如下:$ 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创建成功  www.2cto.com  
  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  www.2cto.com  
  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 ,需要重启
   www.2cto.com  

  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、再次执行安装,问题解决
 
 
 
摘自 wuweilong的专栏

推荐阅读
  • 在Linux系统中使用EncFS实现文件夹加密
    为了保护个人隐私或敏感数据不被未经授权的访问,可以通过加密技术来增强安全性。本文介绍如何在Linux系统上使用EncFS工具创建和管理加密文件夹,以确保即使在系统登录状态下,特定文件夹中的数据也保持加密状态。 ... [详细]
  • 本文概述了在GNU/Linux系统中,动态库在链接和运行阶段的搜索路径及其指定方法,包括通过编译时参数、环境变量及系统配置文件等方式来控制动态库的查找路径。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Linux内核中的内存反碎片技术解析
    本文深入探讨了Linux内核中实现的内存反碎片技术,包括其历史发展、关键概念如虚拟可移动区域以及具体的内存碎片整理策略。旨在为开发者提供全面的技术理解。 ... [详细]
  • 本文详细介绍了在 Linux Bash 环境下使用的各种快捷键,包括命令编辑、控制、历史命令重用及特殊命令等,帮助用户提高操作效率。 ... [详细]
  • 如何高效学习鸿蒙操作系统:开发者指南
    本文探讨了开发者如何更有效地学习鸿蒙操作系统,提供了来自行业专家的建议,包括系统化学习方法、职业规划建议以及具体的开发技巧。 ... [详细]
  • Java中提取字符串的最后一部分
    本文介绍了如何使用Java中的substring()和split()方法来提取字符串的最后一部分,特别是在处理包含特殊字符的路径时的方法与技巧。 ... [详细]
  • 本文详细探讨了如何根据不同的应用场景选择合适的PHP版本,包括多版本切换技巧、稳定性分析及针对WordPress等特定平台的版本建议。 ... [详细]
  • 实现Win10与Linux服务器的SSH无密码登录
    本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ... [详细]
  • 本文探讨了Linux环境下线程私有数据(Thread-Specific Data, TSD)的概念及其重要性,介绍了如何通过TSD技术避免多线程间全局变量冲突的问题,并提供了具体的实现方法和示例代码。 ... [详细]
  • 本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ... [详细]
  • 2019年独角兽企业招聘Python工程师标准课程概览
    本文详细介绍了2019年独角兽企业在招聘Python工程师时的标准课程内容,包括Shell脚本中的逻辑判断、文件属性判断、if语句的特殊用法及case语句的应用。 ... [详细]
  • 在使用 PyInstaller 将 Python 应用程序打包成独立的可执行文件时,若项目中包含动态加载的库或插件,需要正确配置 --hidden-import 和 --add-binary 参数,以确保所有依赖项均能被正确识别和打包。 ... [详细]
  • 解决Linux中wget无法解析主机的问题
    本文介绍了如何通过修改/etc/resolv.conf文件来解决Linux系统中wget命令无法解析主机名的问题,通过添加Google的公共DNS服务器地址作为解决方案。 ... [详细]
  • 本文探讨了服务器系统架构的性能评估方法,包括性能评估的目的、步骤以及如何选择合适的度量标准。文章还介绍了几种常用的基准测试程序及其应用,并详细说明了Web服务器性能评估的关键指标与测试方法。 ... [详细]
author-avatar
地之南_816
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有