oracle-参数文件的备份与还原

参数文件是实例启动到nomount状态的必要条件,规定了实例的行为特征,位置跟操作系统相关,一般unix类的系统在$ORACLE_HOME/dbs目录下

(windows在%ORACLE_HOME%\database目录下),启动会按照以下顺序寻找参数文件(SID表示实例名)

--1 spfileorcl.ora(orcl是实例名,SID)

--2 spfile.ora

--3 initSID.ora

其中spfileorcl.ora和spfile.ora是二进制文件,称为服务器参数文件(或者spfile)。InitSID.ora是文本文件。

YHQT@ orcl >show parameter spfile
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string /u01/app/oracle/product/11.2.0
/db_1/dbs/spfileorcl.ora

判断实例是通过哪一种参数文件启动的,上面查询结果显示实例启动所使用的spfile

1 参数文件损坏的后果

场景1:spfileorcl.ora\spfile.ora\initorcl.ora 3个文件在实例启动前已经损坏丢失了

若3个参数文件都损坏,实例无法启动到nomount状态,共享内存结构(SGA)和后台进程无法启动。启动时看到错误提示LRM-00109,

显示找不到initorcl.ora文件,实际上3个文件都没有找到(orcl为实例名)

[oracle@DSI ~]$ oerr ora 1078
01078, 00000, "failure in processing system parameters"
// *Cause: Failure during processing of INIT.ORA parameters during
// system startup.
// *Action: Further diagnostic information should be in the error stack.

场景2:实例通过spfileorcl.ora或spfile.ora启动,但该参数文件在实例启动后丢失或损坏

遇到这种情况,凡是涉及访问参数文件(spfile)的命令就会失败,实例不会有崩溃的危险,比如’alter system’修改参数文件,

或show parameter或查询v$parameter视图参数文件中的参数都会遇到ORA-01565无法识别文件的错误

-SQL> alter system set fast_start_mttr_target=600;
-SQL> show parameter db_name
-SQL> select * from v$parameter where name=’db_name’;
告警日志
ORA-01565:unable to open spfile /u01/app/oracle/product/11.2.0/db_1/dbs/spfileorcl.ora

2 备份

RMAN能够以备份集的形式备份spfile(不包括pfile),手动备份和自动备份。当然也可以使用操作系统级别的复制命令(cp)备份参数文件,恢复时只要复制dbs目录即可

-2.1 手动备份

RMAN> backup spfile; --只用来备份参数文件
Starting backup at 16-JUL-19
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=148 device type=DISK
channel ORA_DISK_1: starting full datafile backup set
channel ORA_DISK_1: specifying datafile(s) in backup set
including current SPFILE in backup set
channel ORA_DISK_1: starting piece 1 at 16-JUL-19
channel ORA_DISK_1: finished piece 1 at 16-JUL-19
piece handle=/u01/app/oracle/fra/ORCL/backupset/2019_07_16/o1_mf_nnsnf_TAG20190716T113012_gltk64cs_.bkp tag=TAG20190716T113012 comment=NONE
channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
Finished backup at 16-JUL-19

这里使用了快速恢复区,在生成的备份集的文件名前半部分o1_mf_nnsnf_

-2.2 自动备份

在备份1号数据文件时或只要备份时包含了1号数据文件,RMAN就会将控制文件与参数文件备份至一个额外的备份集。

RMAN> backup datafile 1;

另外,若启用了控制文件的自动备份功能,参数文件和控制文件会在合适时机自动备份

用操作系统命令复制一下参数文件永远是一个简单可行的方案。

3 恢复

恢复参数文件实际上就是还原参数文件,参数文件的修改没有重做日志的支持,所以不存在恢复的操作。

若在之前已经使用操作系统命令复制过参数文件,那么最简单的方法是在复制回原来的地方

-3.1 实例启动时发现损坏

如果有使用 os命令复制参数文件,此时将它复制回去就好

若有参数文件的备份集,还原步骤如下:

--1 使用RMAN启动实例到nomount状态
--2 执行restore spfile命令,根据备份类型的区别使用对应的语句‘from autobackup’或‘from 备份片路径’,前者对应自动备份,后者对应手动备份
--3 重启实例,恢复完成

注意:在sqlplus下没有参数文件不能启动到nomount状态,但是在RMAN下可以。

RMAN> startup nomount;

命令输出中的LRM-00109错误显示RMAN也做了寻找参数文件失败的尝试。

RMAN具有内置的参数文件能够在没有参数文件的特殊情况下将实例启动到nomount状态。

RMAN>restore spfile from '/u01/app/oracle/fra/ORCL/backupset/2019_07_16/o1_mf_nnsnf_TAG20190716T113012_gltk64cs_.bkp';
SQL> startup force;
SQL> show parameter spfile

若之前是利用控制文件自动备份生成参数文件备份的,还原命令稍有不同,无须指定备份片的路径,给出数据库名和快速恢复区的路径即可(前提是使用了快速恢复区)

YHQT@ orcl >show parameter db_recovery
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest string /u01/app/oracle/fra
db_recovery_file_dest_size big integer 4G
RMAN> restore spfile from autobackup db_name=orcl db_recovery_file_dest='/u01/app/oracle/fra';

若管理员没有启用快速恢复区,控制文件自动备份保存在默认的’$ORACLE_HOME/dba’目录下,此时还原命令首先指定数据库的DBID

RMAN> set dbid 1534031567;
RMAN> restore spfile from autobackup;

如果使用了rman catalog和快速恢复区,那么from子句和dbid都可以不用管,直接执行restore spfile就可

[oracle@DSI ~]$ rman target sys/***@orcl catalog rcowner/***@orcl
RMAN> run {
startup nomount;
restore spfile;
startup force;
}

-3.2 实例运行时损坏

如果发现问题时数据库尚未关闭(实例处于运行中),则无序关闭实例而是应该直接执行RMAN命令的restore命令。不关闭实例的好处很多,

不但高可用性,并且不用通过rman启动到nomount状态, 不用设置dbid,只要记住如果实例是利用服务器参数文件(spfile不是pfile)启动的,还需指定to子句将其还原到其他路径才行

RMAN> restore spfile from autobackup;
--RMAN-06564: must use the to clause when the instance is started with spfile
RMAN> restore spfile to '/home/oracle/spfileorcl.ora' from autobackup;
$ mv /home/oracle/spfileorcl.ora $ORACLE_HOME/dbs ##最好不要直接restore到dbs路径

oracle-参数文件的备份与还原的更多相关文章

  1. Oracle 参数文件及相关操作介绍

    Oracle 参数文件及相关操作介绍 by:授客 QQ:1033553122 1.服务器参数文件 服务器参数文件是一个二进制文件,作为初始化参数的存储仓库.实例运行时,可用ALTER SYSTEM来改 ...

  2. Oracle 10g 数据库的备份和还原

    一.备份数据库 1.在图形工具中,如sqldeveloper,pl/sqldeveloper用以下这句查找空表 select 'alter table '||table_name||' allocat ...

  3. ORACLE参数文件

    一.oracle pfile/spfile区别    pfile 默认的名称为“init+例程名.ora”文件路径:E:\oracle\product\10.2.0\db_1\dbs,这是一个文本文件 ...

  4. Oracle 参数文件spfile

    pfile和spfile 概念 ORACLE中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件,可以分为两种类型.它们是在数据库实例启动时候加载的,决定了数据库的物理结构.内存.数据库的限制 ...

  5. Oracle 参数文件

    参数文件(10g中的参数文件) 主要用来记录数据库的配置文件,在数据库启动时,Oracle读取参数文件,并根据参数文件中的参数设置来配置数据库. 如内存池的分配,允许打开的进程数和会话数等. 两类参数 ...

  6. Oracle参数文件修改

    初始化参数文件有两种,文本初始化参数文件 pfile 和二进制初始化参数文件 spfile.   动态参数文件spfile 这是Oracle推荐的初始化参数文件类型.这是一个可以写入和读取的二进制文件 ...

  7. Oracle参数文件—pfile与spfile

    oracle的参数文件:pfile和spfile 1.pfile和spfile       Oracle中的参数文件是一个包含一系列参数以及参数对应值的操作系统文件.它们是在数据库实例启动时候加载的, ...

  8. oracle参数文件spfile和pfile

    一.参数文件说明 PFILE(Initialiazation Parameter Files)初始化参数文件,是文本文件,可直使用文本编辑器查看.如果数据库使用的是初始化参数文件PFILE,要想永久修 ...

  9. sql server 备份与恢复系列六 文件组备份与还原

    一. 概述 文件备份是指备份一个或多个文件或文件组中的所有数据.使用文件备份能够只还原损坏的文件,而不用还原数据库的其余部份,从而加快恢复速度.例如,如果数据库由位于不同磁盘上的若干文件组成,在其中一 ...

随机推荐

  1. nginx的代理服务

    nginx的代理服务 正向代理和反向代理 正向代理服务器就是用来让局域网的客户端接入外网访问外网资源,反向代理就是让外网的客户端接入局域网中的站点以访问点中的资源 正向代理 我是一个用户,我访问不了某 ...

  2. SecureCRT文件和文件夹显示不同颜色(像linux中那样效果)

    如何设置secureCRT使用的他可以像linux文件和文件夹显示不同的颜色呢 原先显示效果如下: 效果图 配置

  3. 021-Zabbix4.2对IIS监控摸索记录

    Zabbix是很强大,但是相关的细节技术文档貌似很少,摸索之路就显得异常难. 度娘搜了下,关于Zabbix对IIS的监控资料确实有,确实也讲如何操作了,但是细细按照对方的要求操作下,总是缺数据,no ...

  4. JDK12的安装搭建

    JDK12的安装搭建 一.JDK下载 ​ 1.JDK官网下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk12-down ...

  5. Dubble 入门

    Dubbo 01 架构模型 传统架构 All in One 测试麻烦,微小修改 全都得重新测 单体架构也称之为单体系统或者是单体应用.就是一种把系统中所有的功能.模块耦合在一个应用中的架构方式.其优点 ...

  6. Jmeter之cookie的处理方式,token处理

    cookie是什么 由于http是无状态的协议,一旦客户端和服务器的数据交换完毕,就会断开连接,再次请求,会重新连接,这就说明服务器单从网络连接上是没有办法知道用户身份的.怎么办呢?那就给每次新的用户 ...

  7. gd_t结构 bd_t结构

    gd_t在u-boot-2018.07-fmxx/include/asm-generic/global_data.h中定义 typedef struct global_data {    bd_t * ...

  8. Iconfont 阿里图库使用(小程序和H5)

    前言 现在前端发展的太快,前端优化也是,图片也是被近2年来比较火的就是阿里图库取代了,不管小程序还是H5 都在用 好了,那么就介绍下如何使用吧 阿里图库 当然需要你到阿里官网 http://www.i ...

  9. Oracal数据库安装配置教程

    官网注册账号登录 https://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-windows- ...

  10. 软件的三大类型-单机类型、BS类型、CS类型

    单机类型:最开始的软件就是那些不需要联网的单机软件. CS类型:有的程序需要统一管理软件中使用的数据, 所以就将保存数据的数据库统一存放在一台主机中, 所有的用户在需要数据时都要从主机获取, 这时就分 ...