分类目录归档:ORA-XXXXX

无法解释的ORA-12537

今天忽然想看下12c的一个小东东,结果遇到ORA-12537: 我这个VM当初装的很别扭,前一段又折腾了一下,更加别扭了,主要问题如下: 1,初始加盘的时候整的太小了,只给了12G,结果装了grid后,再装oracle软件就很困难,这里grid的所在的盘mount在/u01这个目录下 2,然后增加了一块盘,结果没吸取教训,继续折腾太小了,还是12G,不过12c可以装上玩了,这个oracle的软件所在的盘mount在 /u01/app/oracle目录下 3,前一段时间觉得磁盘空间不够了,于是把一个11.2的vm的软件使用root用户tar过来,解压后,ORACLE_BASE和ORACLE_HOME目录是:/u01/app/oracle(这个跟12c的oracle软件是同一个ORACLE_BASE)和/u01/app/oracle/product/11.2.0.3/dbhome_1 够乱了吧,O(∩_∩)O哈哈~ 检查listener.log: 发现报错:TNS-12518: TNS:listener could not hand off client connection 于是google,mos,设置一堆乱七八糟参数,并设置了trace: trace中最后出问题的信息如下,貌似是某些文件找不到或者权限问题: 使用strace sqlplus sys/oracle@lunarbb as sysdba进行跟踪,发现了如下可以信息: 貌似写什么东西时报错了 MOS了一下,Troubleshooting ORA-12537 / TNS-12537 TNS:Connection Closed (Doc ID 555609.1) 发现,我的这个文件没啥问题,权限都对: 这时候,看见刚刚修改过的oracle文件权限不对了,再重新修改回去: 重启下ORACLE,再测试,居然好了,O(∩_∩)O哈哈~:

发表在 network, ORA-XXXXX, ORACLE 12C | 标签为 , | 留下评论

一个老系统的老问题:ORA-01031: insufficient privileges

今天打算整合一下所有的vm(除了12c),把他们都放到一个vm中,结果发现遇到郁闷问题: –第一反应是口令文件有问题,于是检查,发现果然缺少口令文件: –还是不行,是否因为大小写的关系(因为之前的那个vm已经迁移到活动硬盘了,懒得打开查看SID了),因此修改为大写试试看: –使用密码文件的认证方式测试本地登录是可以的: –怀疑是sqlnet.ora的设置有问题,结果居然没有,这个vm是7,8年前的,不知道什么原因,居然没有这个文件,创建一个吧: –这里居然冒出来ORACLE_HOME设置不对,郁闷了。。。。。。 –重新执行环境设置脚本: –这是,怀疑是oracle用户本身的问题,于是检查oracle用户的属组: –经过小伙伴的提醒,发现这个VM居然使用了破烂SELinux,sigh。。。。。 –SELinux系统比起通常的Linux系统来,安全性能要高的多,它通过对于用户,进程权限的最小化,即使受到攻击,进程或者用户权限被夺去,也不会对整个系统造成重大影响。 –但是往往有些应用的使用也会受到限制,比如有时候tar一个大目录的时候可能会失败,有时候ftp东西的时候有问题,等等 –其实一般ORACLE的文档上也是明确说明要关闭SELinux的,例如: –5.11 Error While Loading Shared Library When SELinux is Enabled on Red Hat Enterprise Linux 5 –SQL*Plus and Oracle Call Interface (OCI) program calls fail when selinux is … 继续阅读

发表在 FAQ, ORA-XXXXX | 留下评论

一次ORA-1578的处理

今天本想测试一个东西,却遇到一个ORA-1578,比较郁闷,最近vm总是出现乱七八糟郁闷问题。。。。。 LUNAR@travel>select count(*) from ff; select count(*) from ff * ERROR at line 1: ORA-01578: ORACLE data block corrupted (file # 4, block # 129) ORA-01110: data file 4: ‘/stage/travel/users01.dbf’ LUNAR@travel>   SYS@travel>select file#,name from v$datafile;   FILE# NAME ———- … 继续阅读

发表在 backup&recovery, ORA-XXXXX | 标签为 | 一条评论

解决奇怪的 ORA-12547 TNS lost contact

很久以前的一个老vm,忽然sqlplus不能使用,直接报错: Strace sqlplus / as sysdba 有如下信息: 发现在读写 /home/oracle/sqlnet.log 是报错,怀疑是oracle本身有问题,查询metalink证实了这个想法: Troubleshooting ORA-12547 TNS: Lost Contact [ID 555565.1] 于是重新编译: 好了搞定了

发表在 network, ORA-XXXXX | 留下评论

ORA-00443 background process MMNL did not start

启动asm报ORA-00443 先看下ORA-00443的含义: 感觉是内存不足………… 再看下/u01/app/12.1/grid/log/lunar/agent/ohasd/oraagent_grid/oraagent_grid.log: 我们发现,ohasd进程尝试多次重启ASM都是报上述错误,貌似什么原因造成ASM起不来。。。。 接着检查下ASM的日志发现如下信息: 这里可以发现,实际上ASM的进程已经启动了pmon, smon,ckpt,dbwr…等重要进程,但是后来被GMON进程终止了。 这里简单说下,GMON和PSP0进程都是ORACLE 10.2 ASM中就有的进程,其中: GMON(ASM Disk Group Monitor Process)是10.2 asm引入的一个新的进程, 该进程ASM instace启动以后监控diskgroup的元数据信息,并跟ocssd进程进行交互, GMON负责将ASM实例的Diskgroup信息发送给ocssd,这样,其他数据库实例通过跟ocssd交互并获得ASM磁盘组的信息,再之后,数据库实例就可以打开磁盘组,对其进读写的操作。 文档中是这样描述的: 而PSP0进程的主要作用是创建新的进程,文档描述如下: 我们来分析一下这两个进程的trace。 检查GMON的trace,发现确实系统当时空闲内存很少: 检查PSP0的trace,发现确实系统当时空闲内存很少: 已经差不多定位了,系统内存不足,因此,关闭VM,增加VM的内存,然后重启,一切ok了 现在看下asm中sga的参数配置: 查询了Oracle 10.2中,Oracle Database Administrator’s Guide “Using Automatic Storage Management”这一章节对于ASM的实例有如下的简单说明: 也就是说,在10.2的环境中,该ASM实例设置为100M足够了。 从11.2以后,ASM单独有一个doc来讲: Oracle Automatic … 继续阅读

发表在 ORA-XXXXX | 标签为 , | 留下评论