基于用户管理的备份与恢复-控制文件的备份与恢复

Oracle控制文件备份与恢复
本文介绍了Oracle数据库中控制文件的重要性和备份策略。探讨了控制文件的三种备份方法及两种恢复方案,通过实例演示了控制文件丢失后的恢复过程。
控制文件用于记录和维护数据库。当恢复数据库时,服务器进程和后台进程需要从控制文件中读取各种备份相关的信息。如果控制文件损坏,则会导致这些备份信息的丢失。尽管使用多元化控制文件可以防止控制文件损坏,但因为控制文件的重要性,应该定期备份控制文件。当数据库配置发生改变时,一定要备份控制文件。涉及到数据库配置改变的命令:
alter database [add|drop] logfile
alter database [add|drop] logfile member
alter database [add|drop] logfile group
alter database [noarchivelog|archivelog]
alter database rename file
create tablespace
alter tablespace [add|rename] datafile
alter tablespace [read write|read only]
drop tablespace

控制文件的备份,三种方式
1)使用OS命令进行拷贝
2)open状态下,使用alter database命令生成控制文件副本
3)open状态下,使用alter database backup controlfile to trace命令将控制文件备份到跟踪文件
控制文件的恢复,两种方式
1)mount状态下,将1,2)中备份的控制文件copy到指定位置,然后使用RECOVER DATABASE USING BACKUP CONTROLFILE(如果当前的重做日志没有损坏,最后需要恢复当前的重做日志)。
2)mount状态下,使用3)中的跟踪文件构造脚本并进行恢复。

23--2示例:

[oracle@localhost ~]$ rlsqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 8月 1 21:40:03 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  528482304 bytes
Fixed Size                  1220360 bytes
Variable Size             176161016 bytes
Database Buffers          343932928 bytes
Redo Buffers                7168000 bytes
Database mounted.
Database opened.
--open状态下生成控制文件副本
SQL> alter database backup controlfile to 
  2  '/oracle/10g/oracle/bakup/database/oralife.ctl';
alter database backup controlfile to
*
ERROR at line 1:
ORA-01580: error creating control backup file
/oracle/10g/oracle/bakup/database/oralife.ctl
ORA-27038: created file already exists
Additional information: 1

SQL> alter database backup controlfile to 
  2  '/oracle/10g/oracle/bakup/database/oralife.ctl' reuse; --reuse用于覆盖原有控制文件副本

Database altered.

--手动删除所有控制文件模拟文件丢失
SQL> ho rm /oracle/10g/oracle/product/10.2.0/oradata/oralife/*.ctl; 

--使用evan登录,并添加数据
SQL> conn evan/evan
Connected.
SQL> select * from t_evan;

TEXT
--------------------------------------------------------------------------------
oracle
java
spring
hibernate
hibernate

SQL> insert into t_evan values('added');

1 row created.

SQL> commit;

Commit complete.

SQL> conn / as sysdba
Connected.
SQL> shutdown immediate
ORA-00210: cannot open the specified control file
ORA-00202: control file: '/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl'
ORA-27041: unable to open file
Linux Error: 2: No such file or directory
Additional information: 3
SQL> shutdown abort
ORACLE instance shut down.

--alter_oralife.log出现这样的信息:
Mon Aug  1 23:13:51 2011
ORA-00202: control file: '/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl'
ORA-27037: unable to obtain file status
Linux Error: 2: No such file or directory
Additional information: 3

--拷贝控制文件到目标路径
SQL>ho cp /oracle/10g/oracle/bakup/database/oralife.ctl /oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl

SQL> alter system set control_files='/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl' scope = spfile;--修改control_files参数,指定可用的控制文件

System altered.
SQL> startup force mount
ORACLE instance started.

Total System Global Area  528482304 bytes
Fixed Size                  1220360 bytes
Variable Size             138412280 bytes
Database Buffers          381681664 bytes
Redo Buffers                7168000 bytes
Database mounted.
--生成trace文件
SQL> alter database backup controlfile to trace noresetlogs; 

Database altered.

SELECT c.VALUE || '/' || d.instance_name || '_ora_' || a.spid || '.trc' TRACE
  FROM v$process a, v$session b, v$parameter c, v$instance d
 WHERE a.addr = b.paddr
   AND b.audsid = USERENV ('sessionid')
       AND c.NAME = 'user_dump_dest';

TRACE
--------------------------------------------------------------------------------
/oracle/10g/oracle/product/10.2.0/db_1/admin/oralife/udump/oralife_ora_4558.trc

SQL> shutdown immediate
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.

--打开trace文件,去掉注释,在shutdown状态下执行脚本,创建控制文件

--用evan登录验证数据
SQL> conn evan/evan
Connected.
SQL> select * from t_evan;
TEXT
--------------------------------------------------------------------------------
oracle
java
spring
hibernate
hibernate
added

6 rows selected.
可见数据没有丢失。

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl
这时应该重建多个控制文件
如何做?
--设置control_files参数,前提是使用spfile启动数据库
SQL> show parameter spfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /oracle/10g/oracle/product/10.

                                                 2.0/db_1/dbs/spfileoralife.ora
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl

SQL> alter system set control_files='/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl'
  2  ,'/oracle/10g/oracle/product/10.2.0/oradata/oralife/control02.ctl'
  3  ,'/oracle/10g/oracle/product/10.2.0/oradata/oralife/control03.ctl'
  4  scope=spfile;

System altered.

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
--拷贝控制文件到不同的磁盘
SQL> host
[oracle@localhost oralife]$ cp control01.ctl control02.ctl
[oracle@localhost oralife]$ cp control01.ctl control03.ctl
[oracle@localhost ~]$ rlsqlplus / as sysdba

SQL*Plus: Release 10.2.0.1.0 - Production on 星期二 8月 2 21:02:57 2011

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

Connected to an idle instance.

SQL> startup
ORACLE instance started.

Total System Global Area  528482304 bytes
Fixed Size                  1220360 bytes
Variable Size             142606584 bytes
Database Buffers          377487360 bytes
Redo Buffers                7168000 bytes
Database mounted.
Database opened.
SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/oracle/10g/oracle/product/10.2.0/oradata/oralife/control01.ctl
/oracle/10g/oracle/product/10.2.0/oradata/oralife/control02.ctl
/oracle/10g/oracle/product/10.2.0/oradata/oralife/control03.ctl
已生效。
《乐视路由-IK-AP-S3-1.4.7-qca953x 编程器固件详解》 本文将深入探讨“乐视路由-IK-AP-S3-1.4.7-qca953x 编程器固件”的核心知识点,包括其功能、结构以及如何进行固件升级,同时还会涉及之相关的breed系统和MAC地址等关键概念。 让我们了解什么是编程器固件。固件是存储在硬件设备中的软件,它控制设备的运行方式,类似于设备的大脑。在这个特定的例子中,“乐视路由-IK-AP-S3-1.4.7-qca953x 编程器固件”是专为乐视路由设计的,用于管理和优化路由器的内部操作,包括网络设置、安全配置、性能优化等功能。版本号1.4.7表明这是该固件的第1.4.7次更新,通常意味着修复了前一版本的漏洞并增加了新特性。 QCA953x是Qualcomm Atheros(高通创锐讯)公司开发的一款处理器,常用于无线路由器。此固件QCA953x芯片组兼容,确保路由器能高效地处理网络流量和管理无线连接。 “breed”是开源的路由器固件恢复系统,其主要作用是在路由器固件出问题时提供一个备份恢复的平台。通过breed,用户可以轻松刷入新的固件,或者在固件崩溃时恢复到之前的稳定状态,从而保护路由器免受严重故障的影响。 提到MAC地址“AAAAAAAAAAAA”,这是一串由六个两字符的十六进制数组成的唯一标识符,每个设备在网络中都有一个唯一的MAC地址,用以识别设备在网络层的身份。在这个上下文中,MAC地址可能被用来特定地识别或配置这个乐视路由。 在升级或恢复固件时,用户通常需要下载设备匹配的.bin文件,如“乐视路由-IK-AP-S3-1.4.7-qca953x-MAC-AAAAAA编程器固件.bin”。这个文件包含了完整的固件镜像,通过特定的工具或界面上传到路由器,完成固件的替换过程。 总结起来,"乐视路由-IK-AP-S3-1.4.
【源码免费下载链接】:https://renmaiwang.cn/s/ta7vt YOLOv5是一种经过优化的实时目标检测系统,在计算机视觉领域展现出卓越的应用效果。它通过改进前几代模型的架构算法,在保持高效运行的同时提升了检测精度和适应性。本项目基于该系统构建了一个车牌定位识别工具,其精确度达到92%,这使其在实际应用中展现出高度可靠性。 具体而言,YOLOv5采用了单阶段的目标检测框架,直接预测边界框和类别概率而无需先进行对象提案。这一设计使模型能够快速且准确地完成目标识别任务。该系统基于U-Net结构融合上下文信息,并引入了Focal Loss以解决类别不平衡问题,同时通过SAS提升对小目标的检测精度。 在车牌定位方面,YOLOv5将车辆车牌视为特定的目标类别进行检测,通过对模型的训练使其能够识别车牌的形状、颜色和位置等特征参数。随后,在定位到车牌后,项目采用了基于深度学习的OCR模型(如CRNN或LSTM)对每个字符进行识别。这些模型能够理解和解码连续的字符序列,并实现从图像到文本的有效转换。 从技术角度来看,YOLOv5的核心是改进后的卷积神经网络(CNN),该模型通过自动学习和提取图像特征来实现高效的图像识别任务。在车牌识别过程中,CNN不仅能够捕获边缘和纹理信息,还能逐步提炼出更复杂的形状和结构特征。 项目中源码包含完整的训练数据集、标注信息以及相应的算法优化策略。在训练过程中,采用了超参数调整、数据增强(如翻转、缩放、裁剪等)以及模型微调等多种技术手段以提升车牌检测识别的性能。此外,考虑到系统的实时性需求,项目还设计了适合GPU或CPU部署的代码,并实现了高效的运行效率。 基于YOLOv5的强大能力,该系统通过精心设计的模型架构和优化策略,在车牌定位识别方面展现出显著优势。其应用范围涵盖交通监控、停车场管理以及无人车导航等多个领域。这一基于YOLOv
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值