重庆思庄Oracle、、PostgreSQL、Redhat认证学习论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 5152|回复: 2
打印 上一主题 下一主题

从linux平台移值oracle数据库到windows平台

[复制链接]
跳转到指定楼层
楼主
发表于 2012-12-19 17:08:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
之前在测试传输表空间时感受了一下跨平台的移值,当时只测试了通过传输表空间的特性复制某个指定表空间,或者是通过RMAN中的CONVERT或TTS复制数据库,测试结束之后,感觉ORACLE10G之后对不同平台(相同字节顺序)的数据文件相互兼容性方面得到大大提升,下意识认为不通过传输表空间直接复制数据文件应该也可以,今天在本地测试了一下,确实相当好使,通过这种方式使得跨平台的移植更加高效,也易于管理和操作,下面记录的为操作过程。
注意:源平台与目标平台的字节顺序(endian format)需要相同。更多概念可以参考我的笔记"使用可传输表空间的特性复制数据"

源平台:linux AS4U2(32bit)+oracle 10.2.0.3
目标平台:Windows2003sp1(32bit)+oracle10.2.0.3

1、生成客户端初始化参数文件---linux操作
SQL> create pfile from spfile;

文件已创建。



2、生成重建控制文件脚本---linux操作
SQL> alter database backup controlfile to trace;

数据库已更改。



3、复制文件----linux操作
为创建一致性复制,首先关闭源数据库。
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

复制所有数据文件、重做日志文件、归档文件、控制文件创建脚本、客户端初始化参数文件、listener.ora,tnsnames.ora等到目标平台(控制文件需要重建,可以不用复制了)。
方式多样,过程就不演示了。


注:以下步骤均在windows平台操作,(Linux先生您辛苦了,放心吧人民不会忘记你的,等完成windows的复制我就把你格了~~~~)。



4、新建OracleService
E:\ora10g>oradim -new -sid jsstts
实例已创建。
注意SID要与linux服务器中的相同。



5、修改初始化参数文件
注意修改初始化参数文件中路径,比如*_dest的参数。例如:
*.audit_file_dest='E:\ora10g\product\10.2.0\admin\jsstts\adump'
*.background_dump_dest='E:\ora10g\product\10.2.0\admin\jsstts\bdump'
*.compatible='10.2.0.1.0'
*.c,'E:\ora10g\oradata\jsstts\control02.ctl','E:\ora10g\oradata\jsstts\control03.ctl'
*.core_dump_dest='E:\ora10g\product\10.2.0\admin\jsstts\cdump'
*.db_name='jsstts'
....
....
*.user_dump_dest='E:\ora10g\product\10.2.0\admin\jsstts\udump'






分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 支持支持 反对反对
回复

使用道具 举报

沙发
 楼主| 发表于 2012-12-19 17:08:40 | 只看该作者
6、创建spfile
SQL> create spfile from pfile='E:\ora10g\oradata\jsstts\initjsstts.ora';

文件已创建。




7、重建控制文件(也别忘了更改文件路径)
由于是完全备份,因此我们选择noresetlogs方式重建(如果你的复制并非建立数据文件一致性的基础上,那你只能选择resetlogs方式重建)。
SQL> CREATE CONTROLFILE REUSE DATABASE "jsstts" NORESETLOGS  NOARCHIVELOG
  2      MAXLOGFILES 16
  3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  8    GROUP 1 'E:\ora10g\oradata\jsstts\redoA01.log'  SIZE 20M,
  9    GROUP 2 'E:\ora10g\oradata\jsstts\redoA02.log'  SIZE 20M,
10    GROUP 3 'E:\ora10g\oradata\jsstts\redoA03.log'  SIZE 20M
11  -- STANDBY LOGFILE
12  DATAFILE
13    'E:\ora10g\oradata\jsstts\system01.dbf',
14    'E:\ora10g\oradata\jsstts\undotbs01.dbf',
15    'E:\ora10g\oradata\jsstts\sysaux01.dbf',
16    'E:\ora10g\oradata\jsstts\users01.dbf',
17    'E:\ora10g\oradata\jsstts\jssweb.dbf'
18  CHARACTER SET ZHS16GBK
19  ;

控制文件已创建。

--由于前面是在数据库正常关闭情况下拷贝的数据文件,处于一致性状态,不需要执行recover,直接open

SQL> ALTER DATABASE OPEN;

数据库已更改。

SQL> ALTER TABLESPACE TEMP ADD TEMPFILE 'E:\ora10g\oradata\jsstts\temp01.dbf'
  2       SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

表空间已更改。







8、测试一下
SQL> select tablespace_name from dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
JSSWEB

已选择6行。

回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-12-19 17:09:37 | 只看该作者

再配置一下监听、密码文件等。结束

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|重庆思庄Oracle、Redhat认证学习论坛 ( 渝ICP备12004239号-4 )

GMT+8, 2025-4-20 15:56 , Processed in 0.121994 second(s), 20 queries .

重庆思庄学习中心论坛-重庆思庄科技有限公司论坛

© 2001-2020

快速回复 返回顶部 返回列表