oracle数据库cp命令,ORACLE使用命令移动各类文件的方法

一.移动数据文件:

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

1. ALTER DATABASE

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

step1:

关闭数据库

#sqlplus / as sysdba

SQL>shutdown immediate

step2:

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

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

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

step3:

Mount数据库,用ALTERDATABASE命令将数据文件改名:

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> SELECTNAME,STATUS FROM V$DATAFILE;

2. ALTER TABLESPACE

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

step1:

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

#sqlplus / as sysdba

SQL> ALTER TABLESPACE test OFFLINE;

step2:

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

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

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

step3:

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

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;

二. 移动控制文件

step1:

通过spfile创建pfile

#sqlplus / as sysdbaSQL> select * from v$controlfile;

SQL> create pfile='/tmp/init.ora' from spfile;

step2:

关闭数据库

SQL> shutdown immediate;

复制control file到/redolog文件系统下

#cp -p /ebankdata1/ebank/control01.ctl /ebankredolog1/ebank/control01.ctl

#cp -p /ebankdata2/ebank/control02.ctl /ebankredolog2/ebank/control02.ctl

#cp -p /ebankdata3/ebank/control03.ctl /ebankredolog3/ebank/control03.ctl

修改/tmp/init.ora中control file的参数分别为

*.control_files='/ebankredolog1/ebank/control01.ctl','/ebankredolog2/ebank/control02.ctl','/ebankredolog3/ebank/control03.ctl'

PS:如果是在WINDOWS环境下,路径的写法须注意,一般是在文件名前有一左斜杠,如:'E:\ORACLE\ORADATA\CATALOG\/CONTROL01.CTL'

备份spfile

#cp -p spfileebank.ora spfileebank.ora.20101209.bak

step3:

使用pfile启动数据库,通过pfile创建spfile

SQL> startup pfile=’/tmp/init.ora’;SQL> create spfile from pfile=’/tmp/init.ora’;

关闭数据库

SQL> shutdown immediate;

step4:

重新启动数据库,验证control file路径

SQL> startup force

SQL> select * from v$controlfile;

三. 移动redo日志文件

step1:

停数据库:

SQL> shutdown immediate

step2:

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

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

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

step3:

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

SQL> STARTUP MOUNT

SQL> ALTER DATABASE RENAME FILE‘/ora/oracle/data1/redolog1.ora’ TO

‘/ora/oracle/data2/redolog1.ora’;

step4:

重启动数据库:

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、付费专栏及课程。

余额充值