Backup Oracle Database with RMAN

Recovery Manager ( RMAN ) เป็น Utility ของ Oracle Database ที่ใช้ในการ Backup, Restore & Recovery ในลักษณของ Physical Backup สามารถ Backup Database ทั้งก้อนได้ทั้งแบบ Hot และ Cold แต่ต้องทำการเปิด Archive Log ก่อน


Get Started

  • ทำการ Connect Database ด้วย SQL*Plus
# sqlplus / as sysdba
  • ทำการตรวจสอบ Archive Log จะเห็นว่า Close Archive
SQL> select log_mode from v$database ;

LOG_MODE
------------
NOARCHIVELOG
  • ทำการ Shutdown Database
SQL> shutdown immediate ;
Database closed.
Database dismounted.
ORACLE instance shut down.
  • ทำการ Start Database ในโหมด Mount
SQL> startup mount ;
ORACLE instance started.

Total System Global Area  722366464 bytes
Fixed Size                  2216864 bytes
Variable Size             545262688 bytes
Database Buffers          167772160 bytes
Redo Buffers                7114752 bytes
Database mounted.
  • ทำการ Enable Archive Log
SQL> alter database archivelog ;

Database altered.
  • ทำการ Start Database ในโหมด Open
SQL> alter database open ;

Database altered.
  • ทำการตรวจสอบ Archive Log อีกครั้งหนึ่ง
SQL> select log_mode from v$database ;

LOG_MODE
------------
ARCHIVELOG
  • ทำการตรวจสอบ Open Mode
SQL> select open_mode from v$database ;

OPEN_MODE
--------------------
READ WRITE
  • ทำการตรวจสอบ Log Sequence
SQL> archive log list ;
Database log mode              Archive Mode
Automatic archival             Enabled
Archive destination            USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     140184
Next log sequence to archive   140186
Current log sequence           140186
  • ทำการตรวจสอบ Fast Recovery Area
SQL> show parameter db_recovery_file_dest ;

NAME                                |TYPE       |VALUE
------------------------------------|-----------|------------------------------
db_recovery_file_dest               |string     |/u03/fast_recovery_area
db_recovery_file_dest_size          |big integer|20G
  • หาก Database Size ใหญ่กว่า 20G ให้ทำการแก้ไข Parameter ของ Fast Recovery Area
SQL> alter system set db_recovery_file_dest_size=20G scope=both ;
  • หาก Disk Space ไม่เพียงพอ ให้ทำการ Add Disk เพิ่ม และทำการแก้ไข Parameter ของ Fast Recovery Area
SQL> alter system set db_recovery_file_dest='/u04' scope=both ;
  • ทำการ Connect Database ด้วย RMAN
# rman target /
  • ทำการตรวจสอบ Backup Summary ก่อนการ Backup
RMAN> list backup summary ;

List of Backups
===============
Key     TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag
------- -- -- - ----------- --------------- ------- ------- ---------- ---
1       B  F  A DISK        27-FEB-19       1       1       NO         TAG20190227T095410
2       B  F  A DISK        27-FEB-19       1       1       NO         TAG20190227T102258
3       B  F  A DISK        27-FEB-19       1       1       NO         TAG20190227T102258
  • ทำการตรวจสอบ Schema ก่อนการ Backup
RMAN> report schema ;
using target database control file instead of recovery catalog
Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    730      SYSTEM               ***     /u01/app/oracle/oradata/orcl/system01.dbf
2    830      SYSAUX               ***     /u01/app/oracle/oradata/orcl/sysaux01.dbf
3    80       UNDOTBS1             ***     /u01/app/oracle/oradata/orcl/undotbs01.dbf
4    5        USERS                ***     /u01/app/oracle/oradata/orcl/users01.dbf
5    100      EXAMPLE              ***     /u01/app/oracle/oradata/orcl/example01.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    51       TEMP                 32767       /u01/app/oracle/oradata/orcl/temp01.dbf
  • ทำการตรวจสอบ SCN ก่อนการ Backup
RMAN> list incarnation of database ;

using target database control file instead of recovery catalog

List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       ORCL     102677175        PARENT  1          11-SEP-10
2       2       ORCL     102677175        PARENT  960431     10-SEP-11
3       3       ORCL     102677175        CURRENT 558617968  16-DEC-11
  • ทำการ Backup Database แบบ Full Backup
RMAN> backup database ;
  • ทำการตรวจสอบ Backup Set
# cd /u01/app/oracle/fast_recovery_area/orcl/backupset/2019_02_27/

อ่านเพิ่มเติม : https://bit.ly/2GYiIGk


Leave a Reply

Your email address will not be published. Required fields are marked *