- 浏览: 310314 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
July01:
最近了解到一款StratoIO打印控件,功能如下:1、Html ...
js调用excel、word打印 -
jyangzi5:
[u][/u]引用
常见hibernate面试题 -
wangv:
<code="java">Sy ...
常见hibernate面试题 -
bardo:
建议看看这一个
http://bardo.iteye.com ...
金额数字转中文大写 -
dotjar:
在继续讲解HQL其他更为强大的查询功能前,我们先来讲解以下利用 ...
常见hibernate面试题
自动删除七天前的备份:
crontab -e
00 00 * * * find /home/oracle/mybackup -name '*' -mtime +7 | xargs rm
即可!
rman
查找rman:
find / -name rman
su - oracle
查看环境变量:
echo $PATH
编辑环境变量
vi ./.bash_profile
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
exit (重启生效)
su - oracle
echo $PATH
rman命令可以使用了
sqlplus /nolog
conn /as sysdba
archive log list
如果显示如下即可:
Database log mode Archive Mode
Automatic archival Enabled
切换模式:
shutdown immediate(先关闭)
statrup mount
alter database archivelog;
quit
Archive Mode下,rman命令可以使用了
rman/rman nocatalog
连接target database
connect target /
查看历史备份
list backupset;
开始全备份
backup database;
0级增量备份:backup incremental level=0 database
1级增量备份:backup incremental level=1 database
完成后查看
list backupset;
查看备份信息:
cd /oracle/oradata/ermp
strings control01.ctl
-------非catalog备份------------
rman nocatalog
连接目标数据库:
connect target /
如果数据库没有启动则:
startup
监听没启则:
lsnrctl start
service没注册:
lsnrctl service
连接目标数据库:
connect target ermp/ermp
备份数据文件,控制文件,归档日志文件:
backup database plus archivelog delete input;
查看备份:
list backupset;
命令查看:
show all;
---------备份表空间----------
查看表空间:
report schema;
备份表空间:
backup tablespace ermp;
查看备份:
list backupset;
---------备份控制文件------------
备份当前控制文件:
backup current controlfile;
查看备份:
list backupset;
---------镜像备份--------
report schema;
记住file编号
copy datafile 5 to '/orabackup/ermp01bak.dbf';
若报没有权限错误,则是当前指定路径没有写权限
修改用户密码:
passwd oracle
查看:
list copy;
2009-11-05
查看硬盘空间
df -h
------批命令-----------
rman
connect target /
rman> run{
allocate channel cha1 type disk; ---通道的I/O类型为硬盘
backup
format '/home/oracle/mybackup/full_%t'
tag full_backup_bat
database;
release channel cha1;
}
list backupset;
quit
ls /home/oracle/mybackup/ -lh
--formate 参考:
%c:备份片的拷贝数(从1开始编号)
%d:数据库名称
%D:位于该月中的天数(DD)
%M:位于该年中的月份(MM)
%F:一个基于DBID唯一的名称,这个格式的形式为c-xxx-YYYYMMDD-QQ,
其中xxx为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8
%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。可以生产唯一的名称。
%p:表示备份集中备份片段的编号,从1开始编号
%U:是%u_%p_%c的简写形式,生产唯一名称
%s:备份集的号
%t:备份集时间戳
%T:年月日格式(YYYYMMDD)
--Channel 通道:
rman和目标数据库之间的连接,"allocate channel"命令在目标数据库启动
一个服务器进程,同时必须定义执行备份或恢复操作使用的I/O类型。
通道控制命令可以用来:
控制rman使用的O/S资源
影响并行度
指定I/O带宽的限制值(设置limit read rate 参数)
定义备份片大小的限制(设置limit kbytes)
指定当前打开文件的限制值(设置limit maxopenfiles)
自动备份:备份脚本 + crontab
0级增量脚本 bakl0:
cd /home/oracle
mkdir scripts
vi bakl0
run{
allocate channel c1 type disk;
backup
incremental level 0
format '/home/oracle/mybackup/inc0_%u_%T'
tag monday_inc0
database;
release channel c1;
}
cp bakl0 bakl1
cp bakl0 bakl2
vi bakl1
run{
allocate channel c1 type disk;
backup
incremental level 1
format '/home/oracle/mybackup/inc1_%u_%T'
tag monday_inc1
database;
release channel c1;
}
bakl2同上
开始备份:
0级备份:
rman target / msglog=/home/oracle/mybackup/bakl0.log cmdfile=
/home/oracle/scripts/bakl0
1,2级同上
查看备份:
cd /home/oracle/mybackup
ls -lh
查看rman:which rman
/oracle/app/product/9.2/bin/rman
--自动任务计划备份 crontab -e -u oracle
whoami
root
crontab -e -u oracle
45 23 * * 0 rman target / msglog=bakl0.log cmdfile=bakl0
45 23 * * 1 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 2 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 3 rman target / msglog=bakl1.log cmdfile=bakl1
45 23 * * 4 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 5 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 6 rman target / msglog=bakl2.log cmdfile=bakl2
重启crontab
service crond restart
----发现不会自动执行,估计是环境变量的问题
修改如下:
增加shell脚本文件backup.sh:
export ORACLE_HOME=/oracle/app/product/9.2;
export ORACLE_SID=ermp;
PATH=$ORACLE_HOME/bin;$PATH;
/oracle/app/product/9.2/bin/rman target / msglog=/home/oracle/mybackup/bakl0.log cmdfile=
/home/oracle/scripts/bakl0
(rman写绝对路径)
crontab -e -u oracle
45 23 * * * /home/oracle/scripts/backup.sh
大功告成!!
7天全量备份:
自动删除7天前的备份日志文件:
crontab -e
00 00 * * * find /home/oracle/mybackup -name '*.log' -mtime +7 | xargs rm
1.在目录 /home/oracle/scripts/ 建立文件bakl0,内容如下(清理归档日志):
run{
configure retention policy to recovery window of 7 days;
delete obsolete;
allocate channel c1 type disk;
backup
format '/home/oracle/mybackup/ermp_%u_%T'
database include current controlfile format '/home/oracle/mybackup/ctrfile_%u_%T'
plus archivelog delete all input;
release channel c1;
}
2.在目录 /home/oracle/scripts/ 建立文件backup.sh,内容如下:
rq=`date '+%y%m%d'`;
export ORACLE_HOME=/oracle/app/product/9.2;
export ORACLE_SID=ermp;
PATH=$ORACLE_HOME/bin;$PATH;
/oracle/app/product/9.2/bin/rman target / msglog=/home/oracle/mybackup/bakl$rq.log cmdfile=
/home/oracle/scripts/bakl0
(rman写绝对路径)
3.编辑crontab:
crontab -e -u oracle
45 23 * * * /home/oracle/scripts/backup.sh
恢复
----------基于scn的恢复----------
shutdown immediate;
startup mount;
restore database UNTIL SCN 10000;
recover database UNTIL SCN 10000;
alter database open resetlogs;
crontab -e
00 00 * * * find /home/oracle/mybackup -name '*' -mtime +7 | xargs rm
即可!
rman
查找rman:
find / -name rman
su - oracle
查看环境变量:
echo $PATH
编辑环境变量
vi ./.bash_profile
PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
exit (重启生效)
su - oracle
echo $PATH
rman命令可以使用了
sqlplus /nolog
conn /as sysdba
archive log list
如果显示如下即可:
Database log mode Archive Mode
Automatic archival Enabled
切换模式:
shutdown immediate(先关闭)
statrup mount
alter database archivelog;
quit
Archive Mode下,rman命令可以使用了
rman/rman nocatalog
连接target database
connect target /
查看历史备份
list backupset;
开始全备份
backup database;
0级增量备份:backup incremental level=0 database
1级增量备份:backup incremental level=1 database
完成后查看
list backupset;
查看备份信息:
cd /oracle/oradata/ermp
strings control01.ctl
-------非catalog备份------------
rman nocatalog
连接目标数据库:
connect target /
如果数据库没有启动则:
startup
监听没启则:
lsnrctl start
service没注册:
lsnrctl service
连接目标数据库:
connect target ermp/ermp
备份数据文件,控制文件,归档日志文件:
backup database plus archivelog delete input;
查看备份:
list backupset;
命令查看:
show all;
---------备份表空间----------
查看表空间:
report schema;
备份表空间:
backup tablespace ermp;
查看备份:
list backupset;
---------备份控制文件------------
备份当前控制文件:
backup current controlfile;
查看备份:
list backupset;
---------镜像备份--------
report schema;
记住file编号
copy datafile 5 to '/orabackup/ermp01bak.dbf';
若报没有权限错误,则是当前指定路径没有写权限
修改用户密码:
passwd oracle
查看:
list copy;
2009-11-05
查看硬盘空间
df -h
------批命令-----------
rman
connect target /
rman> run{
allocate channel cha1 type disk; ---通道的I/O类型为硬盘
backup
format '/home/oracle/mybackup/full_%t'
tag full_backup_bat
database;
release channel cha1;
}
list backupset;
quit
ls /home/oracle/mybackup/ -lh
--formate 参考:
%c:备份片的拷贝数(从1开始编号)
%d:数据库名称
%D:位于该月中的天数(DD)
%M:位于该年中的月份(MM)
%F:一个基于DBID唯一的名称,这个格式的形式为c-xxx-YYYYMMDD-QQ,
其中xxx为该数据库的DBID,YYYYMMDD为日期,QQ是一个1-256的序列
%n:数据库名称,并且会在右侧用x字符进行填充,使其保持长度为8
%u:是一个由备份集编号和建立时间压缩后组成的8字符名称。可以生产唯一的名称。
%p:表示备份集中备份片段的编号,从1开始编号
%U:是%u_%p_%c的简写形式,生产唯一名称
%s:备份集的号
%t:备份集时间戳
%T:年月日格式(YYYYMMDD)
--Channel 通道:
rman和目标数据库之间的连接,"allocate channel"命令在目标数据库启动
一个服务器进程,同时必须定义执行备份或恢复操作使用的I/O类型。
通道控制命令可以用来:
控制rman使用的O/S资源
影响并行度
指定I/O带宽的限制值(设置limit read rate 参数)
定义备份片大小的限制(设置limit kbytes)
指定当前打开文件的限制值(设置limit maxopenfiles)
自动备份:备份脚本 + crontab
0级增量脚本 bakl0:
cd /home/oracle
mkdir scripts
vi bakl0
run{
allocate channel c1 type disk;
backup
incremental level 0
format '/home/oracle/mybackup/inc0_%u_%T'
tag monday_inc0
database;
release channel c1;
}
cp bakl0 bakl1
cp bakl0 bakl2
vi bakl1
run{
allocate channel c1 type disk;
backup
incremental level 1
format '/home/oracle/mybackup/inc1_%u_%T'
tag monday_inc1
database;
release channel c1;
}
bakl2同上
开始备份:
0级备份:
rman target / msglog=/home/oracle/mybackup/bakl0.log cmdfile=
/home/oracle/scripts/bakl0
1,2级同上
查看备份:
cd /home/oracle/mybackup
ls -lh
查看rman:which rman
/oracle/app/product/9.2/bin/rman
--自动任务计划备份 crontab -e -u oracle
whoami
root
crontab -e -u oracle
45 23 * * 0 rman target / msglog=bakl0.log cmdfile=bakl0
45 23 * * 1 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 2 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 3 rman target / msglog=bakl1.log cmdfile=bakl1
45 23 * * 4 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 5 rman target / msglog=bakl2.log cmdfile=bakl2
45 23 * * 6 rman target / msglog=bakl2.log cmdfile=bakl2
重启crontab
service crond restart
----发现不会自动执行,估计是环境变量的问题
修改如下:
增加shell脚本文件backup.sh:
export ORACLE_HOME=/oracle/app/product/9.2;
export ORACLE_SID=ermp;
PATH=$ORACLE_HOME/bin;$PATH;
/oracle/app/product/9.2/bin/rman target / msglog=/home/oracle/mybackup/bakl0.log cmdfile=
/home/oracle/scripts/bakl0
(rman写绝对路径)
crontab -e -u oracle
45 23 * * * /home/oracle/scripts/backup.sh
大功告成!!
7天全量备份:
自动删除7天前的备份日志文件:
crontab -e
00 00 * * * find /home/oracle/mybackup -name '*.log' -mtime +7 | xargs rm
1.在目录 /home/oracle/scripts/ 建立文件bakl0,内容如下(清理归档日志):
run{
configure retention policy to recovery window of 7 days;
delete obsolete;
allocate channel c1 type disk;
backup
format '/home/oracle/mybackup/ermp_%u_%T'
database include current controlfile format '/home/oracle/mybackup/ctrfile_%u_%T'
plus archivelog delete all input;
release channel c1;
}
2.在目录 /home/oracle/scripts/ 建立文件backup.sh,内容如下:
rq=`date '+%y%m%d'`;
export ORACLE_HOME=/oracle/app/product/9.2;
export ORACLE_SID=ermp;
PATH=$ORACLE_HOME/bin;$PATH;
/oracle/app/product/9.2/bin/rman target / msglog=/home/oracle/mybackup/bakl$rq.log cmdfile=
/home/oracle/scripts/bakl0
(rman写绝对路径)
3.编辑crontab:
crontab -e -u oracle
45 23 * * * /home/oracle/scripts/backup.sh
恢复
----------基于scn的恢复----------
shutdown immediate;
startup mount;
restore database UNTIL SCN 10000;
recover database UNTIL SCN 10000;
alter database open resetlogs;
发表评论
-
UNIX参考大全+Unix命令大全
2011-04-13 16:04 1122UNIX参考大全+Unix命令大全 -
unix下 nohup 命令使用方法
2010-08-11 10:47 2605nohup 命令 用途 不挂断地运行命令。 语法 nohup ... -
compress 命令
2010-05-15 01:16 952[root@linux ~]# compress [-dcr] ... -
九阳真经之vi大法
2010-03-18 17:47 1163九阳真经之vi大法 Vi确 ... -
AIX命令
2010-01-06 17:22 1398AIX 常用命令知识 lsvg – ... -
linux ulimit调优
2010-01-06 17:15 1741ulimit -a 用来显示当前的 ... -
ulimit 命令详解
2010-01-06 17:09 21741,说明: ulimit用于shell启动进程所占用的资源. ... -
linux语言切换
2010-01-04 19:06 1205#date 一 1月 4 05:04:28 CST 201 ... -
Linux里怎样查找文件内容
2009-12-23 19:51 2187Linux查找文件内容的常用命令方法。 从文件内容查找匹配 ... -
ssh登陆工具-putty,SecureCRT-linux/AIX远程登陆工具
2009-12-07 13:54 3970ssh登陆根据-putty,SecureCRT -linux ... -
Ubuntu下安装象棋游戏天书棋谈-Gmchess
2009-11-06 23:27 3032Gmchess是一款象棋游戏软件,它支持多种网络游戏平台的棋谱 ... -
Ubuntu-vm操作笔记
2009-11-06 16:25 1332---安装VMTool--- vm中选中vm--vm inst ... -
linux下rman恢复笔记
2009-11-06 14:11 1481su oracle ------ 备份控制文件------- ... -
ubuntu下使用VI编辑文件必知的常用命令
2009-11-02 13:03 1055进入vi的命令 vi filename : ... -
Ubuntu操作笔记--java软件安装
2009-11-02 11:12 12461.进入命令行界面(Ctrl+Alt+F1) 进入图形界 ... -
linux基础命令笔记
2009-10-29 13:53 8881.查看文件夹和文件大小: du -sm 文件夹 du -sm ... -
linux crontab 详解
2009-10-29 11:06 823linux crontab 的格式 基本格式 : * * ... -
linux下oracle和WebSphere启动
2009-10-28 09:38 2689putty登陆 10.20.2.76 启动or ... -
Shell编程基础
2009-10-27 21:42 1083为什么要进行shell编程 Linux系统中虽然有各种 ...
相关推荐
Linux系统下的RMAN备份与恢复.pdf
Linux环境下rman备份的实例脚本
备份策略 每周日 做 Level 0 级备份 每周一,四 做 Level 1 级备份 每周二,三,五,六 做 Level 2 级备份 ……
Oracle 11g R2 Rman备份与恢复_刘耀龙的博客-CSDN博客_rman备份
linux 平台下的rman全备份和增量备份
Linux下Oracle9i RMAN备份及恢复步骤,一个完整的备份与恢复步骤.
实际生产数据库中可以使用的rman备份脚本。写得很不错,dba可以下来学习研究
一、数据库备份与RMAN备份的概念 1.数据库完全备份:按归档模式分为归档和非归档 归档模式 打开状态,属于非一致性备份 关闭状态,可以分为一致性和非一致性 非归档模式 打开状态,非一致性备份无效...
第三篇 RMAN备份基础 4 3.1 RMAN备份形式 4 3.2 RMAN命令执行方式 5 3.3 对数据库进行全备 5 3.4 备份表空间 6 3.5备份指定数据文件 9 3.6 备份控制文件 10 3.7 备份归档日志文件 10 3.8 FORMAT字符串替代变量 12 ...
RMAN备份学习笔记,oracle备份,oracle
采用rman备份的oracle数据库从Windows操作系统的恢复到Linux操作系统方法
Oracle数据库RMAN备份与恢复.pdf
rman备份原理 rman备份原理 rman备份原理 rman备份原理
《Oracle Database 11g RMAN备份与恢复》PDF版本下载
oraclerman备份原理[参照].pdf
详细讲解了RMAN的备份机制以及如何备份
本文详细清楚地描述了oracle11g中的rman备份和恢复的所有步骤,亲测有效。
ORACLE RMAN备份命令.一次实际的操作过程,注解比较详细
[三思笔记]一步一步学rman 一、进入rman 二、rman命令知多少 三、rman备份演练初级篇 四、rman备份演练进阶篇 五、rman外传-基础资料篇1 六、实战rman备份 七、rman外传-基础资料篇2 八、演练rman恢复 九、实战rman...