Linux下Oracle11G数据备份恢复(RMAN)
- 数据库安装参考步骤1--14
https://www.cnblogs.com/baixisuozai/p/17852235.html
#rman数据库备份脚本
#!/bin/bash
PATH=$PATH:$HOME/bin
export PATH
export PATH=$PATH:HOME/bin
export ORACLE_BASE=/DataBase/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin:
export TNS_ADMIN=$ORACLE_HOME/network/admin
#export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export bak_date=$(date '+%Y%m%d')
export ORACLE_SID=orcl
export bak_dir=/DataBase/app/oracle/archive
export rman_log_dir=/DataBase/app/oracle/archive/rman_log
/DataBase/app/oracle/product/11.2.0/db_1/bin/rman target / log=$rman_log_dir/$ORACLE_SID$bak_date.log <<EOF
run{
CONFIGURE DEVICE TYPE DISK PARALLELISM 4 BACKUP TYPE TO COMPRESSED BACKUPSET;
configure channel device type disk maxpiecesize 4G;
BACKUP
FORMAT='$bak_dir/data_%U_%T.dbf'
DATABASE;
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP
ARCHIVELOG ALL FORMAT='$bak_dir/arch_%U_%T.arc';
BACKUP SPFILE FORMAT '$bak_dir/spfile_%U_%T.ora';
BACKUP CURRENT CONTROLFILE FORMAT '$bak_dir/ctl_%U_%T.ctl';
DELETE NOPROMPT ARCHIVELOG UNTIL TIME 'SYSDATE-7';
CROSSCHECK BACKUP;
DELETE NOPROMPT EXPIRED BACKUP;
CROSSCHECK ARCHIVELOG ALL;
DELETE NOPROMPT EXPIRED ARCHIVELOG ALL;
REPORT OBSOLETE;
delete force noprompt obsolete device type disk;
}
EXIT;
EOF
- 创建初始pfile文件
$ vim init.umpay.ora
文件内容:
umpay.__java_pool_size=4194304
umpay.__large_pool_size=4194304
umpay.__oracle_base='/DataBase/app/oracle'#ORACLE_BASE set from environment
umpay.__pga_aggregate_target=167772160
umpay.__sga_target=243269632
umpay.__shared_io_pool_size=0
umpay.__shared_pool_size=176160768
umpay.__streams_pool_size=8388608
*.audit_file_dest='/DataBase/app/oracle/admin/orcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/DataBase/app/oracle/oradata/orcl/control01.ctl','/DataBase/app/oracle/flash_recovery_area/orcl/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='orcl'
*.db_recovery_file_dest='/DataBase/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=4070572032
*.diagnostic_dest='/DataBase/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=umpayXDB)'
*.log_archive_dest_1='location=/DataBase/app/oracle/archive'
*.memory_max_target=4966055936
*.memory_target=4966055936
*.open_cursors=300
*.pga_aggregate_target=2475687936
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=2475687936
*.shared_pool_size=2147483648
*.undo_tablespace='UNDOTBS1'
【可以从rman备份的spfile文件中获取以上配置信息】
- 根据pfile文件,创建对应的文件目录
mkdir /DataBase/app/oracle
mkdir /DataBase/app/oracle/admin/orcl/adump
mkdir /DataBase/app/oracle/oradata/orcl/
mkdir /DataBase/app/oracle/flash_recovery_area/orcl/
mkdir /DataBase/app/oracle/flash_recovery_area
mkdir /DataBase/app/oracle/archive
- 使用配置文件启动数据库
sqlplus / as sysdba
shutdown immediate
startup nomount pfile='/home/oracle/init.umpay.ora';
- 恢复控制文件
$ rman target /
RMAN> restore controlfile from '/home/oracle/backup/ctl_be2c88dk_1_1_20231124.ctl';
RMAN> alter database mount;
- 恢复数据库
RMAN> crosscheck backup;
RMAN> crosscheck archivelog all;
RMAN> delete noprompt expired backup;
RMAN> delete noprompt expired archivelog all;
RMAN> catalog start with '/home/oracle/backup/';
Do you really want to catalog the above files (enter YES or NO)? YES //【输入YES】
cataloging files...
cataloging done
RMAN> crosscheck backup;
RMAN> restore database;
RMAN> recover database;
unable to find archived log
archived log thread=1 sequence=22421
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 11/24/2023 15:51:36
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 22421 and starting SCN of 505305385
【修改命令如下,再次执行。】
RMAN> recover database until scn=505305385;
- 启动数据库
export ORACLE_SID=orcl
sqlplus / as sysdba
SQL> alter database open resetlogs;
SQL> shutdown immediate;
SQL> startup mount;
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/DataBase/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora'
解决办法:
把可用的pfile文件覆盖报错文件
$ cp /home/oracle/init.umpay.ora /DataBase/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora
SQL> alter database open;
- 创建数据库监听文件
$ vim listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.133.21)(PORT = 1521))
)
)
ADR_BASE_LISTENER = /DataBase/app/oracle
$ vim tnsnames.ora
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.133.21)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
- 启动数据库监听进程
lsnrctl start
Linux下Oracle11G数据备份恢复(RMAN)的更多相关文章
- linux下的数据备份工具rsync讲解
linux下的数据备份工具 rsync(remote sync 远程同步) 名词解释: sync(Synchronize,即“同步”)为UNIX操作系统的标准系统调用,功能为将内核文件系统缓冲区的 ...
- linux下误删数据文件恢复
linux下文件被删除能够用非常多工具进行恢复.比如undelete(适合ext2,ext3).giis(不能恢复安装giis之前的文件).ext3grep(仅限ext3).R-linux(支持ext ...
- Linux下的Mysql备份/恢复
数据库逻辑备份 逻辑备份:将数据库的数据以逻辑的SQL语句的方式导出 查看帮助 mysqldump --help 0.数据库开启状态 1.备份某个特定的库: mysqldump -uroot -pro ...
- 在linux下进行数据备份
一.完全备份 完全备份是指把所有需要备份的数据全部备份.当然,完全备份可以备份整块硬盘.整个分区或某个具体的目录.完全备份的好处是数据恢复方便,因为所有的数据都在同一个备份中,所以只要恢复完全备份,所 ...
- Linux服务器数据备份恢复策略
一.Linux 备份恢复基础 1.什么是备份 最简单的讲,备份数据的过程就是拷贝重要的数据到其他的介质之上(通常是可移动的),以保证在原始数据丢失的情况下可以恢复数据.一次备份可能是简单的 cp命令, ...
- linux下oracle11G DG搭建(二):环绕主库搭建操作
linux下oracle11G DG搭建(二):环绕主库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ...
- linux下mysql定时备份数据库
linux下mysql定时备份数据库 (2010-10-21 12:40:17) 转载▼ 标签: 杂谈 一.用命令实现备份 首页进入mysql的bin目录 1.备份数据#mysqldump -uu ...
- linux下Oracle11g RAC搭建(九)
linux下Oracle11g RAC搭建(九) 八.创建ASM仓储 相同在图形化界面操作 [root@node1 ~]# su - grid [grid@node1 ~]$ asmca //创 ...
- linux下oracle11G DG搭建(三):环绕备库搭建操作
linux下oracle11G DG搭建(三):环绕备库搭建操作 环境 名称 主库 备库 主机名 bjsrv shsrv 软件版本号 RedHat Enterprise5.5.Oracle 11g 1 ...
- Linux下MySQL的备份与还原
Linux下MySQL的备份与还原 1. 备份 [root@localhost ~]# cd /var/lib/mysql (进入到MySQL库目录,根据自己的MySQL的安装情况调整目录) [roo ...
随机推荐
- [FAQ] Error: com.mysql.jdbc.Driver not loaded. :jdbc_driver_library
以上问题出现在 logstash.conf 未配置好 MySQL 的 JDBC 驱动时导致的错误提示. 首先,下载好 MySQL JDBC 驱动库,可以放到 logstash.conf 所在当前目录或 ...
- [FAQ] Solidity 并发执行 ? 重入攻击 ?
Solidity 实现的合约中,函数操作都是原子操作,旷工本地执行,取得共识后发布到区块链上. 实际发布到区块链上的不存在并发,全节点同步状态到本地. Solidity 中有三种方式进行转账,addr ...
- dotnet SemanticKernel 入门 将技能导入框架
在上一篇博客中和大家简单介绍了 SemanticKernel 里的技能概念,接下来咱准备将 技能 导入到 SemanticKernel 框架里面,进行一个管道式调用 本文属于 SemanticKern ...
- win10 uwp 选择文本转语音的机器人
在 UWP 里,可以非常方便将某个文本转换为音频语音,转换时,将会根据输入的内容以及本机所安装的语言库选择一位机器人帮忙将输入的文本转换为语音.本文来告诉大家如何切换文本转语音的机器人,例如从默认的女 ...
- 从零开始写 Docker(十二)---实现 mydocker stop 停止容器
本文为从零开始写 Docker 系列第十二篇,实现类似 docker stop 的功能,使得我们能够停止指定容器. 完整代码见:https://github.com/lixd/mydocker 欢迎 ...
- 一键自动化博客发布工具,chrome和firfox详细配置
blog-auto-publishing-tools博客自动发布工具现在已经可以同时支持chrome和firefox了. 很多小伙伴可能对于如何进行配置和启动不是很了解,今天带给大家一个详细的保姆教程 ...
- ORACLE查询表的DML最后时间和操作记录条数
ORACLE查询表的DML最后时间和操作记录条数 其中user代表当前用户的.dba代表的是有dba可以看到的相关表. select * from all_tab_modifications; sel ...
- Canvas简历编辑器-我的剪贴板里究竟有什么数据
Canvas图形编辑器-我的剪贴板里究竟有什么数据 在这里我们先来聊聊我们究竟应该如何操作剪贴板,也就是我们在浏览器的复制粘贴事件,并且在此基础上聊聊我们在Canvas图形编辑器中应该如何控制焦点以及 ...
- 02 elasticsearch学习笔记-ES核心概念
一. 前序 sh Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene 可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎 ...
- WEB服务与NGINX(25)- LNMP架构-WEB集群部署phpmyadmin
目录 1 LNMP架构-WEB集群部署phpmyadmin 1.1 WEB集群架构需求分析 1.2 WEB集群架构环境 1.3 部署mariadb 1.4 部署web服务器nginx 1.5 部署re ...