Oracle Block Change Tracking
[
2010/03/16 17:27 | by askwan ]
2010/03/16 17:27 | by askwan ]
Oracle Block Change Tracking is a new feather in oracle 10g ,it can improve RMAN incremental backup proformance by recording changed blocks in each datafile use a change tracking file.If change tracking is enabled, RMAN uses the change tracking file to identify changed blocks for incremental backup, thus avoiding the need to scan every block in the datafile.
Identify current database enable block change tracking feather or not:
Enabling and Disabling Change Tracking:
DISABLE BCT:
Moving the Change Tracking File:
step 1 :
step 2 :
shutdown database
step 3:
step 4 :
mount database and do :
step 5 : open database
alter database open
referrence :《Oracle® Database Backup and Recovery Basics》
Identify current database enable block change tracking feather or not:
SQL> select filename,status,bytes from v$block_change_tracking;
FILENAME
--------------------------------------------------------------------------------
STATUS BYTES
---------- ----------
DISABLED
FILENAME
--------------------------------------------------------------------------------
STATUS BYTES
---------- ----------
DISABLED
Enabling and Disabling Change Tracking:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING;
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
*
ERROR at line 1:
ORA-19773: must specify change tracking file name
ENABLE BCT:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
2 USING FILE '/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f' REUSE;
Database altered.
SQL> select filename,status,bytes from v$block_change_tracking;
FILENAME
--------------------------------------------------------------------------------
STATUS BYTES
---------- ----------
/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f
ENABLED 11599872
ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
*
ERROR at line 1:
ORA-19773: must specify change tracking file name
ENABLE BCT:
SQL> ALTER DATABASE ENABLE BLOCK CHANGE TRACKING
2 USING FILE '/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f' REUSE;
Database altered.
SQL> select filename,status,bytes from v$block_change_tracking;
FILENAME
--------------------------------------------------------------------------------
STATUS BYTES
---------- ----------
/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f
ENABLED 11599872
DISABLE BCT:
SQL> ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;
Database altered.
SQL> select filename,status,bytes from v$block_change_tracking;
FILENAME
--------------------------------------------------------------------------------
STATUS BYTES
---------- ----------
DISABLED
Database altered.
SQL> select filename,status,bytes from v$block_change_tracking;
FILENAME
--------------------------------------------------------------------------------
STATUS BYTES
---------- ----------
DISABLED
Moving the Change Tracking File:
step 1 :
SQL> SELECT filename FROM V$BLOCK_CHANGE_TRACKING;
FILENAME
--------------------------------------------------------------------------------
/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f
FILENAME
--------------------------------------------------------------------------------
/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f
step 2 :
shutdown database
step 3:
cp /opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f /tmp/
step 4 :
mount database and do :
alter database rename file '/opt/oracle/oracle/flash_recovery_area/CAPITALV/rman_change_track.f' to '/tmp/rman_change_track.f'
step 5 : open database
alter database open
referrence :《Oracle® Database Backup and Recovery Basics》
configuration oracle data guard for testing
[
2010/03/11 14:39 | by askwan ]
2010/03/11 14:39 | by askwan ]
OS: CentOS 5.4 x86_64
Oracle: Oracle 10.2.0.1 64bit for linux
题外话:有些东西长时间不接触,而理解又不深刻的话,慢慢就淡忘了。。。
这个笔记是边参考文档oracle 10g《Data Guard Concepts and Administration》,边验证记录下的
仅供参考
单机环境配置oracle 10g dataguard (physical standby)
IP:192.168.0.21
预期规划如下:
主库:
db_name=dg1
sid=dg1
db_unique_name=primary
network_service_name=primary_21
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
数据文件路径=/u01/oracle/oradata/dg1
归档日志路径=/u01/oracle/oradata/dg1/archive
警告跟踪等日志文件路径=/u01/oracle/admin/dg1/
从库:
dg_name=dg1
sid=standby
db_unique_name=standby
network_service_name=standby_21
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
数据文件路径=/u01/oracle/oradata/standby
归档日志路径=/u01/oracle/oradata/standby/archive
警告跟踪等日志文件路径=/u01/oracle/admin/standby
1 准备工作
Oracle: Oracle 10.2.0.1 64bit for linux
题外话:有些东西长时间不接触,而理解又不深刻的话,慢慢就淡忘了。。。
这个笔记是边参考文档oracle 10g《Data Guard Concepts and Administration》,边验证记录下的
仅供参考
单机环境配置oracle 10g dataguard (physical standby)
IP:192.168.0.21
预期规划如下:
主库:
db_name=dg1
sid=dg1
db_unique_name=primary
network_service_name=primary_21
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
数据文件路径=/u01/oracle/oradata/dg1
归档日志路径=/u01/oracle/oradata/dg1/archive
警告跟踪等日志文件路径=/u01/oracle/admin/dg1/
从库:
dg_name=dg1
sid=standby
db_unique_name=standby
network_service_name=standby_21
ORACLE_BASE=/u01/oracle
ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
数据文件路径=/u01/oracle/oradata/standby
归档日志路径=/u01/oracle/oradata/standby/archive
警告跟踪等日志文件路径=/u01/oracle/admin/standby
1 准备工作
a simple oracle rman backup script
[
2010/03/05 16:17 | by askwan ]
2010/03/05 16:17 | by askwan ]
Note:this backup script is suitable for db size < 200G,
and for backup file safety ,may be you should use an independent disk to store backup files
1 configuration target database to archive log mode
2 configuration or check log_archive_dest and db_recovery_file_dest or log_archive_dest_n
3 write a rman script
oracle@dbtest:~$ vim backup.rman
4 write backup shell script
oracle@dbtest:~$ vim backup.sh
5 set cronjob for user oracle
and for backup file safety ,may be you should use an independent disk to store backup files
1 configuration target database to archive log mode
2 configuration or check log_archive_dest and db_recovery_file_dest or log_archive_dest_n
3 write a rman script
oracle@dbtest:~$ vim backup.rman
run{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 15 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/orabak/ctfile_%F';
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '/opt/oracle/orabak/DBFULL_%U';
BACKUP DATABASE SKIP INACCESSIBLE PLUS ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT;
DELETE OBSOLETE;
RELEASE CHANNEL C1;
}
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 15 DAYS;
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/opt/oracle/orabak/ctfile_%F';
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '/opt/oracle/orabak/DBFULL_%U';
BACKUP DATABASE SKIP INACCESSIBLE PLUS ARCHIVELOG FILESPERSET 20 DELETE ALL INPUT;
DELETE OBSOLETE;
RELEASE CHANNEL C1;
}
4 write backup shell script
oracle@dbtest:~$ vim backup.sh
#!/bin/bash
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=capitalv
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH
rman TARGET / log='/opt/oracle/orabak/rman.log' cmdfile='/opt/oracle/backup.rman'
export ORACLE_BASE=/opt/oracle
export ORACLE_SID=capitalv
export ORACLE_HOME=$ORACLE_BASE/oracle/product/10.2.0/db_1
PATH=/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/bin:/sbin:$PATH;
export PATH=$ORACLE_HOME/bin:$PATH
rman TARGET / log='/opt/oracle/orabak/rman.log' cmdfile='/opt/oracle/backup.rman'
5 set cronjob for user oracle
30 02 * * 0,3 bash /opt/oracle/backup.sh
how to create a rman catalog
[
2010/03/02 12:07 | by askwan ]
2010/03/02 12:07 | by askwan ]
SQL> create tablespace rmantest datafile '/u01/oracle/oradata/askwan/rmantest01.dbf' size 100M autoextend on ;
Tablespace created.
SQL> create user rman identified by rman;
User created.
SQL> alter user rman default tablespace rmantest temporary tablespace temp;
User altered.
SQL> alter user rman quota unlimited on rmantest;
User altered.
SQL> grant recovery_catalog_owner,connect,resource to rman;
Grant succeeded.
SQL> exit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
login with user rman to create catalog
[oracle@oracle ~]$ rman catalog rman/rman
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 2 12:10:44 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
RMAN>
RMAN> create catalog tablespace rmantest;
recovery catalog created
Recovery Manager: Release 10.2.0.1.0 - Production on Tue Mar 2 12:10:44 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to recovery catalog database
RMAN>
RMAN> create catalog tablespace rmantest;
recovery catalog created
create rman catalog done!




