记一次oracle数据库迁移的问题处理两例
2016-09-15 17:10
260 查看
数据库迁移问题一:
一.问题描述:
由于需要将一个生产库停机冷备份copy到本机的新存储上,新存储在链路聚合操作时重启solairs 10后,无法识别所有光纤卡,尝试各种办法都无法找到光纤卡,且原OS系统在经过多种操作后,
OS都无法启动。杯具发生,由于生产环境停机时间有限,所以决定将原存储分配到备机上,开启数据库。
启动数据库时,报redo log找不到:
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 4.2771E+10 bytes
Fixed Size 2118064 bytes
Variable Size 1.0522E+10 bytes
Database Buffers 3.2212E+10 bytes
Redo Buffers 34709504 bytes
Database mounted.
ORA-00313: open failed for members of log group 15 of thread 1
ORA-00312: online log 15 thread 1: '/apps/redolog/redo15.log'
二.问题分析:
1.查看控制文件中redo log有哪些在本地文件系统中:
SQL> select open_mode from v$database; ---查看数据库现在处于mounted状态
OPEN_MODE
----------
MOUNTED
SQL> alter database backup controlfile to trace; ---产生控制文件trace
Database altered.
SQL> oradebug setmypid; ---定位trace路径
Statement processed.
SQL> oradebug tracefile_name;
/abc/oraabb/diag/rdbms/abc/abc/trace/abc_ora_3655.trc
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-bash-3.00$ more /abc/oraabb/diag/rdbms/abc/abc/trace/abc_ora_3655.trc
.................................................................
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "abc" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 200
MAXINSTANCES 8
MAXLOGHISTORY 11680
LOGFILE
GROUP 1 (
'/abbdata4/redologa/redo01a.log',
'/abbdata5/redologb/redo01b.log'
) SIZE 200M,
GROUP 2 (
'/abbdata4/redologa/redo02a.log',
'/abbdata5/redologb/redo02b.log'
) SIZE 200M,
GROUP 3 (
'/abbdata4/redologa/redo03a.log',
'/abbdata5/redologb/redo03b.log'
) SIZE 200M,
GROUP 4 (
'/abbdata4/redologa/redo04a.log',
'/abbdata5/redologb/redo04b.log'
) SIZE 200M,
GROUP 5 (
'/abbdata4/redologa/redo05a.log',
'/abbdata5/redologb/redo05b.log'
) SIZE 200M,
GROUP 15 '/apps/redolog/redo15.log' SIZE 200M
-- STANDBY LOGFILE
DATAFILE
'/abbdata1/data1/system01.dbf',
'/abbdata1/data1/sysaux01.dbf',
'/abbdata4/undo/undotbs01.dbf',
'/abbdata1/data1/users01.dbf',
'/abbdata2/data2/abbbase01.dbf',
'/abbdata2/data2/abbbase_idx01.dbf',
'/abbdata2/data2/abbbase02.dbf',
........................................................................................
确认只有group 15的redo log是放在本地文件系统/apps下。
2.检查group 15的redo log 状态
SQL> desc v$log;
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
THREAD# NUMBER
SEQUENCE# NUMBER
BYTES NUMBER
MEMBERS NUMBER
ARCHIVED VARCHAR2(3)
STATUS VARCHAR2(16)
FIRST_CHANGE# NUMBER
FIRST_TIME DATE
SQL> select group#,members,archived,status from v$log;
GROUP# MEMBERS ARC STATUS
---------- ---------- --- ----------------
1 2 YES INACTIVE
2 2 YES INACTIVE
15 1 YES INACTIVE
4 2 YES INACTIVE
5 2 NO CURRENT
3 2 YES INACTIVE
6 rows selected.
确认group 15已有归档,且是inactive状态。
当在open DB时,数据库会检测控制文件中各文件是否存在,所以报找不到redo15.log文件的错误。
三.解决方法:
inactive状态且已归档的redo log可以在线drop,数据库不需要用到这些redo。
SQL> alter database drop logfile group 15;
Database altered.
SQL> alter database open;
Database altered.
数据库迁移问题二:
一.问题描述:
原数据库存储划分迁移到备机后,重新建立oracle用户,并对oracle程序目录统一执行了chown oraabb:dba /abc,启动数据库后,查看到alert.log中的大量如下报错:
WARNING: -------------------------------
WARNING: oradism did not start up correctly.
Dynamic ISM can not be locked.----------------------------------------
oradism creation failed for unknown reasons 0 8 1007
WARNING: -------------------------------
WARNING: oradism did not start up correctly.
Dynamic ISM can not be locked.--------------------
二.问题分析:
查看MOS,确认问题主要是Dynamic ISM文件的权限不正确,数据库中有设置max_sga_size参数,处理方法有两种:
一个是unset max_sga_size,另一个是更改oradism文件权限。
三.解决:
这里采用了更改文件权限的方法:
chown root $ORACLE_HOME/bin/oradism
chmod 06550 $ORACLE_HOME/bin/oradism
重启数据库后,alert.log中再没有报错。
一.问题描述:
由于需要将一个生产库停机冷备份copy到本机的新存储上,新存储在链路聚合操作时重启solairs 10后,无法识别所有光纤卡,尝试各种办法都无法找到光纤卡,且原OS系统在经过多种操作后,
OS都无法启动。杯具发生,由于生产环境停机时间有限,所以决定将原存储分配到备机上,开启数据库。
启动数据库时,报redo log找不到:
SQL> conn /as sysdba
Connected to an idle instance.
SQL> startup
ORACLE instance started.
Total System Global Area 4.2771E+10 bytes
Fixed Size 2118064 bytes
Variable Size 1.0522E+10 bytes
Database Buffers 3.2212E+10 bytes
Redo Buffers 34709504 bytes
Database mounted.
ORA-00313: open failed for members of log group 15 of thread 1
ORA-00312: online log 15 thread 1: '/apps/redolog/redo15.log'
二.问题分析:
1.查看控制文件中redo log有哪些在本地文件系统中:
SQL> select open_mode from v$database; ---查看数据库现在处于mounted状态
OPEN_MODE
----------
MOUNTED
SQL> alter database backup controlfile to trace; ---产生控制文件trace
Database altered.
SQL> oradebug setmypid; ---定位trace路径
Statement processed.
SQL> oradebug tracefile_name;
/abc/oraabb/diag/rdbms/abc/abc/trace/abc_ora_3655.trc
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
-bash-3.00$ more /abc/oraabb/diag/rdbms/abc/abc/trace/abc_ora_3655.trc
.................................................................
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "abc" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 200
MAXINSTANCES 8
MAXLOGHISTORY 11680
LOGFILE
GROUP 1 (
'/abbdata4/redologa/redo01a.log',
'/abbdata5/redologb/redo01b.log'
) SIZE 200M,
GROUP 2 (
'/abbdata4/redologa/redo02a.log',
'/abbdata5/redologb/redo02b.log'
) SIZE 200M,
GROUP 3 (
'/abbdata4/redologa/redo03a.log',
'/abbdata5/redologb/redo03b.log'
) SIZE 200M,
GROUP 4 (
'/abbdata4/redologa/redo04a.log',
'/abbdata5/redologb/redo04b.log'
) SIZE 200M,
GROUP 5 (
'/abbdata4/redologa/redo05a.log',
'/abbdata5/redologb/redo05b.log'
) SIZE 200M,
GROUP 15 '/apps/redolog/redo15.log' SIZE 200M
-- STANDBY LOGFILE
DATAFILE
'/abbdata1/data1/system01.dbf',
'/abbdata1/data1/sysaux01.dbf',
'/abbdata4/undo/undotbs01.dbf',
'/abbdata1/data1/users01.dbf',
'/abbdata2/data2/abbbase01.dbf',
'/abbdata2/data2/abbbase_idx01.dbf',
'/abbdata2/data2/abbbase02.dbf',
........................................................................................
确认只有group 15的redo log是放在本地文件系统/apps下。
2.检查group 15的redo log 状态
SQL> desc v$log;
Name Null? Type
----------------------------------------- -------- ----------------------------
GROUP# NUMBER
THREAD# NUMBER
SEQUENCE# NUMBER
BYTES NUMBER
MEMBERS NUMBER
ARCHIVED VARCHAR2(3)
STATUS VARCHAR2(16)
FIRST_CHANGE# NUMBER
FIRST_TIME DATE
SQL> select group#,members,archived,status from v$log;
GROUP# MEMBERS ARC STATUS
---------- ---------- --- ----------------
1 2 YES INACTIVE
2 2 YES INACTIVE
15 1 YES INACTIVE
4 2 YES INACTIVE
5 2 NO CURRENT
3 2 YES INACTIVE
6 rows selected.
确认group 15已有归档,且是inactive状态。
当在open DB时,数据库会检测控制文件中各文件是否存在,所以报找不到redo15.log文件的错误。
三.解决方法:
inactive状态且已归档的redo log可以在线drop,数据库不需要用到这些redo。
SQL> alter database drop logfile group 15;
Database altered.
SQL> alter database open;
Database altered.
数据库迁移问题二:
一.问题描述:
原数据库存储划分迁移到备机后,重新建立oracle用户,并对oracle程序目录统一执行了chown oraabb:dba /abc,启动数据库后,查看到alert.log中的大量如下报错:
WARNING: -------------------------------
WARNING: oradism did not start up correctly.
Dynamic ISM can not be locked.----------------------------------------
oradism creation failed for unknown reasons 0 8 1007
WARNING: -------------------------------
WARNING: oradism did not start up correctly.
Dynamic ISM can not be locked.--------------------
二.问题分析:
查看MOS,确认问题主要是Dynamic ISM文件的权限不正确,数据库中有设置max_sga_size参数,处理方法有两种:
一个是unset max_sga_size,另一个是更改oradism文件权限。
三.解决:
这里采用了更改文件权限的方法:
chown root $ORACLE_HOME/bin/oradism
chmod 06550 $ORACLE_HOME/bin/oradism
重启数据库后,alert.log中再没有报错。
相关文章推荐
- 如何处理Oracle数据库中的坏块问题
- .NET中访问Oracle数据库链接:ORA-02041: client database did not begin a transaction 问题的处理。
- 关于Oracle数据库中行迁移/行链接的问题
- 关于Oracle数据库中行迁移/行链接的问题
- 一次Oracle数据库挂载迁移的过程记录
- 关于Oracle数据库中行迁移/行链接的问题
- 一次samba问题的处理记录
- 不显示删除回复显示所有回复显示星级回复显示得分回复 如何简便地将一台机器上的oracle数据库迁移到另一台机器上[问题点数:100分]
- 因为窗口站已关闭问题的一次处理
- oracle数据库日志文件版本不一致问题处理
- 关于Oracle数据库中行迁移/行链接的问题
- 关于Oracle数据库中行迁移/行链接的问题 (2)
- 关于Oracle数据库中行迁移/行链接的问题 (1)
- 关于Oracle数据库中行迁移/行链接的问题
- MOSS服务器场迁移1-有关切换登录用户时需要刷新一次才能成功的问题
- .NET中访问Oracle数据库链接:ORA-02041: client database did not begin a transaction 问题的处理。
- 一次处理exchange2003问题的经历
- oracle数据库中CLOB字段的处理问题
- 关于Oracle数据库中行迁移/行链接的问题
- ORACLE数据库手动启动相关问题处理