
问题现象:
oracle执行open,几秒后自动宕机
前台报错:
ORA-03135: connection lost contact
后台报错:经典的 4194 错误
Errors in file /u01/app/oracle/diag/rdbms/cjc/cjc/trace/cjc_m001_58727.trc (incident=301489):
ORA-00600: internal error code, arguments: [4194], [], [], [], [], [], [], [], [], [], [], []
Incident details in: /u01/app/oracle/diag/rdbms/cjc/cjc/incident/incdir_301489/cjc_m001_58727_i301489.trc
问题原因:
Oracle数据库在打开的情况下进行的P2V,导致UNDO文件损坏,正常应该先停库,再进行迁移,否则很大概率会出现文件损坏、数据不一致等问题。
环境说明:
OS:Redhat 6.5
DB:Oracle 11.2.4.0
解决方案:
重建UNDO。
1.生成pfile
SQL> create pfile from spfile;
File created.
2.修改UNDO参数
[oracle@cjc dbs]$ vi initcjc.ora
......
#*.undo_tablespace='UNDOTBS1'
*.undo_management='MANUAL'
*.undo_tablespace='SYSTEM'
3.重命名spfile
[oracle@cjc dbs]$ mv spfilecjc.ora spfilecjc.ora.bak
4.启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2260088 bytes
Variable Size 1325400968 bytes
Database Buffers 2936012800 bytes
Redo Buffers 12107776 bytes
Database mounted.
Database opened.
5.重建UNDO
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string MANUAL
undo_retention integer 900
undo_tablespace string SYSTEM
SQL> SELECT TABLESPACE_NAME FROM DBA_TABLESPACES;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
CJC
9 rows selected.
SQL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/cjc/oradata/cjc/undotbs02.dbf' size 100M autoextend on;
Tablespace created
SQL> drop tablespace UNDOTBS1 INCLUDING CONTENTS AND DATAFILES;
Tablespace dropped.
6.生成spfile,启动数据库
SQL> CREATE SPFILE FROM PFILE;
File created.
SQL> shutdown immediate;
SQL> startup
ORACLE instance started.
Total System Global Area 4275781632 bytes
Fixed Size 2260088 bytes
Variable Size 1325400968 bytes
Database Buffers 2936012800 bytes
Redo Buffers 12107776 bytes
Database mounted.
Database opened.
7.监控无法启动
执行 lsnrctl 命令卡住很久,没有返回。
因为p2v后IP变了,需要改一下 listener.ora 或 /etc/hosts
欢迎关注我的公众号《IT小Chen》

被折叠的 条评论
为什么被折叠?



