应客户要求制作本次试验过程,本次操作案例采用数据库文件复制的方式,
优点:操作简单便捷,对数据库基本了解的都可以进行操作
缺点:迁移数据库的时候有时间窗口,有足够时间窗口进行操作的最好使用此方法。
生产机:LINUX REDHAT 4 32BIT ORACLE 10.2.0.1.0 32BIT
目标机:WINDOWS 2003 32BITORACLE 10.2.0.1.0 32BIT
1、创建一个测试表插入数据并提交-迁移完成后验证此数据;
2、生产服务器创建一个PFILE文件;
SQL> create pfile from spfile;
3、创建控制文件脚本文件
SQL> alter database backup controlfile to trace as '/u01/oracle/control_lzk.sql';
4、关闭生产服务器
SHUTDOWN IMMEDIATE
5、使用工具或者命令传送相应文件到迁移目标服务器制定目录,
数据文件:*.dbf系统临时表空间不需要传temp01.dbf
参数文件:initorcl.ora
控制文件脚本:control_lzk.sql
6、修改PFILE文件内容,包括其他和路径相关的内容;
/u01/admin/orcl/adump修改为 D:\oracle\product\10.2.0\admin\orcl\adump
/u01/admin/orcl/bdump修改为D:\oracle\product\10.2.0\admin\orcl\bdump
/u01/admin/orcl/cdump修改为D:\oracle\product\10.2.0\admin\orcl\cdump
/u01/admin/orcl/udump修改为D:\oracle\product\10.2.0\admin\orcl\udump
/u01/flash_recovery_area修改为D:\oracle\product\10.2.0\flash_recovery_area
/u01/oradata/orcl/control01.ctl修改为D:\oracle\product\10.2.0\oradata\orcl\control01.ctl
/u01/oradata/orcl/control02.ctl修改为D:\oracle\product\10.2.0\oradata\orcl\control02.ctl
/u01/oradata/orcl/control03.ctl修改为D:\oracle\product\10.2.0\oradata\orcl\control03.ctl
7、修改完成后以PFILE参数文件启动数据库到NOMOUNT模式
SQL> startup nomount pfile='D:\oracle\product\10.2.0\oradata\orcl\initorcl.ora'
ORACLE例程已经启动。
8、修改control_lzk.sql控制文件脚本中的路径数据Set #1. NORESETLOGS case
--Set #1. NORESETLOGS case
--
-- The following commands will create a new control file and use it
-- to open the database.
-- Data used by Recovery Manager will be lost.
-- Additional logs may be required for media recovery of offline
-- Use this only if the current versions of all online logs are
-- available.
-- After mounting the created controlfile, the following SQL
-- statement will place the database in the appropriate
-- protection mode:
-- ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGSNOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 ' D:\oracle\product\10.2.0\oradata\orcl\redo01.log'SIZE 50M,
GROUP 2 ' D:\oracle\product\10.2.0\oradata\orcl\redo02.log'SIZE 50M,
GROUP 3 ' D:\oracle\product\10.2.0\oradata\orcl\redo03.log'SIZE 50M
-- STANDBY LOGFILE
DATAFILE
' D:\oracle\product\10.2.0\oradata\orcl\system01.dbf',
' D:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf',
' D:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf',
' D:\oracle\product\10.2.0\oradata\orcl\users01.dbf',
' D:\oracle\product\10.2.0\oradata\orcl\example01.dbf'
CHARACTER SET WE8ISO8859P1;
-- Database can now be opened normally.
ALTER DATABASE OPENRESETLOGS;
-- Commands to add tempfiles to temporary tablespaces.
-- Online tempfiles have complete space information.
-- Other tempfiles may require adjustment.
ALTER TABLESPACE TEMP ADD TEMPFILE ' D:\oracle\product\10.2.0\oradata\orcl\temp01.dbf'
SIZE 20971520REUSE AUTOEXTEND ON NEXT 655360MAXSIZE 32767M;
-- End of tempfile additions.
9、执行修改后的脚本文件;
SQL> @D:\oracle\control_lzk.sql
控制文件已创建。
数据库已更改。
表空间已更改。
SQL>
10、查询第一步创建的表及插入的数据;
SQL> desc lzk
名称是否为空?类型
----------------------------------------- -------- ----------------------------
IDNUMBER(38)
NAMEVARCHAR2(10)
SQL> select * from lzk;
ID NAME
---------- --------------------
1 a
2 b
SQL>
11、创建SPFILE文件,数据库默认从SPFILE启动
SQL> CREATE SPFILE FROM PFILE;
12、查询此次数据库迁移完成。