您的位置:首页 > 数据库 > Oracle

Oracle HowTo:如何通过只读方式更改Oracle数据文件位置

2013-11-01 16:10 766 查看
« Oracle HowTo:如何移动数据文件的位置? |
Blog首页 |
无尽的爱(Endless Love) - 美丽的神话 »

Oracle HowTo:如何通过只读方式更改Oracle数据文件位置

作者:eygle |

English
【转载时请标明出处和作者信息】|【恩墨学院 OCM培训传DBA成功之道】

链接:http://www.eygle.com/archives/2005/11/oracle_howto_move_datafile_readonly.html

站内相关文章|Related Articles
ORA-01157 - Mount状态下的文件存在性校验

Oracle10gR2如何删除误添加的空文件

Oracle中数据文件大小的限制

拥有归档日志 如何恢复一个丢失的数据文件

数据文件SCN的一致性问题

在Oracle数据库中,有多种方式可以移动数据文件的位置,之前介绍过几种方法:Oracle HowTo:在非归档模式下如何更改数据文件位置,Oracle
HowTo:如何移动数据文件的位置?

以上两种方法,可能在要求较高的24x7系统中不适合采用,因为会使表空间长时间不可用。

特别是当表空间数据文件巨大时,物理拷贝可能需要较长的时间。

本文推荐另外一种方法,可以做一个折中,以下是一个简单的步骤说明:

1.将表空间置于只读

只读状态可以使数据仍然可为用户访问.

alter tablespace tablespace_name read only;

2.物理拷贝文件

3.将表空间offline

alter tablespace tablespace_name offline;

4.rename数据文件

alter database rename file 'old_dir_file' to 'new_dir_file';

5.将表空间联机

alter tablespace tablespace_name online;

6.将表空间置于read write模式

alter tablespace tablespace_name read write;

以下是示范步骤:

1.将表空间置于只读状态

[oracle@jumper oracle]$ sqlplus "/ as sysdba"

SQL*Plus: Release 9.2.0.4.0 - Production on Sat Nov 12 21:10:49 2005

Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.4.0 - Production
With the Partitioning option
JServer Release 9.2.0.4.0 - Production

SQL> archive log list;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            /opt/oracle/oradata/conner/archive
Oldest online log sequence     7
Next log sequence to archive   10
Current log sequence           10
SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------
/opt/oracle/oradata/conner/system01.dbf
/opt/oracle/oradata/conner/undotbs01.dbf
/opt/oracle/oradata/conner/users01.dbf

SQL> alter tablespace users read only;

Tablespace altered.

2.物理拷贝文件

SQL> ! cp /opt/oracle/oradata/conner/users01.dbf /opt/oracle/oradata/users01.dbf

3.将表空间脱机

SQL> alter tablespace users offline;

Tablespace altered.

4.修改文件名称

SQL> alter database rename file '/opt/oracle/oradata/conner/users01.dbf' to '/opt/oracle/oradata/users01.dbf';

Database altered.

5.将表空间联机

SQL> alter tablespace users online;

Tablespace altered.

6.将表空间置于读写状态

SQL> alter tablespace users read write;

Tablespace altered.

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------
/opt/oracle/oradata/conner/system01.dbf
/opt/oracle/oradata/conner/undotbs01.dbf
/opt/oracle/oradata/users01.dbf

SQL>

历史上的今天...

>> 2010-11-12文章:

谁有遇到 ORA-600 kcblasm_1 的Bug及经验?

>> 2009-11-12文章:

10.2.0.4 LGWR Trace Warning: Log Write Time

>> 2008-11-12文章:

IT168&ITPUB高校行活动:我也能做 DBA

>> 2006-11-12文章:

元大都的枫叶 绚烂斑斓的美丽

相关文章:

Oracle
HowTo:在非归档模式下如何更改数据文件位置

Oracle
HowTo:如何移动数据文件的位置?

Oracle
Database 12c 新特性 - Pluggable Database

Oracle
HowTo:如何使用split命令分割alert文件

Oracle数据库恢复:风险意识缺乏导致的数据风险

Oracle
HowTo:如何通过RMAN进行裸设备和文件系统之间的数据文件迁移

Oracle中数据文件大小的限制
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: