|
蓝森林 http://www.lslnet.com 2006年8月26日 15:18
(转) Oracle 9i 数据库移动过程
Oracle 9i 数据库移动过程
starmoon2003 于创智软件园
数据库移动,在项目实施过程中,经常会发生,对于有经验的DBA来说,数据库移动是十分容易。但对于一些只了解系统,对数据库不是十分懂的人员来说,oracle的移动就不是那么容量了。
例如当系统安装完成以后,存储空间扩容了,需要对原对ORACLE进行移动,需要进行数据移动。以前在ORACLE8I FOR WINDOWS 2000中是可以进行移动的。现在ORACLE9I FOR WINDOWS 2000 的移动如何做呢???
一、复制移动数据文件
1)、获取数据库相关信息
首先要查看一下数据库的文件内容:
sqlplus “ / as sysdba”
Ø select * from v$datafile;
Ø select * from v$controlfile
Ø select * from v$logfile;
2)、移动应用数据文件
shutdown immediate关闭数据库,拷贝数据文件到另外一个目录下。需要copy 的文件有:
system01.dbf
indx01.dbf
temp01.dbf
users01.dbf
应用数据文件
3)、 修改数据库文件的位置
启动MOUNT模式
Ø startup mount;
Ø alter database rename file ‘c:\oracle\oradata\ocp\system01.dbf’ to ‘d:\oradata\ocp\system01.dbf”
Ø alter database rename file ‘c:\oracle\oradata\ocp\indx01.dbf’ to ‘d:\oradata\ocp\indx01.dbf’;
注意只能进行更改移动的数据库文件,不包括控制文件与日志文件,TEMP文件。
二. 移动控制文件
(1)备份SPFILE中的内容:
再重新启动数据库:
Ø startup;
Ø create pfile=’c:\init.ora’ from spfile;
(2)修改init.ora文件中的内容:
*.control_files='d:\oradata\ocp\control01.ctl','d:\oradata\ocp\control02.ctl','d:\oradata\ocp\control03.ctl'
进行更改已经复制的目录位置。
Shutdown 数据库
(3)将控制文件复制过去,
将三个控制文件移动到上面所修改的的目录下。
(4) 倒入参数文件
以init.ora参数方式启动:
Ø startup pfile=’c:\init.ora’;
Ø create spfile from pfile=’c:\init.ora’;
Ø shutdown immediate;
Ø startup; 从spfile中进行启动。
这样控制文件移动工作就结束了。
三、 重建或重定位LOG文件
解决日志文件的移动方式有两种,一种是移动(RENAME方式)另一种是重新创建。
(1)移动LOG文件
重新移动数据库文件与移动系统数据库文件是一样的方法,只是要求数据库必须是“startup mount”方式进行。
Ø startup mount
Ø alter database rename file ‘c:\oracle\oradata\oralog1.ora’ to ‘d:\oradata\ocp\oralog1.dbf’
样
(2)重建LOG文件
先重建一个组GROUP ,并添加一个LOG文件作为交换文件。
ALTER DATABASE ADD LOGFILE GROUP 4 ('$HOME/ORADATA/u01/log4.rdo','$HOME/ORADATA/u02/log4.rdo') SIZE 1M;
然后再删除其它的LOG组,要求必须保持有两个LOG文件组在系统中。
Alter database drop logfile member ‘c:\oracle\oradata\ocp\oralog01.ora’
四、重建系统监时(temp)文件系统
在移动数据表空间时,TEMP文件是不能被移动的,这里要求可以进行重建一个TEMP表空间,并设置为系统默认的TEMP文件系统。然后再册除原来的TEMP表空间,达到移动表空间的过程。
>; create temporary tablespace “temp02” tempfile ‘d:\oradata\ocp\temp02.dbf’ size 500m extent management local uniform size 10m;
然后再删除原来的TEMP文件就可以了。
五、测试数据库
进行重启动ORACLE数据
$ sqlplus “/as sysdba”
Ø startup;
Ø show sga;
Ø
六、意义:
这是一个小小的测试,对于大型系统,需要升级改造时,就得考虑这种方式进行移动数据库文件。也是对系统规划时,一个小小的调整。 : |
(转) Oracle 9i 数据库移动过程
顶,对我有用 |
(转) Oracle 9i 数据库移动过程
谢谢支持, |
(转) Oracle 9i 数据库移动过程
好!! |
(转) Oracle 9i 数据库移动过程
就这个方法,请教一个问题,请老大指正!
大型数据库的移植升迁我经常会遇到,以前在8I NOLOG模式下,
我采用的是关闭数据后,拷贝数据文件和重做日志文件、参数文件到
一个新目录,修改参数文件,然后以startup nomount方式启动,
以新的目录重建控制文件(RESETLOGS),alter database
open resetlogs。这个方法是可行的。但在9I中就不行了(NOLOG)。
DB提示需要RECOVER, 真正RECOVER DATABASE USING BACKUP
CONTROLFILE UNTIL CANCEL时, DB又提示system01.dbf不一
致!
通过阅读大作,我觉得前面部份是不是与使用重建控制文件方式一样
是达到同一个目的,即修改控制文件中数据表空间和重做日志文件的位置,
我在9I中最后也重新建了一个新的TEMP表空间。
为什么会这样呢?我与METALINK上的ORACLE SUPPORT交流也未得
到正确的解答。还请老大指正!!! |
(转) Oracle 9i 数据库移动过程
兄弟,说对了一半,如果是基于文件系统的移动,当然是不需要重建控制文件。
注意:在移动过程中,应是有一个顺序的,先移数据文件,然后再移控制文件。
如果是归档方式,可以先改成非归档方式,再移。 |
(转) Oracle 9i 数据库移动过程
谢谢先!
我其实是要以原DB完整复制出另一个DB来,在8I上用我的方法是成功了,
9I上却行不通了。我敢肯定,如果采用你所讲的方法是可行的。
但在9I上采用重建控制的方法来CLONE数据库就行不通了吗?
我回头就把我所用的方法列出来,请指正! |
(转) Oracle 9i 数据库移动过程
假设DB在NOARCHIVELOG模式下
A。在TRACE文件中得到控制文件创建SQL脚本
sqlplus /nolog
conn / as sysdba;
alter database backup controlfile to trace;
shutdown immediate;
exit;
B。复制数据文件、重做日志文件、参数文件到新的目录
C。修改建立控制文件的SQL脚本,更改数据库名、REUSE为SET,更改为RESETLOGS
D。修改脚本中重做日志文件、数据文件目录名称。删除除建立控制文件外的其他SQL命令。
E。修改新参数文件中控制文件目录名称。
F。设置新DB的环境变量。并启用新的环境,让DB可以找到参数文件等。
G。sqlplus /nolog
conn / as sysdba;
startup nomount;
@建立控制文件脚本.sql
alter database open resetlogs;
这一句出错。要求RECOVER
recover database using backup controlfile until cancel
这一句也有问题,要求提供归档文件。NOARCHIVE模式下,没有归档文件啊!
如果上面不出错,下面就该添上临时表空间了
我琢磨是不是用这种办法时,如果创建控制文件时使用RESETLOGS参数,
就不能使用原来的REDO文件,必须重建一组新的REDO文件?
反之如果使用NORESETLOGS参数,就可以用原来的REDO文件?
请指点一下!! |
(转) Oracle 9i 数据库移动过程
这个方法不能用于不同version间吧?否则migration不就太容易了。
Migration paths for the older releases to Oracle9i:
A. For Version 6 and Version 7 (7.3.3 and lower):
1. Upgrade to version 7.3.4
2. Upgrade to Oracle9i
B. For Releases 8.0.1 to 8.0.5, upgrade to 8.0.6 or later
C. For Version 8.0.6 or 8i and later, upgrade using
- Oracel Data Upgrade Assistant
- Manual upgrade
http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96530/toc.htm |
(转) Oracle 9i 数据库移动过程
我想问下,如果想要移动到另一台机器又如何做好呢? |
| |