当前位置:首页 » 编程软件 » 11grman备份脚本

11grman备份脚本

发布时间: 2022-09-25 02:11:29

A. 如何开始使用RMAN的Oracle备份脚本

1 数据库修改为自动归档模式
2 修改rman参数
3 rman自动备份脚本
4 设置系统自动备份参数
5 rman还原
恢复整个数据库
恢复单个表空间

B. rman备份脚本和rman增量备份脚本分享

一、单独备份
1、经典整库备份:backup
as
compressed
backupset
database
include
current
controlfile
plus
archivelog
delete
all
input;
2、tablespace:backup
tablespace
名字;
3、数据文件:backup
datafile
n;
(n:具体的数据文件编号select
file_name,file_id,tablespace_name
from
dba_data_files;)
4、控制文件:backup
current
controlfile;或者backup
database
include
current
controlfile;
5、日志文件:backup
archivelog
all;或者
database
plus
archivelog;
6、参数文件:backup
spfile;
7、全库备份脚本:
复制代码
代码如下:
run{
allocate
channel
c1
type
disk;
backup
full
tag
‘dbfull'
format
‘/backup/full%u_%s_%p'
database
include
current
controlfile;
sql
‘alter
system
archive
log
current';
#在数据库进行全备份完成之后,需要执行该条命令将当前日志归档,备份归档日志时应该包括最后生成的归档
backup
filesperset
3
format
‘/backup/arch%u_%s_%p'#filesperset
3设定每个备份集里文件不超过3个
archivelog
all
delete
input;
#备份归档可选,可以单独定期备份
release
channel
c1;
}
二、增量备份
1、0级增量备份
复制代码
代码如下:
run{
allocate
channel
c1
type
disk;
backup
incremental
level
0
tag
‘db0'
format
‘/backup/db0%u_%s_%p'database
include
current
controlfile;
;
sql
'alter
system
archive
log
current';#在数据库进行全备份完成之后,需要执行该条命令将当前日志归档,备份归档日志时应该包括最后生成的归档
backup
filesperset
3
format
‘/backup/arch%u_%s_%p'#filesperset
3设定每个备份集里文件不超过3个
archivelog
all
delete
input;
#备份归档可选,可以单独定期备份
release
channel
c1;
}
2、1级备份脚本
复制代码
代码如下:
run{
allocate
channel
c1
type
disk;
backup
incremental
level
1
tag
‘db1'
format
‘/backup/db1%u_%s_%p'
database
skip
readonly
include
current
controlfile;
backup
filesperset
3
format
‘/backup/arch%u_%s_%p'#filesperset设定每个备份集里文件不超过3个
archivelog
all
delete
input;
#备份归档可选,可以单独定期备份
release
channel
c1;
}

C. 求教RMAN自动备份点事

求教RMAN自动备份点事
-- 在正式备份之前,一定按如下要求去做。
-- 版权声明如下:
-- 可以任意拷贝、修改该备份脚本的内容,但不可以篡改作者。

各文件的作用:
1.rman_db_all.sh :
备份整个oracle数据库,该文件会先后调用rman_db.sh,scp_rman_db_files.sh文件
2.rman_db.sh:
由rman_db_all.sh文件调用,实现用rman备份数据库.
该脚本会首先根据环境变量的设置:
a.生成一个rman脚本文件(rman_arch_cr_g.sh), 去检查归档日志的情况
b.生成一个rman脚本文件(rman_db_backup_g.sh), 备份整个数据库
3.scp_rman_db_files.sh:
由rman_db_all.sh文件调用,将用rman备份出的数据文件拷贝到另外一个机器上,用scp拷贝

4.OS_bak_arch.sh:
用操作系统拷贝方法只备份归档日志文件,该文件会先后调用OS_bak_arch.sh,scp_rman_arch_files.sh文件
5.OS_bak_arch.sh:
由OS_bak_arch.sh文件调用,实现将新产生的归档日志拷贝到指定的目录.
6.scp_rman_arch_files.sh
由OS_bak_arch.sh文件调用,将第5步的指定目录的归档日志用scp拷贝到另外一台机器上。

具体设置方法:

1.设置服务器,使之用ssh与scp密码登录时不用密码
2.在备份服务器上创建相应的备份目录, 为 BACKUP_SERVER_TARGET, BACKUP_SERVER_SCRIPT_TARGET 环境变量指定的值
3.在数据库服务器上创建相应的目录, 为 BACKUP_BASE, SCRIPT_FILE_TARGET 环境变量指定的值
3.修改所有文件中的相应环境变量的值,所有文件的环境变量都一样
4.运行前将rman_db_all.sh,rman_arch_all.sh文件前面有中文的行去掉
5.根据归档目录个数的不同,适当的修改脚本
6.将所有脚本拷贝到备份服务器的BACKUP_SERVER_SCRIPT_TARGET目录下,并使所有的脚本有可执行的权限
10.将rman_db_all.sh文件加到cron中,每天运行一次。rman_arch_all.sh也加到cron中,每30分钟运行一次
11.根据需要修改,LOG_CHECKPOINT_TIMEOUT,使之在指定的时间内归档,这样可以保证在整个系统硬盘都崩溃的情况下,
只损失指定时间的记录

备注:
1.在oracle9i下测试通过
2.每个scrip中都设置enviroment variable的原因是:用ssh时,环境变量传不过去。
3.需要脚本找偶,因为这里发不上来。^_^

D. oracle11g怎么在centos6.2上自动备份

首先,你要写一个RMAN的备份脚本。并未RMAN制定一个备份策略。比如备份保存多少天。
然后,你要建一个oracle的定时job来自动执行。或者写一个linux的脚本来执行
具体内容请~~ 或者另外开问题来问。。。因为较麻烦~~

另外,好像在EM(网页管理器)里面有设置自动备份的内容,应该很方便。你可以去看看

E. 写出Oracle 11g和SQL Server 2008 ent中备份数据库的ddl语句

ORACLE获取DDL的几种常用方法
转自CSDN (原作 brucelau)

一、通过toad、plsql develop等第三方工具进行导出DLL操作,用这种办法的好处在于操作简单方便,但需要安装,下面简单介绍一下用这两个工具获得DLL语句的操作。

1、Toad 工具 (可以到www.quest.com网站上下载)
a、启动toad,连接目标数据库
b、点击DBA->Generate Schema Script,通过操作界面,选择相应的Schema,当然可以通过其他的几个tab页面选择相应的条件,点击Execute按钮。

2、plsql develop 工具
a、启动plsql develop,连接目标数据库
b、点击Tools->Export Tables,选择相应的内容,然后点击Export按钮,其实这些工具也是调用Oracle的Exp工具而已,如果你没有指定文件目录,文件会出现在plsql develop软件的安装目录下。

二、通过EXP/IMP工具
Oracle提供的最原始最实用的导入导出工具,我们大体上可以分为三种办法实现导出DDL。

1、通过imp指定indexfile参数,但这种办法不爽在于有每行前会有REM
exp userid=... tables=emp rows=n file=emp.dmp
imp userid=... file=emp.dmp indexfile=emp.sql

2、 通过imp指定show=y,同时指定log参数,格式上也不是很好
exp userid=... tables=emp rows=n file= emp.dmp
imp userid=... file= emp.dmp show=y log=emp.sql

3、利用unix下有strings命令(这种方法比较野蛮):
exp userid=... tables=tab1 rows=n file=tab1.dmp
strings emp.dmp >emp.sql
emp.sql中就有DLL语句了

三、通过9i的DBMS_METADATA包得到DLL语句
基本上用到的语法如下:
set echo off
set feedback off
set heading off
set verify off

set newpage none
set linesize 999
set pagesize 0

set term off
set trims off
set trimspool on
set trimout off
set timing off

set long 90000 REM 必需

1、获取单个的建表和建索引的语法
spool DEPT.sql
select dbms_metadata.get_ddl('TABLE','DEPT','SCOTT') from al;
select dbms_metadata.get_ddl('INDEX','DEPT_IDX','SCOTT') from al;
spool off;

2、获取一个SCHEMA下的所有建表和建索引的语法,以scott为例:
spool scott_schema.sql
SELECT DBMS_METADATA.GET_DDL('TABLE',table_name) FROM USER_TABLES;
SELECT DBMS_METADATA.GET_DDL('INDEX',index_name) FROM USER_INDEXES;
spool off;

3、获取某个SCHEMA的建全部存储过程的语法
spool proceres.sql
select DBMS_METADATA.GET_DDL('PROCEDURE',object_name) from user_objects where object_type = 'PROCEDURE' AND status='VALID';
spool off;

4、获取某个SCHEMA的建全部视图/的语法
spool proceres.sql
select DBMS_METADATA.GET_DDL('VIEW',object_name) from user_objects
where object_type = 'VIEW' AND status='VALID';
spool off;

注:PACKAGE 也同样适用,格式不是很好;

F. linux下RMAN备份脚本问题<一>

1、 “-f” 是判断后面接的文件存在而且是一般文件
2、 “${1}” 指的确实是执行脚本的时候跟的第一个参数 ${2}、${3}....依此类推
3、 “export” 是声明后面的变量是“全局变量”
4、 “#” 后面是是注释信息,去掉#号才会起作用。前面的“##”是为了美观,并且告诉你一些脚本信息

G. oracle数据库这样的(照片所示)rman备份脚本怎么写

只考虑备份,不考虑其他情况下:
root下的3个rman备份级别的脚本:

#cat rman_0.sql
backup incremental level 0 database;
#cat rman_1.sql
backup incremental level 1 database;
#cat rman_1c.sql
backup incremental level 1 cumulative database;

root下的调用rman脚本
#cat rman_0.sh
#!/bin/bash
su - oracle -c "rman target sys/SHUIMITAO@rabbit @/root/rman_0.sql"
#cat rman_1.sh
#!/bin/bash
su - oracle -c "rman target sys/SHUIMITAO@rabbit @/root/rman_1.sql"
#cat rman_1c.sh
#!/bin/bash
su - oracle -c "rman target sys/SHUIMITAO@rabbit @/root/rman_1c.sql"

root的计划任务:
#crontab -e
0 1 * * 0 /root/rman_0.sh
0 2 * * 1 /root/rman_1.sh
0 2 * * 2 /root/rman_1.sh
0 3 * * 3 /root/rman_1c.sh
0 2 * * 4 /root/rman_1.sh
0 3 * * 5 /root/rman_1c.sh
0 2 * * 6 /root/rman_1.sh

11g里只有0和1两个备份级别,请自行对应oracle低版本
level 0是full
level 1是差异增量备份 --和前一次备份比较,将这个期间改变的数据备份下来
level 1c是累计增量备份 --和比他小得级别相比(即全备份),改变的数据备份

然后根据实际情况还要将备份的策略往脚本添加

H. oracle rman备份脚本怎么写

在ORACLE数据库中,RMAN备份的脚本非常多,下面介绍一例shell脚本如何通过RMAN备份,以及ftp上传RMAN备份文件以及归档日志文件的脚本。
fullback.sh 里面调用RMAN命令做数据库备份,它使用的cmdfile为/home/oracle/backup/bin/fullback.rcv,同时在/home/oracle/backup/logs目录下生成日志文件。
1: [oracle@DB-Server bin]$ more fullback.sh
2:
3: #!/bin/bash
4:
5: export ORACLE_BASE=/u01/app/oracle
6:
7: export ORACLE_SID=gps
8:
9: ORACLE_HOME=$ORACLE_BASE/proct/10.2.0/db_1; export ORACLE_HOME
10:
11: TMP=/tmp; export TMP
12:
13: TMPDIR=$TMP; export TMPDIR
14:
15: PATH=/usr/sbin:$PATH; export PATH
16:
17: PATH=$ORACLE_HOME/bin:$PATH; export PATH
18:
19: LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
20:
21: CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
22:
23: export CLASSPATH
24:
25: TODAY=`date +%Y_%m_%d`
26:
27: rman nocatalog target / cmdfile /home/oracle/backup/bin/fullback.rcv log /home/oracle/backup/logs/fullbackup_$TODAY.log
28:
29: /home/oracle/backup/bin/ftpbackup.sh
30:
fullback.rcv文件非常简单, 如下所示:
1: [oracle@DB-Server bin]$ more /home/oracle/backup/bin/fullback.rcv
2:
3: run{
4:
5: allocate channel c4 type disk;
6:
7: backup as compressed backupset
8:
9: skip inaccessible
10:
11: tag fullbackupwitharchivelog
12:
13: (database);
14:
15: backup current controlfile;
16:
17: backup spfile;
18:
19: sql "alter system archive log current";
20:
21: delete noprompt obsolete;
22:
23: release channel c4;
24:
25: }
26:
RMAN生成的备份文件,需要通过FTP上传到FTP服务器,一则数据库服务器没有这么多空间存储多天的备份,二则是出于容灾、数据安全需要。
下面脚本中FTP服务器,用户名密码均使用xxx替代,在实际环境中,使用具体的信息替代即可。
1: [oracle@DB-Server bin]$ more ftpbackup.sh
2:
3: #!/bin/sh、
4:
5: rm -f /home/oracle/.netrc
6:
7: date_yesterday=`date -d'yesterday' +%Y_%m_%d`
8:
9: date_today=`date +%Y_%m_%d`
10:
11: echo "default login xxxx password xxxxxx" >> /home/oracle/.netrc
12:
13: echo "macdef init" >> /home/oracle/.netrc
14:
15: echo "binary" >> /home/oracle/.netrc
16:
17: echo "cd archivelog" >> /home/oracle/.netrc
18:
19: echo "mkdir $date_yesterday" >> /home/oracle/.netrc
20:
21: echo "cd $date_yesterday" >> /home/oracle/.netrc
22:
23: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_yesterday" >> /home/oracle/.netrc
24:
25: echo "mput *" >> /home/oracle/.netrc
26:
27: echo "cd .." >> /home/oracle/.netrc
28:
29: echo "mkdir $date_today" >>/home/oracle/.netrc
30:
31: echo "cd $date_today" >>/home/oracle/.netrc
32:
33: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_today" >>/home/oracle/.netrc
34:
35: echo "mput * ">>/home/oracle/.netrc
36:
37: echo "cd .." >>/home/oracle/.netrc
38:
39: echo "cd ../backupset" >> /home/oracle/.netrc
40:
41: echo "mkdir $date_today" >> /home/oracle/.netrc
42:
43: echo "cd $date_today" >> /home/oracle/.netrc
44:
45: echo "lcd /u04/flash_recovery_area/gps/backupset/$date_today" >> /home/oracle/.netrc
46:
47: echo "mput *" >> /home/oracle/.netrc
48:
49: echo "cd .." >> /home/oracle/.netrc
50:
51: echo "cd ../autobackup" >> /home/oracle/.netrc
52:
53: echo "mkdir $date_today" >> /home/oracle/.netrc
54:
55: echo "cd $date_today" >> /home/oracle/.netrc
56:
57: echo "lcd /u04/flash_recovery_area/gps/autobackup/$date_today" >> /home/oracle/.netrc
58:
59: echo "mput *" >> /home/oracle/.netrc
60:
61: echo "quit" >> /home/oracle/.netrc
62:
63: echo "" >> /home/oracle/.netrc
64:
65: chmod 600 /home/oracle/.netrc
66:
67: ftp -i -v xxx.xxx.xxx.xxx 8021 >>/home/oracle/backup/logs/ftp$date_today.log 2>&1
68:
另外,关于归档日志也需要每隔2小时上传一次到FTP服务器,2小时上传一次归档日志的shell脚本如下所示:
1: [oracle@DB-Server bin]$ more ftp2hours.sh
2:
3: #!/bin/sh
4:
5: rm -f /home/oracle/.netrc
6:
7: date_yesterday=`date -d'yesterday' +%Y_%m_%d`
8:
9: date_today=`date +%Y_%m_%d`
10:
11: echo "default login xxxx password xxxx" >> /home/oracle/.netrc
12:
13: echo "macdef init" >> /home/oracle/.netrc
14:
15: echo "binary" >> /home/oracle/.netrc
16:
17: echo "cd archivelog" >> /home/oracle/.netrc
18:
19: echo "mkdir $date_today" >>/home/oracle/.netrc
20:
21: echo "cd $date_today" >>/home/oracle/.netrc
22:
23: echo "lcd /u04/flash_recovery_area/gps/archivelog/$date_today" >>/home/oracle/.netrc
24:
25: echo "mput * ">>/home/oracle/.netrc
26:
27: echo "quit" >> /home/oracle/.netrc
28:
29: echo "" >> /home/oracle/.netrc
30:
31: chmod 600 /home/oracle/.netrc
32:
33: ftp -i -v xxx.xxx.xxx.xxx 8021 >>/home/oracle/backup/logs/ftp2hours.$date_today.log 2>&1
34:
最后需要将RMAN备份生成的日志文件,以及FTP上传备份文件以及归档日志的记录通过邮件形式发送给DBA或系统管理员,
1: [oracle@DB-Server bin]$ more chkbackandmail.sh
2: #!/bin/bash
3: rm -f /home/oracle/backup/bin/sendmail.pl
4: date_today=`date +%Y_%m_%d`
5: subject="Oracle Backup Alert Service on $date_today"
6: content="Dear colleagues,
7:
8: Attached please find the logs of xxx(xxx.xxx.xxx.xxx) oracle database backup and transfer to FTP Server(xxx.xxx.xxx.xxx), please
9: review the file and check whether the backup succeeded or not,and double check all backups have been mped to tape, many tha
10: nks
11:
12:
13:
14:
15: Best regards
16: Oracle Alert Services
17:
18: "
19: file="/home/oracle/backup/logs/fullbackup_$date_today.log,/home/oracle/backup/logs/ftp$date_today.log"
20: echo "#!/usr/bin/perl" >> /home/oracle/backup/bin/sendmail.pl
21: echo "use Mail::Sender;" >> /home/oracle/backup/bin/sendmail.pl
22: echo "\$sender = new Mail::Sender {smtp => 'xxx.xxx.xxx.xxx', from => '[email protected]'}; ">> /home/oracle/backup/bin/sendmai
23: l.pl
24: echo "\$sender->MailFile({to => '[email protected]',">> /home/oracle/backup/bin/sendmail.pl
25: echo "cc=>'[email protected],[email protected],[email protected]'," >> /home/oracle/backup/b
26: in/sendmail.pl
27: echo "subject => '$subject',">> /home/oracle/backup/bin/sendmail.pl
28: echo "msg => '$content',">> /home/oracle/backup/bin/sendmail.pl
29: echo "file => '$file'});">> /home/oracle/backup/bin/sendmail.pl
30: perl /home/oracle/backup/bin/sendmail.pl
最后在Crontab 作业里面配置调用这些shell脚本。例如如下所示,在1:01分执行fullback.sh ,每隔两个小时(例如0:50、2:50...)执行一次ftp2hours.sh, 在每天早上8:40执行chkbackandmail.sh 发送fullback.sh 以及ftp2hour.sh的执行日志记录。

I. oracle怎么用rman脚本进行备份

Oracle数据库中rman备份脚本非常实用
查询字符集
SQL> select * from nls_database_parameters;
NLS_CHARACTERSET
AL32UTF8
备份时字符集很重要,不然会出乱码
一、0级备份(全备)红色是要修改的,根据个人的存放位置。
[oracle@oracle122 script]$ cat db_bak0.rman
run
{
configure retention policy to recovery window of 8 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/home/oracle/rmanbak/%F';
allocate channel ch1 device type disk format '/home/oracle/rmanbak/inc0_%d_%s_%p_%u_%T';
backup incremental level 0 tag='level 0' database skip inaccessible filesperset 10 plus archivelog filesperset 20;
release channel ch1;
}
allocate channel for maintenance device type disk;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
delete noprompt archivelog until time 'sysdate-30';
0级运行脚本
[oracle@oracle122 script]$ cat exec_0_level.sh
ORACLE_HOSTNAME=oracle122; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/proct/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DATE=$(date +%Y_%m_%d)
export NLS_LANG="Simplified Chinese_china".AL32UTF8
/u01/app/oracle/proct/11.2.0/dbhome_1/bin/rman target sys/sys_admin cmdfile /home/oracle/rmanbak/script/db_bak0.rman log /home/oracle/rmanbak/script/log/rman_$DATE.log append
二、1级备份(增量)
[oracle@oracle122 script]$ cat db_bak1.rman
run
{
configure retention policy to recovery window of 8 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/home/oracle/rmanbak/%F';
allocate channel ch1 device type disk format '/home/oracle/rmanbak/inc1_%d_%s_%p_%u_%T';
backup incremental level 1 tag='level 1' database skip inaccessible filesperset 10 plus archivelog filesperset 20;
release channel ch1;
}
allocate channel for maintenance device type disk;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
delete noprompt archivelog until time 'sysdate-30';
1级运行脚本
[oracle@oracle122 script]$ cat exec_1_level.sh
ORACLE_HOSTNAME=oracle122; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/proct/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DATE=$(date +%Y_%m_%d)
export NLS_LANG="Simplified Chinese_china".AL32UTF8
/u01/app/oracle/proct/11.2.0/dbhome_1/bin/rman target sys/sys_admin cmdfile /home/oracle/rmanbak/script/db_bak1.rman log /home/oracle/rmanbak/script/log/rman_$DATE.log append
三、2级备份(从0级追加到现在的备份)
[oracle@oracle122 script]$ cat db_bak2.rman
run
{
configure retention policy to recovery window of 8 days;
configure controlfile autobackup on;
configure controlfile autobackup format for device type disk to '/home/oracle/rmanbak/%F';
allocate channel ch1 device type disk format '/home/oracle/rmanbak/inc2_%d_%s_%p_%u_%T';
backup incremental level 2 tag='level 2' database skip inaccessible filesperset 10 plus archivelog filesperset 20 delete all input;
release channel ch1;
}
allocate channel for maintenance device type disk;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete;
2级运行脚本
[oracle@oracle122 script]$ cat exec_2_level.sh
ORACLE_HOSTNAME=oracle122; export ORACLE_HOSTNAME
ORACLE_BASE=/u01/app; export ORACLE_BASE
ORACLE_HOME=/u01/app/oracle/proct/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=/usr/sbin:$PATH; export PATH
PATH=$ORACLE_HOME/bin:$PATH; export PATH
export DATE=$(date +%Y_%m_%d)
export NLS_LANG="Simplified Chinese_china".AL32UTF8
/u01/app/oracle/proct/11.2.0/dbhome_1/bin/rman target sys/sys_admin cmdfile /home/oracle/rmanbak/script/db_bak2.rman log /home/oracle/rmanbak/script/log/rman_$DATE.log append
定时备份星期天为0级全备,星期三为2级备份,星期一,星期二,星期四,星期五,星期六为1级增量备份晚上11点开始备份
[oracle@oracle122 script]$ crontab -l
* 23 * * 0 /home/oracle/rmanbak/script/exec_0_level.sh
* 23 * * 1 /home/oracle/rmanbak/script/exec_1_level.sh
* 23 * * 2 /home/oracle/rmanbak/script/exec_1_level.sh
* 23 * * 3 /home/oracle/rmanbak/script/exec_2_level.sh
* 23 * * 4 /home/oracle/rmanbak/script/exec_1_level.sh
* 23 * * 5 /home/oracle/rmanbak/script/exec_1_level.sh
* 23 * * 6 /home/oracle/rmanbak/script/exec_1_level.sh

J. oracle数据库这样的(照片所示)rman备份脚本怎么写

只考虑备份,不考虑其他情况下:
root下的3个rman备份级别的脚本:
#cat
rman_0.sql
backup
incremental
level
0
database;
#cat
rman_1.sql
backup
incremental
level
1
database;
#cat
rman_1c.sql
backup
incremental
level
1
cumulative
database;
root下的调用rman脚本
#cat
rman_0.sh
#!/bin/bash
su
-
oracle
-c
"rman
target
sys/SHUIMITAO@rabbit
@/root/rman_0.sql"
#cat
rman_1.sh
#!/bin/bash
su
-
oracle
-c
"rman
target
sys/SHUIMITAO@rabbit
@/root/rman_1.sql"
#cat
rman_1c.sh
#!/bin/bash
su
-
oracle
-c
"rman
target
sys/SHUIMITAO@rabbit
@/root/rman_1c.sql"
root的计划任务:
#crontab
-e
0
1
*
*
0
/root/rman_0.sh
0
2
*
*
1
/root/rman_1.sh
0
2
*
*
2
/root/rman_1.sh
0
3
*
*
3
/root/rman_1c.sh
0
2
*
*
4
/root/rman_1.sh
0
3
*
*
5
/root/rman_1c.sh
0
2
*
*
6
/root/rman_1.sh
11g里只有0和1两个备份级别,请自行对应oracle低版本
level
0是full
level
1是差异增量备份
--和前一次备份比较,将这个期间改变的数据备份下来
level
1c是累计增量备份
--和比他小得级别相比(即全备份),改变的数据备份
然后根据实际情况还要将备份的策略往脚本添加

热点内容
美嘉算法口诀 发布:2025-05-16 06:03:15 浏览:952
c程序编译连接 发布:2025-05-16 06:02:36 浏览:964
脚本魔兽 发布:2025-05-16 06:01:52 浏览:330
文件夹python 发布:2025-05-16 06:01:43 浏览:627
电脑我的世界服务器游戏币 发布:2025-05-16 05:27:25 浏览:487
索尼手机为什么不能用安卓10 发布:2025-05-16 05:18:46 浏览:784
蔚来es6选择哪些配置实用 发布:2025-05-16 05:18:05 浏览:130
小米如何扫码wifi密码 发布:2025-05-16 05:13:38 浏览:807
楼层密码是什么意思 发布:2025-05-16 05:13:37 浏览:13
创建文件夹失败 发布:2025-05-16 05:12:59 浏览:396