Linux服务器下对Oracle作Rman备份
由于工作需要,最近要对几台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备份的更多相关文章
- Linux服务器下对Oracle数据库expdp(导出)和impdp(导入)
紧接上篇文章,Oracle数据库架构已经创建完成,我的需求是:将老服务器上的数据库迁移到新的数据库上. 这就用到impdp(导入)操作. 要想实现对新数据库的impdp(导入)工作, 首先需要从老的数 ...
- 用linux服务器下的/dev/shm/来释放磁盘的压力
巧用linux服务器下的/dev/shm/来释放磁盘的压力 浏览:646 | 更新:2013-06-18 18:08 | 标签: 磁盘 tmpfs是Linux/Unix系统上的一种基于内存的文件系统. ...
- Linux 服务器下多网卡的负载均衡
Linux 服务器下多网卡负载均衡的实现 一.引言 现今几乎各行各业内部都建立了自己的服务器,由于服务器的特殊地位,它的可靠性.可用性及其 I/O 速度就显得非常的重要, 保持服务器的高可用 ...
- linux服务器下添加字体
版权声明:本文为楼主原创文章,未经楼主允许不得转载,如要转载请注明来源. 引言:这两天在开发一个动态生成海报的东西(图片拼接,图片水印),开发在windows下没有问题,图片和文字都能正常的生成出来. ...
- Linux服务器中创建Oracle数据库实例
紧接上篇,在Linux服务器已经完成对Oracle数据库软件的安装后,接下来要创建Oracle实例,看图说话: [su – oracle echo $DISPLAY export DISPLAY=10 ...
- 在linux服务器下日志提取的python脚本(实现输入开始时间和结束时间打包该时间段内的文件)
1.需求:近期在提取linux服务器下的日志文件时总是需要人工去找某个时间段内的日志文件,很是枯燥乏味,于是乎,我就想着用python结合linux指令来写一个日志提取的脚本,于是就有了以下脚本文件: ...
- oracle数据库rman备份计划及恢复
1.rman完全恢复的前提条件:历史的datafile,controlfile和spfile备份,加上完整的archivelog和完好的redolog. 2.rman备份脚本: a.RMAN 0级备份 ...
- PL/SQL客户端连接虚拟机(linux)下的oracle服务器配置
虚拟机上linux装了oracle数据库服务器,想通过windowspl/sql客户端连接到服务器上,虚拟机的网络连接方式我设置为host-only. 去oracle官方网站下载instant ...
- Linux服务器上的oracle数据导入和导出
背景: 在同一台Linux服务器上,有两个数据库用户,分别为:database1,database2,如何把database1用户下面的所有的表和数据,导入到database2数据库(database ...
随机推荐
- INFORMATION_SCHEMA.PROFILING
24.18 The INFORMATION_SCHEMA PROFILING Table PROFILING表提供了语句分析信息. 其内容对应于SHOW PROFILES和SHOW PROFILE语句 ...
- php简单的文件操作
(1)先要想好要操作哪个文件? (2)确定文件的路径? (3)要有什么文件管理功能? 一.先做一下简单的查看文件功能,文件中的文件和文件夹都显示,但是双击文件夹可以显示下一级子目录,双击"返 ...
- Java对象与类中的一个小练习
一直在Eclipse里做练习.是做一个练习,执行一个的那种.刚刚学习了Java的对象与类,练习中把类和执行放在同一包下的两个.java文件里面了.是可以执行的.(Get) 相关代码: public c ...
- 友盟分享到微信 监听不执行 监听只执行onStart,(onResult,onError,onCancel 不执行)
最近在做一个项目 有一个需求是要分享项目中的一个商品 这对于我来说简直是 so easy (项目是三个人一起写的) 正好看到之前有同事写完了 我就拿过来用吧 一顿复制粘贴 大功告成 这个是监 ...
- scrapy配置
scrapy配置 增加并发 并发是指同时处理的request的数量.其有全局限制和局部(每个网站)的限制. Scrapy默认的全局并发限制对同时爬取大量网站的情况并不适用,因此您需要增加这个值. 增加 ...
- 浅析TCP/IP 协议
TCP/IP协议不是TCP和IP这两个协议的合称,而是指因特网整个TCP/IP协议族. TCP/IP协议模块关系 从协议分层模型方面来讲,TCP/IP由四个层次组成:网络接口层.网络层.传输层.应用层 ...
- Thinkphp中的内置标签用法
Thinkphp中的内置标签有:Volist,Foreach,For,Switch,比较标签,范围判断标签,IF,Present,Empty,Defined,Assign,Define,标签嵌套,im ...
- Matlab: 作图
控制图的大小 figure('position',[x0,y0,dx,dy]); figure(fig number); 显示图例 legend('leg1','leg2') depend on ho ...
- 学习php语法--数据库扩展(总结篇)
前 言 php php中的数据库扩展mysql语法--本篇学习都是通过使用数字天堂的HBuider开发环境,连接mysql数据.介绍php连接mysql数据库的代码与函数. 本篇学习主要有两 ...
- React.js 小书介绍
React.js 小书 Github 关于作者 这是一本关于 React.js 的小书. 因为工作中一直在使用 React.js,也一直以来想总结一下自己关于 React.js 的一些知识.经验.于是 ...