由于工作需要,最近要对几台Linux系统下的Oracle数据库进行Rman备份,就在操作的同时,整理了一下,方便今后作为资料进行查阅。

------------------------Linux服务器下对Oracle数据库进行Rman步骤大致分为以下七个步骤------------------------------------------------------

一:确定备份存储的文位置,创建文件夹 mkdir /backup

二:建立备份脚本存储位置,创建文件夹 mkdir /u01/script/

三:创建备份脚本和脚本日志。授予oracle用户执行权限。

四:为了防止修改数据库参数导致数据库无法启动,创建spfile参数文件备份pfile; create pfile='/u01/initpfile.ora' from spfile;

五:修改数据库模式为归档模式。alter database archivelog;

六:修改数据库归档日志格式。alter system set log_archive_format='%t_%s_%r.arch' scope=spfile;

七:根据备份策略确定备份脚本执行时间,频率

-------------------------对某某服务器Rman备份----------------------------------

步骤一、二没有先后顺序:

1、[root@localhost ~]# su - oracle

2、[oracle@localhost ~]$ cd /u01     --------切换至u01目录下

3、[oracle@localhost u01]$ mkdir script  --------在u01目录下新建script文件夹

4、[oracle@localhost u01]$ ll            --------查看文件夹是否创建成功   总用量 8 drwxr-xr-x. 4 oracle oinstall 4096 8月  16 19:13 app drwxr-xr-x  2 oracle oinstall 4096 12月 31 14:34 script  ---------成功

5、[oracle@localhost u01]$ chown oracle:oinstall script/    -------更改该文件夹的所有者(oracle)--此步骤特定情况不用重复指定

6、[oracle@localhost u01]$ chown -R oracle:oinstall /u01/    -------更改u01文件夹的所有者(oracle)--此步骤特定情况不用重复指定

7、[oracle@localhost u01]$ mkdir /backup    ---------确定备份存储的文件位置

8、[oracle@localhost u01]$ chown oracle:oinstall /backup/   -------更改backup文件夹的所有者(oracle)--此步骤特定情况不用重复指定

9、[oracle@localhost u01]$ cd /

10、[oracle@localhost /]$ cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/

11、[oracle@localhost bin]$ chmod 6751 oracle     --------修改Oracle可执行文件权限 ----一般情况不用要结合具体情况

步骤三(创建备份脚本和脚本日志,授予oracle用户执行权限):

1、将事先编辑好的文件,文件名为:backup_db_level_0.sh上传至u01/script目录下;

2、[oracle@localhost script] vi backup_db_level_0.sh

3、[oracle@localhost script] vi set_environment

步骤四(为了防止修改数据库参数导致数据库无法启动,创建spfile参数文件备份pfile):

1、SQL> shutdown immediate;   --------关闭数据库

2、SQL> create pfile='/u01/initpfile.ora' from spfile;

步骤五(修改数据库模式为归档模式):

1、SQL> select open_mode,name,log_mode from v$database;   -------查看数据库是归档还是非归档模式

OPEN_MODE      NAME      LOG_MODE -------------------- --------- ------------ READ WRITE      ORCL      NOARCHIVELOG

2、SQL> alter database archivelog;   --------修改为归档模式(如果报错,参看“linux服务器安装oracle12c-zyj”文档)

步骤六(修改数据库归档日志格式):

1、SQL> alter system set log_archive_format='%t_%s_%r.arch' scope=spfile; 2、SQL> startup         --------启动数据库

步骤七(对数据库制定每周六晚上0点进行备份计划):

1、[oracle@localhost script]$ crontab -e    -------对定时备份文件进行“编辑”

no crontab for oracle - using an empty one crontab: installing new crontab

2、[oracle@localhost script]$ crontab -l    -------对定时备份文件进行“查看”

SHELL=/bin/bash PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/sbin:/bin:/usr/sbin:/usr/bin 0 0 * * 6 /u01/script/backup_db_level_0.sh

3、[oracle@localhost script]$ cat backup_db_level_0.sh -----一次显示整个文件

[oracle@E5CP22ZH01 script]$ cat backup_db_level_0.sh . /u01/app/tmp/script/set_environment cd /u01/app/tmp/script

rman TARGET / > Backup_DB_Level_0.log.`date +%Y%m%d-%H%M` << EOF CONFIGURE DEFAULT DEVICE TYPE TO DISK; CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '/u01/app/tmp/backup/'; CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/app/tmp/backup/%F'; CONFIGURE DEVICE TYPE DISK PARALLELISM 1; CONFIGURE CONTROLFILE AUTOBACKUP ON; CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/u01/app/tmp/backup/snapcf_db.f';

SHOW ALL;

SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';

run {    ALLOCATE CHANNEL c1 TYPE DISK;    ALLOCATE CHANNEL c2 TYPE DISK;    BACKUP AS BACKUPSET ARCHIVELOG ALL       FORMAT="/u01/app/tmp/backup/db_arch_log_%I_%U";    RELEASE CHANNEL c1;    RELEASE CHANNEL c2; }

ALLOCATE CHANNEL FOR MAINTENANCE TYPE DISK; RELEASE CHANNEL;

run {    ALLOCATE CHANNEL c1 TYPE DISK;    ALLOCATE CHANNEL c2 TYPE DISK;    BACKUP AS BACKUPSET INCREMENTAL LEVEL 0 DATABASE       FORMAT="/u01/app/tmp/backup/db_db_level_0_%I_%U"       INCLUDE CURRENT CONTROLFILE       FILESPERSET=2;    RELEASE CHANNEL c1;    RELEASE CHANNEL c2; }

crosscheck backup; crosscheck archivelog all; report obsolete; delete noprompt obsolete; delete noprompt expired backup; release channel;

EXIT EOF

--------说明---- crontab 文件中每个条目中各个域的意义和格式:

第一列 分钟: 1——59

第二列 小时: 1——23(0表示子夜)

第三列 日 : 1——31

第四列 月 : 1——12

第五列 星期: 星期0——6(0表示星期天,1表示星期一、以此类推)

第六列 要运行的命令

Linux服务器下对Oracle作Rman备份的更多相关文章

  1. Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)

    紧接上篇文章,Oracle数据库架构已经创建完成,我的需求是:将老服务器上的数据库迁移到新的数据库上. 这就用到impdp(导入)操作. 要想实现对新数据库的impdp(导入)工作, 首先需要从老的数 ...

  2. 用linux服务器下的/dev/shm/来释放磁盘的压力

    巧用linux服务器下的/dev/shm/来释放磁盘的压力 浏览:646 | 更新:2013-06-18 18:08 | 标签: 磁盘 tmpfs是Linux/Unix系统上的一种基于内存的文件系统. ...

  3. Linux 服务器下多网卡的负载均衡

    Linux 服务器下多网卡负载均衡的实现   一.引言    现今几乎各行各业内部都建立了自己的服务器,由于服务器的特殊地位,它的可靠性.可用性及其 I/O 速度就显得非常的重要, 保持服务器的高可用 ...

  4. linux服务器下添加字体

    版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...

  5. Linux服务器中创建Oracle数据库实例

    紧接上篇,在Linux服务器已经完成对Oracle数据库软件的安装后,接下来要创建Oracle实例,看图说话: [su – oracle echo $DISPLAY export DISPLAY=10 ...

  6. 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)

    1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...

  7. oracle数据库rman备份计划及恢复

    1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份 ...

  8. PL/SQL客户端连接虚拟机(linux)下的oracle服务器配置

    虚拟机上linux装了oracle数据库服务器,想通过windowspl/sql客户端连接到服务器上,虚拟机的网络连接方式我设置为host-only.     去oracle官方网站下载instant ...

  9. Linux服务器上的oracle数据导入和导出

    背景: 在同一台Linux服务器上,有两个数据库用户,分别为:database1,database2,如何把database1用户下面的所有的表和数据,导入到database2数据库(database ...

随机推荐

  1. 从矩阵的定义开始谈OpenGL矩阵变换

    前言 最近自己想用C语言写一个Minecraft clone(GitHub链接:http://github.com/CharlesDong/m3c/),因为是现代OpenGL,又是C语言,GLM用不了 ...

  2. Asp.Net Core写个共享磁盘文件Web查看器

    本篇和大家分享的是一个磁盘文件查看系统,严格来说是使用NetCore写的一个Web系统应用,由于NetCore跨平台特性,我生成了exe的运行包,只需要配置运行电脑ip+端口,即可在浏览器中通过IP+ ...

  3. .net、jquery、ajax、wcf实现数据库用户名检测局部刷新

    jquery代码 $(function() { $("#user_name").blur(function(){ var user_name=$("#user_name& ...

  4. vue2入坑随记(二) -- 自定义动态组件

    学习了Vue全家桶和一些UI基本够用了,但是用元素的方式使用组件还是不够灵活,比如我们需要通过js代码直接调用组件,而不是每次在页面上通过属性去控制组件的表现.下面讲一下如何定义动态组件. Vue.e ...

  5. 快速压缩PNG文件在线工具

    https://tinypng.com/ 直接拖移要压缩文件即可

  6. 【知识整理】这可能是最好的RxJava 2.x 入门教程(二)

    这可能是最好的RxJava 2.x入门教程系列专栏 文章链接: 这可能是最好的RxJava 2.x 入门教程(一) GitHub 代码同步更新:https://github.com/nanchen22 ...

  7. 【转载】Sublime Text 3065 Keygen and Patcher

    原始日期:2014-10-01 18:25      差不多时隔一年了,Sublime Text 终于更新啦!相信很多友友都已经升级到3065版本了,所以我也特地抽空为大家做了个新版补丁.该补丁仅作为 ...

  8. dubbo与zookeeper的关系

    Dubbo建议使用Zookeeper作为服务的注册中心. 1.   Zookeeper的作用: zookeeper用来注册服务和进行负载均衡,哪一个服务由哪一个机器来提供必需让调用者知道,简单来说就是 ...

  9. nginx+ftp搭建图片服务器(Windows Server服务器环境下)

    几种图片服务器的对比 1.直接使用ftp服务器,访问图片路径为 ftp://账户:密码@192.168.0.106/31275-105.jpg 不采用这种方式,不安全容易暴露ftp账户信息 2.直接使 ...

  10. html页面多个a标签点击时显示不同的样式

    <!DOCTYPE HTML> <html lang="en-US"> <head> <meta charset="UTF-8& ...