当前位置: 首页 > news >正文

oracle11g数据库 冷备份与冷恢复


我们在做备份时,究竟需要备份数据库的哪些文件呢?

其实只需要备份数据文件和控制文件就可以了,其他的参数文件,重做日志文件以及口令文件与数据文件相比都非常小,所以在一般情况下都会一起备份。

冷备份步骤:

1.v$contorlfile 找到所有的控制文件

2.dba_data_files 找到所有的数据文件

3.v$logfile找到所有的日志文件

4.v$tempfiles 和v$tablespace找到所有的临时文件以及与表空间的对应关系

5.正常关闭数据库

6.将所有的文件复制到硬盘或者磁带上

7.重新启动数据库

冷恢复:

1.正常关闭数据库

2.将备份的所有文件复制到原来的位置

3.重新启动数据库

实验:

1.首先找到要备份的文件的位置

SQL> select file_name,file_id,tablespace_name,bytes,blocks,status from dba_data_files;FILE_NAME                          FILE_ID TABLESPACE_NAME              BYTES     BLOCKS STATUS
-------------------------------------------------- ---------- ------------------------------ ---------- ---------- ---------
/u01/app/oracle/oradata/cai/users01.dbf             4 USERS                   62914560       7680 AVAILABLE
/u01/app/oracle/oradata/cai/undotbs01.dbf            3 UNDOTBS1                  110100480      13440 AVAILABLE
/u01/app/oracle/oradata/cai/sysaux01.dbf            2 SYSAUX                  587202560      71680 AVAILABLE
/u01/app/oracle/oradata/cai/system01.dbf            1 SYSTEM                  828375040     101120 AVAILABLE
/u01/app/oracle/oradata/cai/example01.dbf            5 EXAMPLE                  104857600      12800 AVAILABLESQL> select status,name from v$controlfile;
SQL> col name for a60;
SQL> /STATUS    NAME
------- ------------------------------------------------------------/u01/app/oracle/oradata/cai/control01.ctl/u01/app/oracle/flash_recovery_area/cai/control02.ctlSQL> select group#,status,member from v$logfile;
SQL> col member for a30
SQL> /GROUP# STATUS  MEMBER
---------- ------- ------------------------------3       /u01/app/oracle/oradata/cai/redo03.log2       /u01/app/oracle/oradata/cai/redo02.log1       /u01/app/oracle/oradata/cai/redo01.logSQL> show parameter pfile;NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
spfile                     string     /u01/app/oracle/product/11.2.0/db_home1/dbs/spfilecai.oraSQL> select name from v$tempfile;NAME
------------------------------------------------------------
/u01/app/oracle/oradata/cai/temp01.dbf

2.创建一张测试表

SQL> create user nice identified by oracle2  default tablespace example3  quota 1m on example;User created.SQL> grant create table,connect ,dba to nice;
\
Grant succeeded.SQL>conn nice/oracle                       
Connected.
SQL> show user
USER is "NICE"SQL> create table test(id number);Table created.SQL> insert into test values(1);
insert into test values(1)*
ERROR at line 1:
ORA-01647: tablespace 'EXAMPLE' is read-only, cannot allocate space in itSQL> alter user nice default tablespace users quota 1m on users;User altered.SQL> drop table test ;Table dropped.SQL> create table test(id number);Table created.SQL> insert into test values(1);
insert into test values(1)*
ERROR at line 1:
ORA-01647: tablespace 'USERS' is read-only, cannot allocate space in itSQL> select tablespace_name,status from dba_tablespaces;TABLESPACE_NAME            STATUS
------------------------------ ---------
SYSTEM                   ONLINE
SYSAUX                   ONLINE
UNDOTBS1               ONLINE
TEMP                   ONLINE
USERS                   READ ONLY
EXAMPLE                READ ONLY6 rows selected.SQL> alter tablespace users read write;Tablespace altered.SQL> insert into test values(1);1 row created.SQL> select * from test;ID
----------1SQL> conn sys/oracle as sysdba
Connected.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

3.复制要备份的文件到备份目录

[oracle@11g ~]$ cd /u01/app/oracle/product/11.2.0/db_home1/dbs/
[oracle@11g dbs]$ ll -ls
total 28
4 -rw-rw---- 1 oracle oinstall 1544 Feb 29 13:29 hc_cai.dat
4 -rw-rw---- 1 oracle oinstall 1544 Jan  8 13:15 hc_DBUA0.dat
4 -rw-r--r-- 1 oracle oinstall  962 Feb 29 12:26 initcai.ora
4 -rw-r--r-- 1 oracle oinstall 2851 May 15  2009 init.ora
4 -rw-r----- 1 oracle oinstall   24 Jan  8 13:18 lkCAI
4 -rw-r----- 1 oracle oinstall 1536 Jan  8 13:21 orapwcai
4 -rw-r----- 1 oracle oinstall 2560 Feb 29 13:24 spfilecai.ora
[oracle@11g dbs]$ scp initcai.ora /home/oracle/backup
[oracle@11g dbs]$ scp spfilecai.ora /home/oracle/backup
[oracle@11g dbs]$ cd /u01/app/oracle/oradata/cai/
[oracle@11g cai]$ ll -ls
total 18222249552 -rw-r----- 1 oracle oinstall   9781248 Feb 29 13:29 control01.ctl
102408 -rw-r----- 1 oracle oinstall 104865792 Jan 14 17:35 example01.dbf51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 13:29 redo01.log51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 13:26 redo02.log51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 13:26 redo03.log
573448 -rw-r----- 1 oracle oinstall 587210752 Feb 29 13:29 sysaux01.dbf
808968 -rw-r----- 1 oracle oinstall 828383232 Feb 29 13:29 system01.dbf5260 -rw-r----- 1 oracle oinstall  38805504 Feb 29 12:02 temp01.dbf
107528 -rw-r----- 1 oracle oinstall 110108672 Feb 29 13:29 undotbs01.dbf61448 -rw-r----- 1 oracle oinstall  62922752 Feb 29 13:29 users01.dbf
[oracle@11g cai]$ scp * /home/oracle/backup
[oracle@11g cai]$ cd /home/oracle/backup
[oracle@11g backup]$ ll -ls
total 18242209552 -rw-r----- 1 oracle oinstall   9781248 Feb 29 13:30 control01.ctl
102408 -rw-r----- 1 oracle oinstall 104865792 Feb 29 13:30 example01.dbf4 -rw-r--r-- 1 oracle oinstall       962 Feb 29 13:30 initcai.ora51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 13:30 redo01.log51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 13:30 redo02.log51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 13:30 redo03.log4 -rw-r----- 1 oracle oinstall      2560 Feb 29 13:30 spfilecai.ora
573448 -rw-r----- 1 oracle oinstall 587210752 Feb 29 13:30 sysaux01.dbf
808968 -rw-r----- 1 oracle oinstall 828383232 Feb 29 13:30 system01.dbf7248 -rw-r----- 1 oracle oinstall  38805504 Feb 29 13:30 temp01.dbf
107528 -rw-r----- 1 oracle oinstall 110108672 Feb 29 13:30 undotbs01.dbf61448 -rw-r----- 1 oracle oinstall  62922752 Feb 29 13:30 users01.dbf

3.模拟数据丢失,truncate table test

SQL> startup
ORACLE instance started.Total System Global Area  885211136 bytes
Fixed Size		    2218432 bytes
Variable Size		  369100352 bytes
Database Buffers	  507510784 bytes
Redo Buffers		    6381568 bytes
Database mounted.
Database opened.
SQL> select * from test;ID
----------1SQL> truncate table test;Table truncated.SQL> select * from test;no rows selected

4.将备份的文件复制回原来的位置

我这里做了一个不一样的实验,首先我只将表所在的数据文件恢复到原来的位置,启动数据库后发现数据表中还是没有数据

[oracle@11g backup]$ ll -ls
total 18242129552 -rw-r----- 1 oracle oinstall   9781248 Feb 29 15:35 control01.ctl
102408 -rw-r----- 1 oracle oinstall 104865792 Feb 29 15:35 example01.dbf51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 15:35 redo01.log51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 15:35 redo02.log51204 -rw-r----- 1 oracle oinstall  52429312 Feb 29 15:35 redo03.log
573448 -rw-r----- 1 oracle oinstall 587210752 Feb 29 15:35 sysaux01.dbf
808968 -rw-r----- 1 oracle oinstall 828383232 Feb 29 15:35 system01.dbf7248 -rw-r----- 1 oracle oinstall  38805504 Feb 29 15:35 temp01.dbf
107528 -rw-r----- 1 oracle oinstall 110108672 Feb 29 15:35 undotbs01.dbf61448 -rw-r----- 1 oracle oinstall  62922752 Feb 29 15:35 users01.dbf
[oracle@11g backup]$ scp users01.dbf /u01/app/oracle/oradata/cai
SQL> startup;
ORACLE instance started.Total System Global Area  885211136 bytes
Fixed Size		    2218432 bytes
Variable Size		  369100352 bytes
Database Buffers	  507510784 bytes
Redo Buffers		    6381568 bytes
Database mounted.
ORA-01113: file 4 needs media recovery
ORA-01110: data file 4: '/u01/app/oracle/oradata/cai/users01.dbf'SQL> recover datafile 4;
Media recovery complete.
SQL> alter database open;Database altered.SQL> select * from test;no rows selected

然后我又继续对控制文件进行恢复,报错如下

SQL> alter database mount;Database altered.SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-01122: database file 1 failed verification check
ORA-01110: data file 1: '/u01/app/oracle/oradata/cai/system01.dbf'
ORA-01207: file is more recent than control file - old control file



所以冷恢复必须对全库进行恢复,不能只是单独的恢复丢失数据的数据文件和控制文件

SQL> startup;
ORACLE instance started.Total System Global Area  885211136 bytes
Fixed Size            2218432 bytes
Variable Size          369100352 bytes
Database Buffers      507510784 bytes
Redo Buffers            6381568 bytes
Database mounted.
Database opened.
SQL> select * from test;ID
----------1


 


 

相关文章:

oracle11g数据库 冷备份与冷恢复

我们在做备份时,究竟需要备份数据库的哪些文件呢? 其实只需要备份数据文件和控制文件就可以了,其他的参数文件,重做日志文件以及口令文件与数据文件相比都非常小,所以在一般情况下都会一起备份。 冷备份步骤&#xf…...

考研数据结构算法机试训练1

中南大学上机压轴题 测试数据: 3 500 0.6 100 0.8 200 0.7 100 输出 390首先要对输入的折扣进行排序,优先使用比率低的z进行支付。 然后用lowcost记录目前多少钱是打过折的。T-lowcost就是剩余没打折的。 每次循环用上一个人的折扣额度。若所有人折扣额…...

SAP PO接口行项目json缺少中括号[]问题

PO接口小问题问题:如果需要同时传输DATA与ITEM,此处选择很重要,如果选择:HTTP Header ITEM将缺少[].需要注意 PO接口小问题 问题:如果需要同时传输DATA与ITEM,此处选择很重要,如果选择&#…...

STM32_DS18B20_1_芯片简介及初始化配置

DS18B20介绍 DS18B20数字温度计提供9位到12位摄氏度的温度测量,并具有非易失性,用户可编程的上下触发点的报警功能。DS18B20通过1线总线进行通信,根据定义,该总线只需要一条数据线,即可与中央微处理器进行通信…...

每天一个数据分析题(一百六十四)

关于OLAP系统,下列选项不正确的是() A. 是基于数据仓库的信息进行分析处理过程 B. 用户数量相对较少,其用户主要是业务决策人员与管理人员 C. 对响应时间要求非常高。 D. 基础数据来源于生产系统的操作数据,也就是…...

单词倒排——c语言解法

以下是题目: 这个题中有三个点, 一个是将非字母的字符转换为空格, 第二是如果有两个连续的空格, 那么就可以将这两个连续的空格变成一个空格。 第三个点就是让单词倒排。 那么我们就可以将这三个点分别封装成三个函数。 还有就是…...

Python + Selenium —— 网页元素定位之class name定位!

class 属性可以为元素应用一个或者多个 CSS 样式类。 利用此属性可以与指定的 CSS 样式类关联起来,以此达到设置元素样式的功能。 可以这样理解,比如一个页面上的所有按钮,都想做成同样的样式,那么是不是要在每个按钮上写同样的 c…...

matlab simulink变压器温度仿真

1、内容简介 略 48-可以交流、咨询、答疑 2、内容说明 略 3、仿真分析 略 matlab simulink变压器温度仿真_哔哩哔哩_bilibili 4、参考论文 略 大型油浸风冷变压器绕组温度场分析_高原 基于顶层油温的变压器绕组热点温度计算改进模型_陈伟根 基于热电类比理论的油浸式电…...

设计模式七:责任链模式

文章目录 1、责任链模式2、spring中的责任链模式Spring InterceptorServlet FilterNetty 1、责任链模式 责任链模式为请求创建了一个接收者对象的链,在这种模式下,通常每个节点都包含对另一个节点者的引用。每个节点针对请求,处理自己感兴趣…...

Git,GitHub与GitLab分别是什么?有什么关系和区别?

Git 定义:Git 是一个分布式版本控制系统,用于跟踪文件的变化,并协助多人协作开发软件项目。作用:Git 可以在本地存储完整的项目历史记录,并允许开发者在不同的分支上进行独立的开发,最后将它们合并到主干分…...

【Spring连载】使用Spring Data访问 MongoDB----Template API 查询Documents

【Spring连载】使用Spring Data访问 MongoDB----Template API 查询Documents 一、 查询集合中的Documents二 选择字段三、 其他查询选项3.1 Hints3.2 游标批大小Cursor Batch Size3.3 Collations3.4 读取首选项Read Preference3.5 Comments 四、查询Distinct值五、GeoSpatial Q…...

git describe

git describe一般用于查看当前提交距离上次最近的tag是什么,并且还可以知道差了多少个commit,在工程实践当中是个非常好用的命令 如果git describe后面什么都不加的话,默认找的是最近的有注释的tag 如何打有注释的tag打注释? g…...

React Switch用法及手写Switch实现

问&#xff1a;如果注册的路由特别多&#xff0c;找到一个匹配项以后还会一直往下找&#xff0c;我们想让react找到一个匹配项以后不再继续了&#xff0c;怎么处理&#xff1f;答&#xff1a;<Switch>独特之处在于它只绘制子元素中第一个匹配的路由元素。 如果没有<Sw…...

PowerShell执行策略:确保脚本安全执行的关键

PowerShell执行策略&#xff1a;确保脚本安全执行的关键 在自动化和脚本任务管理中&#xff0c;PowerShell 是 Windows 系统管理员和自动化工程师的强大工具。但随着这种强大的能力也带来了安全风险&#xff0c;特别是在执行未经验证的脚本时。为了降低这种风险&#xff0c;Po…...

LeetCode 热题 100 | 图论(上)

目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题&#xff0c;语言是 C 1 200. 岛屿数量 解题思路&#xff1a; 遍历二维数组&#xff0c;寻找 “1”&#xff08;若找到则岛屿数量 1&#xff09;寻找与当前 “1” 直接或间接连接在…...

跟着cherno手搓游戏引擎【25】封装2DRenderer,封装shader传参,自定义Texture

封装2DRenderer&#xff1a; Renderer.h: #include"ytpch.h" #include"Renderer.h" #include <Platform/OpenGL/OpenGLShader.h> #include"Renderer2D.h" namespace YOTO {Renderer::SceneData* Renderer::m_SceneData new Renderer::S…...

多个值时 if [ -z 报错 binary operator expected

if [ ! -z "\$client_pid" ]; then 报错: line 23: [: 662: binary operator expected 改成 if [[ ! -z "\$client_pid" ]]; then 即可。 unix - binary operator expected error when checking if a file with full pathname exists - Stack Overflo…...

如何使用ChatGPT创建一份优质简历

目录 第一步&#xff1a;明确目标和重点 第二步&#xff1a;与ChatGPT建立对话 第三步&#xff1a;整理生成的内容 第四步&#xff1a;注重行文风格 第五步&#xff1a;强调成就和量化结果 第六步&#xff1a;个性化和定制 第七步&#xff1a;反复修改和完善 总结 在现…...

k8s(6)

目录 一.kubectl 命令行管理K8S 陈述式资源管理方式&#xff08;可理解成使用一条kubectl命令及其参数选项来实现资源对象的管理操作&#xff09; service的4的基本类型&#xff1a; service的端口 应用发布策略&#xff1a; 声明式资源管理方式&#xff08;可理解成使用…...

自动驾驶框架:自动驾驶汽车定位-感知-规划-决策-控制概述,按照我的架构图理解:决策决定的是速度,规划决定的是路径(架构理解推荐)

1.按照我的架构图理解&#xff1a;决策决定的是速度&#xff0c;规划决定的是路径 参考链接&#xff1a;【自动驾驶】运动规划丨速度规划丨自动驾驶速度规划及状态协调方法 2.下面是参考别人的理解&#xff1a; 自动驾驶汽车定位-感知-规划-决策-控制概述 规划-决策-控制知…...

别再手动示教了!用RobotStudio的Offs函数搞定ABB机器人复杂码垛(附完整RAPID代码)

告别示教噩梦&#xff1a;用RobotStudio的Offs函数实现ABB机器人智能码垛 在工业自动化领域&#xff0c;码垛作业是最常见也最耗时的任务之一。传统的手动示教方式需要工程师逐个点位进行示教&#xff0c;不仅效率低下&#xff0c;而且容易出错。想象一下&#xff0c;面对一个3…...

3分钟搞定!为Word添加APA第7版引用模板的终极指南

3分钟搞定&#xff01;为Word添加APA第7版引用模板的终极指南 【免费下载链接】APA-7th-Edition Microsoft Word XSD for generating APA 7th edition references 项目地址: https://gitcode.com/gh_mirrors/ap/APA-7th-Edition 还在为学术论文的APA格式烦恼吗&#xff…...

XXMI Launcher终极指南:一站式跨平台游戏模组管理平台

XXMI Launcher终极指南&#xff1a;一站式跨平台游戏模组管理平台 【免费下载链接】XXMI-Launcher Modding platform for GI, HSR, WW and ZZZ 项目地址: https://gitcode.com/gh_mirrors/xx/XXMI-Launcher 还在为管理不同游戏的模组而烦恼吗&#xff1f;每次都要打开不…...

Dubbo 超时机制与集群容错机制详解:防止雪崩的利器

Dubbo 超时机制与集群容错机制详解&#xff1a;防止雪崩的利器 一、引言 在分布式系统中&#xff0c;服务间的远程调用充满不确定性——网络延迟、服务端GC停顿、瞬间流量洪峰等都可能导致调用失败或响应缓慢。如果没有合理的保护机制&#xff0c;一个服务的不稳定会像多米诺骨…...

NVIDIA Profile Inspector深度指南:解锁NVIDIA显卡隐藏配置的完整实战方法

NVIDIA Profile Inspector深度指南&#xff1a;解锁NVIDIA显卡隐藏配置的完整实战方法 【免费下载链接】nvidiaProfileInspector 项目地址: https://gitcode.com/gh_mirrors/nv/nvidiaProfileInspector NVIDIA Profile Inspector是一款强大的开源工具&#xff0c;专为N…...

手把手教你用Docker和K8s安全升级Nacos:从2.1.0迁移到2.5.1的完整操作手册

容器化环境下的Nacos安全升级实战&#xff1a;从2.1.0到2.5.1的Kubernetes最佳实践 在微服务架构中&#xff0c;配置中心作为基础设施的核心组件&#xff0c;其稳定性直接影响整个系统的可靠性。Nacos 2.5.1版本针对安全性和性能进行了重要改进&#xff0c;特别是强化了鉴权机制…...

YOLOv1深度解析:核心知识点、优势与局限

一、引言:YOLOv1的革命性意义 YOLOv1(You Only Look Once)由Joseph Redmon等人于2015年提出,是目标检测领域的一个里程碑式工作。其核心创新在于将目标检测重构为一个单一的回归问题,摒弃了传统两阶段方法(如R-CNN系列)中先提取候选区域(Region Proposal)再分类的繁琐…...

Edge Impulse实战:用Arduino Nano 33 BLE Sense的IMU数据,做个“手势识别”分类器

用Arduino Nano 33 BLE Sense实现手势识别的全流程实战 当Arduino Nano 33 BLE Sense开发板遇上Edge Impulse平台&#xff0c;内置的IMU传感器突然拥有了理解手势的能力。本文将带你完整实现从原始传感器数据采集到嵌入式AI模型部署的全过程&#xff0c;让一块普通开发板学会识…...

bootstrap怎么给div添加自定义的边框样式

本文讲解如何利用 go 的反射机制&#xff0c;根据一个实现了特定接口&#xff08;如 encoding.binaryunmarshaler&#xff09;的样例对象&#xff0c;动态创建同类型的新实例&#xff0c;适用于数据库批量反序列化等泛型场景。 本文讲解如何利用 go 的反射机制&#xff0c…...

数据科学中的Pandas数据框扩展

在数据科学和机器学习的领域中,处理数据结构往往是日常工作的一部分。尤其是当我们需要处理图结构数据时,构建和操作邻接矩阵是常见任务之一。Pandas作为Python中处理数据的强大工具,提供了许多便捷的方法来操作数据框(DataFrame)。本文将探讨如何使用Pandas高效地扩展数据…...