oracle移动数据库,在ORACLE中移动数据库文件

在ORACLE中移动数据库文件

a.shutdown immediate关闭数据库

b.在os下拷贝数据文件到新的地点

c.Startup mount 启动到mount下

d.Alter database rename datafile '老文件' to '新文件';

e.Alter database open; 打开数据库

2、利用Rman联机操作

RMAN> sql "alter database datafile ''file name'' offline";

RMAN> run {

2> copy datafile 'old file location'

3> to 'new file location';

4> switch datafile ' old file location'

5> to datafilecopy ' new file location';

6> }

RMAN> sql "alter database datafile ''file name'' online";

说明:利用OS拷贝也可以联机操作,不关闭数据库,与rman的步骤一样,利用rman与利用os拷贝的原理一样,在rman中copy是拷贝数据文件,相当于OS的cp,而switch则相当于alter database rename,用来更新控制文件。

--ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。

--由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,

--我們可能会考虑移动数据库文件。

--下面以LUNIX平台为例,分别讨论三种数据库文件的移动方法。

一.移动数据文件:

-- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。

1. ALTER DATABASE方法;

-- 用此方法,可以移动任何表空间的数据文件。

STEP 1. 下数据库:

$ sqlplus /nolog

SQL> conn / as sysdba

SQL> SHUTDOWN;

SQL> EXIT;

STEP 2.用操作系统命令移动数据文件:

-- 将数据文件 'test.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/test.ora /ora/oracle/data2

STEP 3. Mount数据库,用ALTER DATABASE命令将数据文件改名:

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> STARTUP MOUNT;

SQL> ALTER DATABASE RENAME FILE '/ora/oracle/data1/test.ora' TO '/ora/oracle/data2/test.ora';

STEP 4. 打开数据库:.

SQL> ALTER DATABASE OPEN;

SQL>SELECT NAME,STATUS FROM V$DATAFILE;

2. ALTER TABLESPACE方法:

-- 用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。

STEP1. 将此数据文件所在的表空间OFFLINE:

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> ALTER TABLESPACE test OFFLINE;

SQL> EXIT;

STEP2. 用操作系统命令移动数据文件:

将数据文件 'test.ora' 从/ora/oracle/

data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/test.ora /ora/oracle/data2

STEP3. 用ALTER TABLESPACE命令改数据文件名:

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> ALTER TABLESPACE test RENAME DATAFILE '/ora/oracle/data1/test.ora' TO '/ora/oracle/data2/test.ora';

STEP4. 将此数据文件所在的表空间ONLINE:

SQL> ALTER TABLESPACE test ONLINE;

SQL> SELECT NAME,STATUS FROM V$DATAFILE;

二. 移动控制文件:

-- 控制文件 在 INIT.ORA文件中指定。移动控制文件相对比较简单,下数据库,

-- 编辑INIT.ORA,移动控制文件,重启动数据库。

STEP 1. 下数据库:

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> SHUTDOWN;

SQL> EXIT;

STEP 2.用操作系统命令 移动控制文件:

--将控制文件'ctl3orcl.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/ctrlorcl3.ora /ora/oracle/data2

STEP 3. 编辑INIT.ORA文件:

INIT.ORA文件的在$ORACLE_HOME/dbs目录下,

修改参数 "control_files",其中指定移动后的控制文件:

control_files = (/ora/oracle/data1/ctrlorcl1.ora,/ora/oracle/data1/ctrlorcl2.ora,/ora/oracle/data2/ctrlorcl3.ora)

STEP 4. 重启动数据库:

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> STARTUP;

SQL>SELECT name FROM V$CONTROLFILE;

SQL> EXIT;

三. 移动联机日志文件:

STEP 1. 停数据库:

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> SHUTDOWN;

SQL> EXIT;

STEP 2. 用操作系统命令移动联机日志文件:

--将联机日志文件'redolog1.ora' 从/ora/oracle/data1目录移动到/ora/oracle/data2目录下:

$ mv /ora/oracle/data1/redolog1.ora /ora/oracle/data2

STEP 3. Mount数据库,用ALTER DATABASE 命令改联机日志文件名:.

$ sqlplus /nolog

SQL> conn / as sysdba;

SQL> STARTUP MOUNT ;

SQL> ALTER DATABASE RENAME FILE '/ora/oracle/data1/redolog1.ora' TO '/ora/oracle/data2/redolog1.ora';

STEP 4.重启动数据库: .

SQL> ALTER DATABASE OPEN;

SQL>SELECT MEMBER FROM V$LOGFILE

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值