시계를 delete &shrink &move하면 rman의 백업 효율을 높일 수 없습니다
우선 rman 백업을 할 때 사용된 블록을 백업합니다.시계를 delete &shrink &move하면 rman의 백업 효율을 높일 수 없습니다.resize는 가능합니다.
delete,shrink,move는 백업 집합의 크기를 바꾸지 않습니다.
다음은 이 조작과 초기 테이블의 백업 집합 크기를 비교하고 시간을 들여 이 결론을 설명할 것이다.
DB 10gR201/OS redhat
1、 1g tbs, 1g t
create tablespace tbs datafile '/u01/oradata/sales/tbs01' size 1024m;
create table t1 pctfree 99 pctused 0 tablespace tbs as select * from dba_objects where 1=0;
insert into t1 select * from dba_objects;
insert into t1 select * from dba_objects;
commit;
2、 delete、shrink、move、resize rman ,
SQL> col segment_name for a30
SQL> select segment_name,sum(blocks)*8/1024 from dba_extents
2 where tablespace_name = 'TBS' group by segment_name;
SEGMENT_NAME SUM(BLOCKS)*8/1024
------------------------------ ------------------
T1 792
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_data_files
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 1024
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_free_space
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 231.9375
SQL>
RMAN> backup tablespace tbs format='/tmp/tbs%U.bak';
Starting backup at 13-MAR-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=213 devtype=DISK
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00006 name=/u01/oradata/sales/tbs01
channel ORA_DISK_1: starting piece 1 at 13-MAR-14
channel ORA_DISK_1: finished piece 1 at 13-MAR-14
piece handle=/tmp/tbs09p33hi1_1_1.bak tag=TAG20140313T190016 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:35
Finished backup at 13-MAR-14
RMAN>
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:01 tbs09p33hi1_1_1.bak
2.2 delete mod(rownum,2)=0
SQL> col segment_name for a30
SQL> select segment_name,sum(blocks)*8/1024 from dba_extents
2 where tablespace_name = 'TBS' group by segment_name;
SEGMENT_NAME SUM(BLOCKS)*8/1024
------------------------------ ------------------
T1 792
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_data_files
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 1024
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_free_space
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 231.9375
SQL>
RMAN> backup tablespace tbs format='/tmp/tbs%U.bak';
Starting backup at 13-MAR-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00006 name=/u01/oradata/sales/tbs01
channel ORA_DISK_1: starting piece 1 at 13-MAR-14
channel ORA_DISK_1: finished piece 1 at 13-MAR-14
piece handle=/tmp/tbs0ap33ia8_1_1.bak tag=TAG20140313T191312 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:37
Finished backup at 13-MAR-14
RMAN>
[oracle@laf ~]$ ls -l /tmp/tbs*
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:01 /tmp/tbs09p33hi1_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:14 /tmp/tbs0ap33ia8_1_1.bak
[oracle@laf ~]$
2.3 shrink
SQL> alter table t1 shrink space;
Table altered.
SQL> col segment_name for a30
SQL> select segment_name,sum(blocks)*8/1024 from dba_extents
2 where tablespace_name = 'TBS' group by segment_name;
SEGMENT_NAME SUM(BLOCKS)*8/1024
------------------------------ ------------------
T1 .0625
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_data_files
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 1024
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_free_space
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 1023.875
SQL>
RMAN> backup tablespace tbs format='/tmp/tbs%U.bak';
Starting backup at 13-MAR-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00006 name=/u01/oradata/sales/tbs01
channel ORA_DISK_1: starting piece 1 at 13-MAR-14
channel ORA_DISK_1: finished piece 1 at 13-MAR-14
piece handle=/tmp/tbs0bp33j66_1_1.bak tag=TAG20140313T192806 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:37
Finished backup at 13-MAR-14
RMAN>
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:01 /tmp/tbs09p33hi1_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:14 /tmp/tbs0ap33ia8_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:29 /tmp/tbs0bp33j66_1_1.bak
2.4 move
SQL>
SQL> alter table t1 move;
Table altered.
SQL> col segment_name for a30
SQL> select segment_name,sum(blocks)*8/1024 from dba_extents
2 where tablespace_name = 'TBS' group by segment_name;
SEGMENT_NAME SUM(BLOCKS)*8/1024
------------------------------ ------------------
T1 .0625
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_data_files
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 1024
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_free_space
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS 1023.875
SQL>
RMAN> backup tablespace tbs format='/tmp/tbs%U.bak';
Starting backup at 13-MAR-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00006 name=/u01/oradata/sales/tbs01
channel ORA_DISK_1: starting piece 1 at 13-MAR-14
channel ORA_DISK_1: finished piece 1 at 13-MAR-14
piece handle=/tmp/tbs0cp33jc1_1_1.bak tag=TAG20140313T193113 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:01:36
Finished backup at 13-MAR-14
RMAN>
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:01 /tmp/tbs09p33hi1_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:14 /tmp/tbs0ap33ia8_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:29 /tmp/tbs0bp33j66_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:32 /tmp/tbs0cp33jc1_1_1.bak
[oracle@laf ~]$
4、resize
SQL> alter tablespace tbs resize 1m;
alter tablespace tbs resize 1m
*
ERROR at line 1:
ORA-32773: operation not supported for smallfile tablespace TBS
SQL> alter database datafile 6 resize 1m;
Database altered.
SQL>
SQL>
SQL> col segment_name for a30
SQL> select segment_name,sum(blocks)*8/1024 from dba_extents
2 where tablespace_name = 'TBS' group by segment_name;
SEGMENT_NAME SUM(BLOCKS)*8/1024
------------------------------ ------------------
T1 .0625
SQL> col segment_name for a30
SQL> select segment_name,sum(blocks)*8/1024 from dba_extents
2 where tablespace_name = 'TBS' group by segment_name;
SEGMENT_NAME SUM(BLOCKS)*8/1024
------------------------------ ------------------
T1 .0625
SQL> select tablespace_name,sum(blocks)*8/1024 from dba_free_space
2 where tablespace_name = 'TBS' group by tablespace_name;
TABLESPACE_NAME SUM(BLOCKS)*8/1024
------------------------------------------------------------ ------------------
TBS .875
SQL>
RMAN> backup tablespace tbs format='/tmp/tbs%U.bak';
Starting backup at 13-MAR-14
using channel ORA_DISK_1
channel ORA_DISK_1: starting full datafile backupset
channel ORA_DISK_1: specifying datafile(s) in backupset
input datafile fno=00006 name=/u01/oradata/sales/tbs01
channel ORA_DISK_1: starting piece 1 at 13-MAR-14
channel ORA_DISK_1: finished piece 1 at 13-MAR-14
piece handle=/tmp/tbs0dp33jns_1_1.bak tag=TAG20140313T193732 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 13-MAR-14
RMAN>
RMAN> exit
Recovery Manager complete.
[oracle@laf ~]$ ls -l /tmp/tbs*
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:01 /tmp/tbs09p33hi1_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:14 /tmp/tbs0ap33ia8_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:29 /tmp/tbs0bp33j66_1_1.bak
-rw-r----- 1 oracle oinstall 830570496 Mar 13 19:32 /tmp/tbs0cp33jc1_1_1.bak
-rw-r----- 1 oracle oinstall 1081344 Mar 13 19:37 /tmp/tbs0dp33jns_1_1.bak
[oracle@laf ~]$
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Control Version de una base de datos OraclePodemos는 Flyway y Liquibase의 새로운 기반 버전을 제어할 수 있는 프로젝트를 제안합니다. Dada la integración de SQLcl y Liquibase, este ejemplo nos...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.