欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle数据文件迁移

程序员文章站 2024-01-22 21:09:40
...

windows xp oracle 9. 2.0.1.0 sid:test 数据库安装在D盘,现在把D:\ORACLE\ORADATA\TEST下的控制文件,数据库文件,日志文件,临时文件移到F:\TEST\下。 先关闭数据库,把D:\ORACLE\ORADATA\TEST下的文件复制到F:\TEST\下。 首先编辑D:\oracle\ora92\datab

windows xp

oracle 9. 2.0.1.0

sid:test

数据库安装在D盘,现在把D:\ORACLE\ORADATA\TEST下的控制文件,数据库文件,日志文件,临时文件移到F:\TEST\下。

先关闭数据库,把D:\ORACLE\ORADATA\TEST下的文件复制到F:\TEST\下。

首先编辑D:\oracle\ora92\database\INITTEST.ORA,修改为:

control_files=("F:\TEST\control01.ctl", "F:\TEST\control02.ctl", "F:\TEST\control03.ctl")

SQL> create spfile from pfile;


SQL> startup mount;


查询数据文件位置:select name from v$datafile;

查询日志文件位置:select * from v$logfile;

查询控制文件位置:select name from v$controlfile;

查看临时文件位置:select * from v$tempfile;


移动日志文件:

alter database rename file 'D:\ORACLE\ORADATA\TEST\REDO01.LOG' to 'F:\TEST\redo01.log';
alter database rename file 'D:\ORACLE\ORADATA\TEST\REDO02.LOG' to 'F:\TEST\redo02.log';
alter database rename file 'D:\ORACLE\ORADATA\TEST\REDO03.LOG' to 'F:\TEST\redo03.log';

移动数据文件:

alter database rename file 'D:\ORACLE\ORADATA\TEST\SYSTEM01.DBF' to 'F:\TEST\SYSTEM01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\UNDOTBS01.DBF' to 'F:\TEST\UNDOTBS01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\DRSYS01.DBF' to 'F:\TEST\DRSYS01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\INDX01.DBF' to 'F:\TEST\INDX01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\ODM01.DBF' to 'F:\TEST\ODM01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\TOOLS01.DBF' to 'F:\TEST\TOOLS01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\USERS01.DBF' to 'F:\TEST\USERS01.DBF';
alter database rename file 'D:\ORACLE\ORADATA\TEST\XDB01.DBF' to 'F:\TEST\XDB01.DBF';

这时可以SQL>alter database open;

临时文件位置转移:

数据库open后可以执行:

SQL> alter database tempfile '临时文件路径' drop;

数据库已更改。

SQL> alter tablespace temp add tempfile '临时文件路径' size 100M reuse;


表空间已更改。

SQL> select * from v$tempfile;

重启数据库,OK,迁移完成。

需求:Oracle的数据库文件都存放在C盘,由于数据文件越来越大,所以想把一些数据文件移至D盘

环境:Oracle9i

操作步骤:

  1. sqlplus /nolog
  2. connect / as sysdba;
  3. shutdown immediate;
  4. startup mount;
  5. alter database rename file 'c:\ora92\oradata\trans\trans.dbf' to 'd:\ora92\oradata\trans\trans.dbf';
  6. alter database open;
注意点:
  • temp表空间的数据文件不能移动

附Oracle的几种启动方式

1、startup nomount

  非安装启动,这种方式启动下可执行:重建控制文件、重建数据库。

  读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。

2、startup mount dbname

  安装启动,这种方式启动下可执行:数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重新定位数据文件、重做日志文件。

  执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,但此时不对数据文件和日志文件进行校验检查。

3、startup open dbname

  先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,这种方式下可访问数据库中的数据。

4、startup,等于以下三个命令

  startup nomount


参考:

临时数据文件 更改路径 谷歌

  alter database mount

  alter database open