Home Database Mysql Tutorial Linux平台下的Oracle自动备份案例(使用RMAN)

Linux平台下的Oracle自动备份案例(使用RMAN)

Jun 07, 2016 pm 05:32 PM
linux platform

有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具)

有个童鞋问rman的自动备份脚本程序,我之前有写过exp备份指定方案自动备份案例(Linux平台下的Oracle自动备份案例(使用exp工具)   ),现在补充下rman的案例。
为此写出下文,仅以记录并分享这个过程。

环境:
操作系统:RHEL5.4
数据库:Oracle 10.2.0
相关变量值:
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
备份的数据库实例名:test
备份的目标目录:/backup_rman

实现过程如下:
第一步:准备目录
mkdir /backup_rman
chown oracle:oinstall /backup_rman
chmod 755 /backup_rman

第二步:备份脚本程序的编写
1、创建备份脚本
切换到oracle用户,在oracle家目录下面创建bin目录,新建文件rman_backup.sh
mkdir bin
cd bin
touch rman_backup.sh
chmod 755 rman_backup.sh
编辑rman_backup.sh文件,添加如下内容:
#!/bin/bash
source /home/oracle/.bash_profile
/u01/app/oracle/product/10.2.0/db_1/bin/rman target / nocatalog cmdfile=/home/oracle/bin/rman_cmd  log=/backup_rman/rman_full_`date +%Y%m%d%H%M`.log
2、创建rman的备份脚本文件
cd ~/bin
touch rman_cmd
编辑rman_cmd文件添加如下内容(根据需要,可以进行适当的修改):
crosscheck archivelog all;
delete noprompt expired archivelog all;
run {
        configure retention policy to recovery window of 4 days;
        configure controlfile autobackup off;
        allocate channel c1 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;
        allocate channel c2 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;
        allocate channel c3 device type disk  format '/backup_rman/rman_full_%T_%U'  maxpiecesize=3G;
        backup database plus archivelog delete all input;
        backup current controlfile format '/backup_rman/rman_%T_CTL_%U';
        backup spfile format '/backup_rman/rman_%T_SPFILE_%U';
        release channel c1;
        release channel c2;
        release channel c3;
}
crosscheck backupset;
delete noprompt expired backup;
delete noprompt obsolete;
crosscheck archivelog all;
delete noprompt expired archivelog all;


第三步:添加crontab计划任务
使用oracle用户添加例行任务:
crontab -e
新打开的窗口中添加一下内容:
0 24 * * * /home/oracle/bin/rman_backup.sh
(*/3 * * * * /home/oracle/bin/rman_backup.sh)
注,,括号内的可以是做测试的时候用的,每三分钟执行一次备份,例为每天凌晨24点执行备份

第四步:执行验证:
1、crontab成功执行验证:
在root下执行tail -f /var/log/cron,监控cron日志来确保crontab的成功执行:
Aug 31 00:20:06 model crontab[6380]: (oracle) BEGIN EDIT (oracle)
Aug 31 00:20:48 model crontab[6380]: (oracle) REPLACE (oracle)
Aug 31 00:20:48 model crontab[6380]: (oracle) END EDIT (oracle)
Aug 31 00:21:01 model crond[26958]: (oracle) RELOAD (cron/oracle)
Aug 31 00:21:01 model crond[6412]: (oracle) CMD (/home/oracle/bin/rman_backup.sh)
Aug 31 00:24:01 model crond[6621]: (oracle) CMD (/home/oracle/bin/rman_backup.sh)

2、查看rman是否执行,并且执行成功
a.可在rman执行的时候执行ps -ef | grep rman | grep -v grep来查看rman进程是否成功启动
b.查看/backup_rman目录中是否有备份生成的文件:
$ oracle@model /backup_rman> ls
rman_20120831_CTL_0mnjvu15_1_1    rman_full_20120831_0injvtrq_1_1
rman_20120831_CTL_0vnjvu57_1_1    rman_full_20120831_0jnjvtvs_1_1
rman_20120831_SPFILE_0nnjvu18_1_1  rman_full_20120831_0knjvu0c_1_1
rman_20120831_SPFILE_10njvu5a_1_1  rman_full_20120831_0lnjvu13_1_1
rman_full_201208310021.log        rman_full_20120831_0onjvu1a_1_1
rman_full_201208310024.log        rman_full_20120831_0pnjvu1e_1_1
rman_full_20120831_0dnjvtrg_1_1    rman_full_20120831_0qnjvu1e_1_1
rman_full_20120831_0enjvtrg_1_1    rman_full_20120831_0rnjvu1i_1_1
rman_full_20120831_0fnjvtrg_1_1    rman_full_20120831_0snjvu4s_1_1
rman_full_20120831_0gnjvtrp_1_1    rman_full_20120831_0tnjvu52_1_1
rman_full_20120831_0hnjvtrp_1_1    rman_full_20120831_0unjvu55_1_1

验证结果:rman自动备份任务执行成功!

推荐阅读:

Oracle基础教程之通过RMAN复制数据库

RMAN备份策略制定参考内容

RMAN备份学习笔记

Oracle数据库备份加密 RMAN加密

linux

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Roblox: Bubble Gum Simulator Infinity - How To Get And Use Royal Keys
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Fusion System, Explained
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers Of The Witch Tree - How To Unlock The Grappling Hook
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Hot Topics

Java Tutorial
1673
14
PHP Tutorial
1277
29
C# Tutorial
1257
24
MySQL's Role: Databases in Web Applications MySQL's Role: Databases in Web Applications Apr 17, 2025 am 12:23 AM

The main role of MySQL in web applications is to store and manage data. 1.MySQL efficiently processes user information, product catalogs, transaction records and other data. 2. Through SQL query, developers can extract information from the database to generate dynamic content. 3.MySQL works based on the client-server model to ensure acceptable query speed.

Explain the role of InnoDB redo logs and undo logs. Explain the role of InnoDB redo logs and undo logs. Apr 15, 2025 am 12:16 AM

InnoDB uses redologs and undologs to ensure data consistency and reliability. 1.redologs record data page modification to ensure crash recovery and transaction persistence. 2.undologs records the original data value and supports transaction rollback and MVCC.

MySQL vs. Other Programming Languages: A Comparison MySQL vs. Other Programming Languages: A Comparison Apr 19, 2025 am 12:22 AM

Compared with other programming languages, MySQL is mainly used to store and manage data, while other languages ​​such as Python, Java, and C are used for logical processing and application development. MySQL is known for its high performance, scalability and cross-platform support, suitable for data management needs, while other languages ​​have advantages in their respective fields such as data analytics, enterprise applications, and system programming.

MySQL for Beginners: Getting Started with Database Management MySQL for Beginners: Getting Started with Database Management Apr 18, 2025 am 12:10 AM

The basic operations of MySQL include creating databases, tables, and using SQL to perform CRUD operations on data. 1. Create a database: CREATEDATABASEmy_first_db; 2. Create a table: CREATETABLEbooks(idINTAUTO_INCREMENTPRIMARYKEY, titleVARCHAR(100)NOTNULL, authorVARCHAR(100)NOTNULL, published_yearINT); 3. Insert data: INSERTINTObooks(title, author, published_year)VA

MySQL vs. Other Databases: Comparing the Options MySQL vs. Other Databases: Comparing the Options Apr 15, 2025 am 12:08 AM

MySQL is suitable for web applications and content management systems and is popular for its open source, high performance and ease of use. 1) Compared with PostgreSQL, MySQL performs better in simple queries and high concurrent read operations. 2) Compared with Oracle, MySQL is more popular among small and medium-sized enterprises because of its open source and low cost. 3) Compared with Microsoft SQL Server, MySQL is more suitable for cross-platform applications. 4) Unlike MongoDB, MySQL is more suitable for structured data and transaction processing.

Explain the InnoDB Buffer Pool and its importance for performance. Explain the InnoDB Buffer Pool and its importance for performance. Apr 19, 2025 am 12:24 AM

InnoDBBufferPool reduces disk I/O by caching data and indexing pages, improving database performance. Its working principle includes: 1. Data reading: Read data from BufferPool; 2. Data writing: After modifying the data, write to BufferPool and refresh it to disk regularly; 3. Cache management: Use the LRU algorithm to manage cache pages; 4. Reading mechanism: Load adjacent data pages in advance. By sizing the BufferPool and using multiple instances, database performance can be optimized.

MySQL: Structured Data and Relational Databases MySQL: Structured Data and Relational Databases Apr 18, 2025 am 12:22 AM

MySQL efficiently manages structured data through table structure and SQL query, and implements inter-table relationships through foreign keys. 1. Define the data format and type when creating a table. 2. Use foreign keys to establish relationships between tables. 3. Improve performance through indexing and query optimization. 4. Regularly backup and monitor databases to ensure data security and performance optimization.

Learning MySQL: A Step-by-Step Guide for New Users Learning MySQL: A Step-by-Step Guide for New Users Apr 19, 2025 am 12:19 AM

MySQL is worth learning because it is a powerful open source database management system suitable for data storage, management and analysis. 1) MySQL is a relational database that uses SQL to operate data and is suitable for structured data management. 2) The SQL language is the key to interacting with MySQL and supports CRUD operations. 3) The working principle of MySQL includes client/server architecture, storage engine and query optimizer. 4) Basic usage includes creating databases and tables, and advanced usage involves joining tables using JOIN. 5) Common errors include syntax errors and permission issues, and debugging skills include checking syntax and using EXPLAIN commands. 6) Performance optimization involves the use of indexes, optimization of SQL statements and regular maintenance of databases.

See all articles