免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1080 | 回复: 0
打印 上一主题 下一主题

修改主库的数据文件位置 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-12-22 08:54 |只看该作者 |倒序浏览
Renaming a Datafile in the Primary Database
1,To rename the datafile in the primary database, take the tablespace offline:
SQL> ALTER TABLESPACE tbs_4 OFFLINE;

2,Exit from the SQL prompt and issue an operating system command, such as the following UNIX mv command, to rename the datafile on the primary system:
% mv tbs_4.dbf tbs_x.dbf

3,Rename the datafile in the primary database and bring the tablespace back online:
SQL> ALTER TABLESPACE tbs_4 RENAME DATAFILE 'tbs_4.dbf'
  2>                                     TO 'tbs_x.dbf';
SQL> ALTER TABLESPACE tbs_4 ONLINE;

4,Connect to the standby database and make sure that all the logs are applied; then stop managed recovery operations:
SQL> SELECT NAME, SEQUENCE#, ARCHIVED, APPLIED
  2> FROM V$ARCHIVED_LOG;
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;

5,Shut down the standby database:
SQL> SHUTDOWN;

6,# Rename the datafile at the standby site using an operating system command, such as the UNIX mv command:
% mv tbs_4.dbf tbs_x.dbf

7,Start and mount the standby database with the new control file:
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;

8,if standby_file_management=AUTO,then execute
SQL> alter system set standby_file_management=manual;
 
9,Rename the datafile in the standby controlfile. Note that the STANDBY_FILE_MANAGEMENT initialization parameter must be set to MANUAL.
SQL> ALTER DATABASE RENAME FILE 'tbs_4.dbf'
  2>                         TO 'tbs_x.dbf';
 
 
10,if step 8 is done,then execute
SQL> alter system set standby_file_management=auto;

11,On the standby database, restart managed recovery operations:
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE
  2> DISCONNECT FROM SESSION;
 
 
  #############################################################################
 
  ---- ORACLE数据库由数据文件,控制文件和联机日志文件三种文件组成。由于磁盘空间的变化,或者基于数据库磁盘I/O性能的调整等,数据库管理员可能会考虑移动数据库文件。下面以UNIX平台为例,分别讨论三种数据库文件的移动方法。
---- 一.移动数据文件:
---- 可以用ALTER DATABASE,ALTER TABLESPACE两种方法移动数据文件。
---- 1. ALTER DATABASE方法;
---- 用此方法,可以移动任何表空间的数据文件。
---- STEP 1. 下数据库:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;
---- STEP 2.用操作系统命令移动数据文件:
---- 将数据文件 'app1_data.ora' 从/ora/oracle7/data1目录移动到/ora/oracle7/data2目录下:
---- $ mv /ora/oracle7/data1/app1_data.ora /ora/oracle7/data2
---- STEP 3. Mount数据库,用ALTER DATABASE命令将数据文件改名:
---- $ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP MOUNT;
SVRMGR > ALTER DATABASE RENAME FILE
2 > '/ora/oracle7/data1/app1_data.ora ' TO
3 > '/ora/oracle7/data2/app1_data.ora;
STEP 4. 打开数据库:.
SVRMGR > ALTER DATABASE OPEN;
SVRMGR >SELECT NAME,STATUS FROM V$DATAFILE;
---- 2. ALTER TABLESPACE方法:
---- 用此方法,要求此数据文件既不属于SYSTEM表空间,也不属于含有ACTIVE回滚段或临时段的表空间。
---- STEP1. 将此数据文件所在的表空间OFFLINE:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > ALTER TABLESPACE app1_data OFFLINE;
SVRMGR > EXIT;
STEP2. 用操作系统命令移动数据文件:
将数据文件 'app1_data.ora' 从/ora/oracle7/
data1目录移动到/ora/oracle7/data2目录下:
$ mv /ora/oracle7/data1/app1_data.ora /ora/oracle7/data2
STEP3. 用ALTER TABLESPACE命令改数据文件名:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > ALTER TABLESPACE app1_data RENAME DATAFILE
2 > '/ora/oracle7/data 1/app1_data.ora' TO
3 > '/ora/oracle7/data2/app1_data.ora;
STEP4. 将此数据文件所在的表空间ONLINE:
SVRMGR > ALTER TABLESPACE app1_data ONLINE;
SVRMGR > SELECT NAME,STATUS FROM V$DATAFILE;
---- 二. 移动控制文件:
---- 控制文件 在 INIT.ORA文件中指定。移动控制文件相对比较简单,下数据库,编辑INIT.ORA,移动控制文件,重启动数据库。
STEP 1. 下数据库:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;
STEP 2.用操作系统命令 移动控制文件:
将控制文件'ctl3orcl.ora' 从/ora/oracle7
/data1目录移动到/ora/oracle7/data2目录下:
$ mv /ora/oracle7/data 1/ctrl3orcl.ora
/ora/oracle7/data2
STEP 3. 编辑INIT.ORA文件:
INIT.ORA文件的在$ORACLE_HOME/dbs目录下,
修改参数 "control_files",其中指定移动后的控制文件:
control_files = (/ora/oracle7/data 1/ctrl1orcl.ora,
/ora/oracle7/data1/ctrl2orcl.ora,
/ora/oracle7/data2/ctrl3orcl.ora)
STEP 4. 重启动数据库:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP;
SVRMGR >SELECT name FROM V$CONTROLFILE;
SVRMGR > EXIT;

---- 三. 移动联机日志文件:
STEP 1. 停数据库:
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > SHUTDOWN;
SVRMGR > EXIT;
STEP 2. 用操作系统命令移动联机日志文件:
将联机日志文件'redolog1.ora' 从/ora/oracle7
/data1目录移动到/ora/oracle7/data2目录下:
$ mv /ora/oracle7/data 1/redolog1.ora
/ora/oracle7/data2
STEP 3. Mount数据库,用ALTER DATABASE
命令改联机日志文件名:.
$ svrmgrl
SVRMGR > CONNECT INTERNAL;
SVRMGR > STARTUP MOUNT CC1;
SVRMGR > ALTER DATABASE RENAME FILE
2 > '/ora/oracle7/data 1/redolog1.ora' TO
3 > '/ora/oracle7/data 2/redolog1.ora';
STEP 4.重启动数据库: .
SVRMGR > ALTER DATABASE OPEN;
SVRMGR >SELECT MEMBER FROM V$LOGFILE;
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP