ORA-00221 ORA-00206 ORA-00202 ORA-27041错误

SUSE Linux 11+oracle 11.2.0.3环境,/oradata挂载在存储上,

今天晚上存储一个控制器故障重启,但服务器做了双路径,存储控制器重启未影响操作系统识别存储上/oradata 文件系统,即文件系统在控制器重启那一瞬间正常访问。

但是oracle却自动关闭了,重新startup,报错如下:

SQL> startup
ORACLE instance started.

Total System Global Area 1.5667E+10 bytes
Fixed Size                  2243752 bytes
Variable Size            7851737944 bytes
Database Buffers         7784628224 bytes
Redo Buffers               28151808 bytes
ORA-00221: error on write to control file
ORA-00206: error in writing (block 1, # blocks 1) of control file
ORA-00202: control file: ‘/oradata/orcl/control01.ctl‘
ORA-27041: unable to open file
Linux-x86_64 Error: 30: Read-only file system
Additional information: 3

看到这个报错首先判断是存储控制器重启那瞬间/oradata可能中断了一下,然后瞬间切到了另一个控制器,控制文件control01.ctl损坏了,控制文件 一共有三个,其中一个control03.ctl放在服务器本地硬盘上,于是想复制control03.ctl替换/oradata上损坏的control01.ctl。

首先将control01.ctl备份,但是报错说是只读文件不能修改,

[email protected]:/oradata> cd orcl/
[email protected]:/oradata/orcl> ls
abctest  control01.ctl  redo01.log  redo02.log  redo03.log  redo04.log  redo05.log  redo06.log  redo07.log  sysaux01.dbf  system01.dbf  temp01.dbf  undotbs01.dbf  users01.dbf
[email protected]:/oradata/orcl> mv control01.ctl  control01.ctl.bak
mv: cannot move `control01.ctl‘ to `control01.ctl.bak‘: Read-only file system

用ls命令查看control01.ctl 对oracle用户明显是读写权限的

[email protected]:/oradata/orcl> ll
total 1816884
drwxr-xr-x 2 oracle oinstall      4096 Oct 15 10:56 abctest
-rw-r----- 1 oracle oinstall  17154048 Oct 17 22:39 control01.ctl
-rw-r----- 1 oracle oinstall  52429312 Oct 17 22:37 redo01.log
-rw-r----- 1 oracle oinstall  52429312 Oct 17 22:38 redo02.log
-rw-r----- 1 oracle oinstall  52429312 Oct 17 22:39 redo03.log
-rw-r----- 1 oracle oinstall  52429312 Oct 15 16:07 redo04.log
-rw-r----- 1 oracle oinstall  52429312 Oct 15 16:07 redo05.log
-rw-r----- 1 oracle oinstall  52429312 Oct 15 16:08 redo06.log
-rw-r----- 1 oracle oinstall  52429312 Oct 15 16:08 redo07.log
-rw-r----- 1 oracle oinstall 629153792 Oct 17 22:37 sysaux01.dbf
-rw-r----- 1 oracle oinstall 744497152 Oct 17 22:37 system01.dbf
-rw-r----- 1 oracle oinstall  30416896 Oct 17 22:37 temp01.dbf
-rw-r----- 1 oracle oinstall  94380032 Oct 17 22:37 undotbs01.dbf
-rw-r----- 1 oracle oinstall   5251072 Oct 17 22:37 users01.dbf

很奇怪难道是oracle锁定了control01.ctl ,但此时oracle实例已关闭。

最后我将服务器操作系统重启,之后没有恢复control01.ctl  就可以直接startup了,真是

太奇怪了????

时间: 2024-10-13 21:23:41

ORA-00221 ORA-00206 ORA-00202 ORA-27041错误的相关文章

plsql 连接oralce数据库,报ora 12557 tns 协议适配器不可加载错误

使用plsql 连接oracle 数据库报ora 12557 错误: 解决方案: 1:首先确保服务中的service以及监听器都开启 2:F:\app\Administrator\product\11.2.0\dbhome_1\NETWORK\ADMIN下的tnsnames配置文件中的字符串连接是否配置 这个路径根据你的oracle安装路径有关 3:如果还是不行,删除注册表里面的环境变量oracle_home,默认只想路径 cmd——rededit—— HKEY_LOCAL_MECHINE——S

ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)

不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数local_listener来达到目的.除此之外,还可以对实例进行远程注册,以达到负载均衡的目的.这是通过一个参数remote_listener来实现. 有关Oracle 网络配置相关基础以及概念性的问题请参考:      配置ORACLE 客户端连接到数据库   配置非默认端口的动态服务注册   

ORA-01565: error in identifying file '+DATA/ORACLE/spfileORACLE.ora'

操作系统为suse11sp3_x86_64位,数据库为11204. 不小心修改了RAC目录及子目录的权限,资源启动后发现两个节点数据库都未启动,如下: jason1:/u01/app/11.2.0/grid/bin # ./crsctl stat res -t -------------------------------------------------------------------------------- NAME           TARGET  STATE        SE

ORACLE配置tnsnames.ora文件实例

ORACLE配置tnsnames.ora文件实例客户机为了和服务器连接,必须先和服务器上的监听进程联络.ORACLE通过tnsnames.ora文件中的连接描述符来说明连接信息.一般tnsnames.ora 是建立在客户机上的.如果是客户机/服务器结构,整个网络上只有一台机器安装了ORACLE数据库服务器,那么只需在每个要访问ORACLE服务器的客户机上定义该文件,在服务器上无需定义.但是,如果网络上有多台机器均安装了ORACLE数据库服务器,并且服务器之间有数据共享的要求,那么在每台服务器上都

真心崩溃了,oracle安装完成后居然没有tnsnames.ora和listener.ora文件

problem: oracle  11  r2  64位安装完成后NETWORK/ADMIN目录下居然没有tnsnames.ora和listener.ora文件 solution: 问题是之前安装了另外一个版本的oracle,我是安装了oracle xe,没有卸载干净,导致在环境变量中存在TNS_ADMIN指向了不正确的目录.如下图所示: 上图中的TNS_ADMIN的配置是正确的,原来的配置是错误的.原来的配置指向的是d:\oraclexe下的某个目录,因为指向的目录已经被删除,所以用oracl

(转)认识oracle中的sqlnet.ora tnsnames.ora listener.ora三个文件

概述 在oracle安装目录$HOME/network/admin下,,经常看到sqlnet.ora tnsnames.ora listener.ora这三个文件,除了tnsnames.ora,其他两个文件详细的用途很多人都不太了解.sqlnet.ora 用在oracle client端,用于配置连接服务端oracle的相关参数. tnsnames.ora 用在oracle client端,用户配置连接数据库的别名参数,就像系统中的hosts文件一样.listener.ora 用在oracle

tnsnames.ora配置小结

oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin文件夹下. 1.  sqlnet.ora-–作用类似于linux或者其它unix的nsswitch.conf文件.通过这个文件来决定怎么样找一个连接中出现的连接字符串. 比如我们client输入 sqlplus sys/[email protected] 假如我的sqlnet.ora是以下这个样子 SQLNET.AUTHENT

oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件

总结:1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下.2 .sqlnet.ora确定解析方式3 .listener.ora上设SID_NAME,通常用于JDBC访问,对应的错误码为125054 .tnsnames.ora上设SERVICE_NAME,通常用于linux sqlplus客户端,对应的错误码为12514 sqlnet.ora 作用类似于linux或者其他unix的 nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符

Oracle 错误总结及问题解决 ORA

参考地址 ORA-00001: 违反唯一约束条件 (.)错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常.ORA-00017: 请求会话以设置跟踪事件ORA-00018: 超出最大会话数ORA-00019: 超出最大会话许可数ORA-00020: 超出最大进程数 ()ORA-00021: 会话附属于其它某些进程:无法转换会话ORA-00022: 无效的会话 ID:访问被拒绝ORA-00023: 会话引用进程私用内存:无法分离会话ORA-00024: 单一进程模式下不允许从多个进程注册

listener.ora 、sqlnet.ora 、tnsnames.ora的关系以及手工配置

listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME\network\admin目录下. --begin 重点:三个文件的作用和使用 #----------------------- sqlnet.ora(客户及服务器端) --作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接字符串, 例如我们客户端输入 sqlplus sys/[email protected] 假如我的s