[20130104]快速移动数据文件.txt

[20130104]快速移动数据文件.txt

如果要快速移动数据文件,对业务的影响最小,可以使用rman的backup as copy功能,先拷贝文件到
需要移动的目录,然后再追加增量变化,再利用增量备份来恢复copy文件,再切换数据文件。

做一个例子来说明整个过程:

SQL> select * from v$version where rownum
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

RMAN> report schema ;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name TEST
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    770      SYSTEM               ***     /u01/app/oracle11g/oradata/test/system01.dbf
2    840      SYSAUX               ***     /u01/app/oracle11g/oradata/test/sysaux01.dbf
3    1024     UNDOTBS1             ***     /u01/app/oracle11g/oradata/test/undotbs01.dbf
4    656      USERS                ***     /u01/app/oracle11g/oradata/test/users01.dbf
5    100      EXAMPLE              ***     /u01/app/oracle11g/oradata/test/example01.dbf
6    64       RMAN                 ***     /u01/app/oracle11g/oradata/test/rman01.dbf
7    64       TOOLS                ***     /u01/app/oracle11g/oradata/test/tools01.dbf
8    64       TEST                 ***     /u01/app/oracle11g/oradata/test/test01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    339      TEMP                 339         /u01/app/oracle11g/oradata/test/temp01.dbf
RMAN> backup as copy datafile 8 format '/data/testtest/test01.dbf';
Starting backup at 2013-01-04 11:36:47
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=191 device type=DISK
channel ORA_DISK_1: starting datafile copy
input datafile file number=00008 name=/u01/app/oracle11g/oradata/test/test01.dbf
output file name=/data/testtest/test01.dbf tag=TAG20130104T113649 RECID=1 STAMP=803821013
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
Finished backup at 2013-01-04 11:36:56
RMAN> list copy of datafile 8;
List of Datafile Copies
=======================
Key     File S Completion Time     Ckp SCN    Ckp Time
------- ---- - ------------------- ---------- -------------------
1       8    A 2013-01-04 11:36:53 3221576548 2013-01-04 11:36:49
        Name: /data/testtest/test01.dbf
        Tag: TAG20130104T113649
--注意显示的Ckp SCN=3221576548.
--在test表空间上建立一些表。
create table t2 tablespace test as select * from dba_objects;
RMAN> backup incremental from scn 3221576548 datafile 8 format '/data/testtest/%U';
Starting backup at 2013-01-04 11:42:17
using channel ORA_DISK_1
backup will be obsolete on date 2013-01-11 11:42:18
archived logs will not be kept or backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
input datafile file number=00008 name=/u01/app/oracle11g/oradata/test/test01.dbf
channel ORA_DISK_1: starting piece 1 at 2013-01-04 11:42:18
channel ORA_DISK_1: finished piece 1 at 2013-01-04 11:42:19
piece handle=/data/testtest/0bnuiloq_1_1 tag=TAG20130104T114217 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
using channel ORA_DISK_1
backup will be obsolete on date 2013-01-11 11:42:20
archived logs will not be kept or backed up
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current control file in backup set
channel ORA_DISK_1: starting piece 1 at 2013-01-04 11:42:22
channel ORA_DISK_1: finished piece 1 at 2013-01-04 11:42:23
piece handle=/data/testtest/0cnuilot_1_1 tag=TAG20130104T114217 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 2013-01-04 11:42:23
RMAN> recover copy of datafile 8;
Starting recover at 2013-01-04 11:43:16
using channel ORA_DISK_1
channel ORA_DISK_1: starting incremental datafile backup set restore
channel ORA_DISK_1: specifying datafile copies to recover
recovering datafile copy file number=00008 name=/data/testtest/test01.dbf
channel ORA_DISK_1: reading from backup piece /data/testtest/0bnuiloq_1_1
channel ORA_DISK_1: piece handle=/data/testtest/0bnuiloq_1_1 tag=TAG20130104T114217
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
Finished recover at 2013-01-04 11:43:20
RMAN> list copy of datafile 8;
List of Datafile Copies
=======================
Key     File S Completion Time     Ckp SCN    Ckp Time
------- ---- - ------------------- ---------- -------------------
2       8    A 2013-01-04 11:43:19 3221577302 2013-01-04 11:42:18
        Name: /data/testtest/test01.dbf
        Tag: TAG20130104T113649
--可以发现Ckp SCN=3221577302.
--再执行如下脚本,实现切换。
run
{
     sql 'alter database datafile 8 offline';
     switch datafile 8 to datafilecopy '/data/testtest/test01.dbf';
     recover datafile 8;
     sql 'alter database datafile 8 online';
}
sql statement: alter database datafile 8 offline
datafile 8 switched to datafile copy
input datafile copy RECID=2 STAMP=803821399 file name=/data/testtest/test01.dbf
Starting recover at 2013-01-04 11:46:38
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2013-01-04 11:46:42
sql statement: alter database datafile 8 online

RMAN> report schema ;
Report of database schema for database with db_unique_name TEST
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    770      SYSTEM               ***     /u01/app/oracle11g/oradata/test/system01.dbf
2    840      SYSAUX               ***     /u01/app/oracle11g/oradata/test/sysaux01.dbf
3    1024     UNDOTBS1             ***     /u01/app/oracle11g/oradata/test/undotbs01.dbf
4    656      USERS                ***     /u01/app/oracle11g/oradata/test/users01.dbf
5    100      EXAMPLE              ***     /u01/app/oracle11g/oradata/test/example01.dbf
6    64       RMAN                 ***     /u01/app/oracle11g/oradata/test/rman01.dbf
7    64       TOOLS                ***     /u01/app/oracle11g/oradata/test/tools01.dbf
8    64       TEST                 ***     /data/testtest/test01.dbf
List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    339      TEMP                 339         /u01/app/oracle11g/oradata/test/temp01.dbf
--可以发现已经移动了数据文件。这样对业务影响最小。
RMAN> list copy of datafile 8;
List of Datafile Copies
=======================
Key     File S Completion Time     Ckp SCN    Ckp Time
------- ---- - ------------------- ---------- -------------------
5       8    A 2013-01-04 11:50:17 3221577612 2013-01-04 11:49:18
        Name: /u01/app/oracle11g/oradata/test/test01.dbf
        Tag: TAG20120916T093538

--原来的数据文件自动变成了copy记录在控制文件中。切换回来。

run
{
     sql 'alter database datafile 8 offline';
     switch datafile 8 to datafilecopy '/u01/app/oracle11g/oradata/test/test01.dbf';
     recover datafile 8;
     sql 'alter database datafile 8 online';
}
sql statement: alter database datafile 8 offline
datafile 8 switched to datafile copy
input datafile copy RECID=5 STAMP=803821817 file name=/u01/app/oracle11g/oradata/test/test01.dbf
Starting recover at 2013-01-04 11:51:40
using channel ORA_DISK_1
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finished recover at 2013-01-04 11:51:44
sql statement: alter database datafile 8 online
RMAN> list copy of datafile 8;
List of Datafile Copies
=======================
Key     File S Completion Time     Ckp SCN    Ckp Time
------- ---- - ------------------- ---------- -------------------
6       8    A 2013-01-04 11:51:39 3221577711 2013-01-04 11:50:24
        Name: /data/testtest/test01.dbf
        Tag: TAG20130104T113649
时间: 2024-07-31 19:10:41

[20130104]快速移动数据文件.txt的相关文章

[20171206]最小数据文件.txt

[20171206]最小数据文件.txt --//曾经写过一篇关于[20150113]关于oracle的存储结构.txt的文章,链接http://blog.itpub.net/267265/viewspace-1400603/ --//里面提到如果建立的数据文件如果SEGMENT SPACE MANAGEMENT AUTO (8K数据块),最小文件是88k.实际占用大小96K. --//是否可以建立更小的数据文件呢? 1.环境: SCOTT@book> @ &r/ver1 PORT_STRI

[20160329]bbed修复offline的数据文件.txt

[20160329]bbed修复offline的数据文件.txt --测试数据库,不小心将一个数据文件offline了,archivelog也删除了(主要磁盘空间紧张,做了一次整理). --自己测试修复看看,顺便做一个记录. 1.环境: SCOTT@book> @ &r/ver1 PORT_STRING                    VERSION        BANNER ------------------------------ -------------- --------

[20160329]表空间与数据文件.txt

[20160329]表空间与数据文件.txt --昨天跟别人聊天,提到招聘DBA,一些dba这些基本的概念不清楚. --表空间可以是一个逻辑的概念,包含多个数据文件.而一个数据文件仅仅属于一个表空间. --表空间offline,一般不需要recover 恢复.除非加入immediate 参数. --而数据文件offline,一定需要恢复,才能online.如果是非归档模式必须在后面加入drop参数(自己曾经对于这存在混乱). --不要误解后面这个drop不是删除的意思,我以前理解就存在错误. -

[20130116]ASM未正常启动,使用dd找回数据文件.txt

[20130116]ASM未正常启动,使用dd找回数据文件.txt 参考链接:http://www.xifenfei.com/3025.html,自己为了加强理解,重做一次. SQL> column name format a50 SQL> select file#,ts#,status,enabled,checkpoint_change#,name,bytes  from v$datafile;      FILE#        TS# STATUS  ENABLED    CHECKPO

[20130115]测试从asm中取出spfile文件以及一个数据文件.txt

[20130115]测试从asm中取出spfile文件以及一个数据文件.txt 参考: http://www.xifenfei.com/3019.html 使用dd复制asm中文件 SQL> column name format a50 SQL> select file#,ts#,status,enabled,checkpoint_change#,name,bytes  from v$datafile;      FILE#        TS# STATUS  ENABLED    CHEC

wince下,使用C# ,把数据写入txt文件中

问题描述 wince下,使用C# ,把数据写入txt文件中 各位高手大家好,我在wince下,使用C# ,把数据写入txt文件中,所有的代码都执行完成,也没有发生任何错误,但是我打开txt里面是空白的,没有任何数据,不知其解,望高手不吝指教,谢谢.写入txt的代码如下: FileStream fs = null; StreamWriter sw = null; try { fs = new FileStream(fileName, FileMode.Append, FileAccess.Writ

列表控件 txt-mfc如何将列表控件内的数据导入txt文件

问题描述 mfc如何将列表控件内的数据导入txt文件 设置了一个列表控件(报告样式),里面显示的内容有几行几列,希望将所有内容导入一个txt文件中,若文件不存在则创建,若存在则在之前内容之后添加,导入后仍希望保持几行几列的列表形式(最好不同列之间有空格),请问具体怎么做到呢? 解决方案 writestring(m_listbox) 解决方案二: 建议做法: 1.先读取列表中的数据,保存到自己的数据结构中. 2.将数据写入好txt文档,按照你想要的格式进行输出.

[20161101]rman备份与数据文件变化7.txt

[20161101]rman备份与数据文件变化7.txt --//想象一下,如果备份文件时间很长,而这个时候数据文件大小发生了变化,oracle的备份如何解决这个问题呢? --//去年已经测试了建立备份集的情况,一直想做一次image copy的测试,一直脱,主要原因自己不想做这个测试.... --//而且当时的测试很乱,自己主要一边做一边想.... --//链接: http://blog.itpub.net/267265/viewspace-2127386/ http://blog.itpub

[20171206]位图区一定在数据文件开头吗.txt

[20171206]位图区一定在数据文件开头吗.txt --//如果问你oracle数据文件的位图区位于数据文件开头部分吗?我想大家的回答一定,实际上在10g下未必,因为10g建立的数据文件. --//在数据区前面仅仅8块,第1块作为文件头,第2块作为位图区头,第3-8块(共6块)作为位图区,一般1个位图区块能容纳 --//(494+2)*32*4= 63488区,1个区=64K(对于SEGMENT SPACE MANAGEMENT AUTO). --//这样1个位图块可以容纳63488*64*