免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2081 | 回复: 8
打印 上一主题 下一主题

A机的实例迁移到B机,oracle用户的目录结构不一样,怎么迁移 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-08 21:14 |只看该作者 |倒序浏览
同是Oracle9i数据库,但目录结构不一样


今天迁移没有成功

先是改了参数文件

又是重建了控制文件

最后又清了日志文件

但最后报错
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/sid/system01.dbf'
系统表空间出现不同步的问题

不知怎恢复了,现数据库处于mount状态


请教各位大虾如何解决 ,  system表空间不一致的问题

另外,看我的标题,有谁做过数据库迁移吗?一般什么步骤

论坛徽章:
0
2 [报告]
发表于 2006-09-08 21:54 |只看该作者
通过这种方式迁移,一般采取:
1. select name from v$datafile
    select member from v$logfile
    select name from v$controlfile
    select name from v$tempfile
    查询这些views来获得相关文件的位置。

    sqlplus / as sysdba
    alter database backup controlfile to trace(也可以用来查询相关文件的位置)
   
2. shutdown immediate / shutdown normal / shutdown transactional.确保是正常关闭,可以减少不必要的麻烦。
3. 复制相关文件到新位置,
4. sqlplus / as sysdba
    startup mount   ---->(don't open the database)
    alter database rename file 'old_file_dest_full_path' to 'new_file_dest_full_path';
    .......(逐个文件作)
    alter database open;  

note: 注意参数文件,密码文件等都要复制好,做好备份是前提!

论坛徽章:
0
3 [报告]
发表于 2006-09-08 23:33 |只看该作者
你迁移过程中迁出数据库是处于online状态的么?
如果在整个迁移过程中oracle 都是offline的, 怎么会需要介质恢复呢?

论坛徽章:
0
4 [报告]
发表于 2006-09-09 18:32 |只看该作者
导出导入也能满足你的需求

论坛徽章:
0
5 [报告]
发表于 2006-09-09 19:57 |只看该作者
导入导出方式麻烦

我用是冷备份的方式全库迁移的

但两个Oracle的目录不一样

也就是原来的数据文件路径和现有的B机不一样

于是控制文件的信息也就不同

论坛徽章:
0
6 [报告]
发表于 2006-09-09 22:30 |只看该作者
原帖由 流川 于 2006-9-9 19:57 发表
导入导出方式麻烦

我用是冷备份的方式全库迁移的

但两个Oracle的目录不一样

也就是原来的数据文件路径和现有的B机不一样

于是控制文件的信息也就不同


按照正常步骤走,不需要手工重新创建控制文件,你现在涉及到的控制文件信息修改也就是数据文件路径的改变,通过alter database rename file ...一样可以达到目的。如果通过手工创建控制文件来实现,可以通过如下步骤:
在原服务器上:
1. sqlplus / as sysdba
    alter database backup controlfile to trace;
    在user_dump_dest下找到该trace文件,去掉无用的信息,修改相关数据文件的路径为新路径,保存成control.sql文件,复制到新服务器上

2. shutdown immediate(正常关闭)
3. 复制相关文件到新服务器上
4. 在新服务器上,
    sqlplus / as sysdba
    @control.sql

先是改了参数文件

又是重建了控制文件

最后又清了日志文件

但最后报错
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/oradata/sid/system01.dbf'
系统表空间出现不同步的问题


alter database open resetlogs.

不知道你具体采取什么样的方式来重建控制文件和清日志的?

论坛徽章:
0
7 [报告]
发表于 2006-09-10 23:20 |只看该作者
通过RMAN来迁移。

论坛徽章:
0
8 [报告]
发表于 2006-09-14 14:18 |只看该作者
原帖由 numenhuang 于 2006-9-9 22:30 发表


按照正常步骤走,不需要手工重新创建控制文件,你现在涉及到的控制文件信息修改也就是数据文件路径的改变,通过alter database rename file ...一样可以达到目的。如果通过手工创建控制文件来实现,可以通过如 ...


做的方法和你说的差不多的

最后还是系统表空间不同步

论坛徽章:
0
9 [报告]
发表于 2006-09-14 15:36 |只看该作者
列出你的详细步骤。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP