扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
这期内容当中小编将会给大家带来有关LINUX下ORACLE增量备份的步骤是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。
我们提供的服务有:成都做网站、成都网站建设、微信公众号开发、网站优化、网站认证、定襄ssl等。为1000+企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的定襄网站制作公司
操作步骤:
1 查看操作系统版本
[oracle@localhost ~]$ cat /proc/version
Linux version 2.6.18-164.el5 (mockbuild@x86-003.build.bos.redhat.com) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Tue Aug 18 15:51:48 EDT 2009
2 查看数据库版本
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
3 查看数据库的名字
SQL> show parameter db_name;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_name string NACEC
4 查看归档状态
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence 42
Next log sequence to archive 44
Current log sequence 44
5 设置归档日志的格式
SQL>alter system set log_archive_format='ARC%s%t%r.log' scope=spfile;
6 设置归档日志的存放路径
SQL>alter system set db_recovery_file_dest_size=2G
SQL>alter system set db_recovery_file_dest=’/dat/DBSoftware/oracle/flash_recovery_area’;
SQL>alter system set log_archive_dest_1=’location=/home/FRA’
SQL>alter system set log_archive_dest_10=’LOCATION=USE_DB_RECOVERY_FILE_DEST’;
SQL>shutdown immediate
SQL>startup
SQL>alter system switch logfile;
7 启动控制文件的自动备份
RMAN> configure controlfile autobackup on;
new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
RMAN> show controlfile autobackup;
RMAN configuration parameters are:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
8 查看是否用spfile参数文件
SQL> show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string
VALUE的值为空,数据库是用pfile文件启动的,如果有值,则为spfile启动
创建spfile参数文件
SQL> create spfile from pfile;
File created.
会在$oracle_home/dbs/下生成spfileSID.ora
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE instance started.
Total System Global Area 268435456 bytes
Fixed Size 1218868 bytes
Variable Size 88082124 bytes
Database Buffers 171966464 bytes
Redo Buffers 7168000 bytes
Database mounted.
Database opened.
SQL> show parameter spfile;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /dat/DBSoftware/oracle/product/10.2.0/db_1/dbs/spfilenacec.ora
9 使用rman的冗余策略,默认为7天
RMAN> configure retention policy to recovery window of 15 days;
10 启动块更改跟踪文件
SQL>alter database enable block change tracking using file '/home/rob10gr2_block_change.fil';
11 在/home/NACEC/BackupDatabase/下创建backuplevel0.rcv和backuplevel1.rcv脚本
backuplevel0.rcv内容:
# script.:bakuplevel0.rcv
# creater:liu shiming
# date:2010/6/28
# desc:backup level0 database datafile in archive with rman
# connect database
#!/bin/bash
export ORACLE_BASE=/home/DBSoftware/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=NACEC
export PATH=/home/DBSoftware/oracle/product/10.2.0/db_1/bin:$PATH
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 0 tag 'db0' format '/home/liusm/BackupDatabase/rmanbackup/db0_%d_%T_%s' database include current controlfile;
sql'alter system archive log current';
backup filesperset 3 format '/home/liusm/BackupDatabase/rmanbackup/arch0_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end
backuplevel1.rcv内容:
# script.:bakuplevel1.rcv
# creater:liu shiming
# date:2010/6/27
# desc:backup level1 database datafile in archive with rman
# connect database
#!/bin/bash
export ORACLE_BASE=/home/DBSoftware/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export ORACLE_SID=NACEC
export PATH=/home/DBSoftware/oracle/product/10.2.0/db_1/bin:$PATH
rman target/ << EOF_RMAN
run{
allocate channel c1 type disk;
backup incremental level 1 tag 'db1' format '/home/liusm/BackupDatabase/rmanbackup/db1_%d_%T_%s' database include current controlfile;
sql'alter system archive log current';
backup filesperset 3 format '/home/liusm/BackupDatabase/rmanbackup/arch2_%d_%T_%s' archivelog all delete input;
release channel c1;
}
# end
给这两个脚本授予执行的权限:
[oracle@NACEC BackupDatabase]$ chmod +x *.rcv
(注意:要试运行脚本:./backuplevel1.rcv)
12 用crontab指定执行时间
[oracle@NACEC BackupDatabase]$ crontab -e
crontab: installing new crontab
[oracle@NACEC BackupDatabase]$ crontab -l
0 1 * * 0 /home/NACEC/BackupDatabase/backuplevel0.rcv
0 1 * * 3 /home/NACEC/BackupDatabase/backuplevel0.rcv
0 1 * * 1-2 /home/NACEC/BackupDatabase/backuplevel1.rcv
0 1 * * 4-6 /home/NACEC/BackupDatabase/backuplevel1.rcv
周日和周三凌晨1:00执行0级备份,周一、二、四、五、六凌晨1:00执行1级备份
内容:
0 1 * * 0 /home/NACEC/BackupDatabase/backuplevel0.rcv
0 1 * * 3 /home/NACEC/BackupDatabase/backuplevel0.rcv
0 1 * * 1-2 /home/NACEC/BackupDatabase/backuplevel1.rcv
0 1 * * 4-6 /home/NACEC/BackupDatabase/backuplevel1.rcv
13 建立基于数据库的自动备份,使用JOB完成
begin
dbms_scheduler.create_job(
job_name=>'nacec_job0',
job_type=>'executable',
job_action=>'/dat/DBData/oradata/scripts/backuplevel0.sh',
repeat_interval=>'freq=weekly;byday=WED,SUN;byhour=01;byminute=00');
end;
/
exec dbms_scheduler.enable('nacec_job0');
begin
dbms_scheduler.create_job(
job_name=>'job1_nacec',
job_type=>'executable',
job_action=>'/dat/DBData/oradata/scripts/backuplevel1.sh',
repeat_interval=>'freq=weekly;byday=MON,TUE,THU,FRI,SAT;byhour=01;byminute=00');
end;
/
exec dbms_scheduler.enable('job1_nacec');
上述就是小编为大家分享的LINUX下ORACLE增量备份的步骤是什么了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流