糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > Oracle教程:基于用户管理的备份与恢复-控制文件的备份与恢复

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

时间:2021-07-12 00:11:56

相关推荐

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

数据库|mysql教程

Oracle教程,Oracle教程:基于用户管理的备份与恢复

数据库-mysql教程

蜜桃影院源码免费,提取ubuntu字体,tomcat 进程中的线程,爬虫写入excel,公众号第三方平台 php,抖音seo培训哪个比较好lzw

控制文件用于记录和维护数据库。当恢复数据库时,服务器进程和后台进程需要从控制文件中读取各种备份相关的信息。如果控制文件损

侠剑江湖源码,vscode安装追加,虚拟机ubuntu安装完毕重启,tomcat 导包,sqlite可以访问吗,手机网页player插件下载,前端3d ui框架,爬虫软件阿里巴巴,php 类存在,seo优化说说,京东商城网站模板,jeecms怎么将网页静态化,单页网站模板修改lzw

php 拍卖 源码 手机,vscode如何改为中文,gcc降级 ubuntu,网页测试tomcat网址,sqlite 数据库创建表,爬虫族和天龙星人的关系,php 装修网站,企业seo怎么操作分类,metinfo网站里的目录怎么改,影片模板lzw

控制文件用于记录和维护数据库。当恢复数据库时,服务器进程和后台进程需要从控制文件中读取各种备份相关的信息。如果控制文件损坏,则会导致这些备份信息的丢失。尽管使用多元化控制文件可以防止控制文件损坏,但因为控制文件的重要性,应该定期备份控制文件。当数据库配置发生改变时,一定要备份控制文件。涉及到数据库配置改变的命令:

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命令进行拷贝

1)open状态下,使用alter database命令生成控制文件副本

2)open状态下,使用alter database backup controlfile to trace命令将控制文件备份到跟踪文件

控制文件的恢复,两种方式

1)mount状态下,使用RECOVER DATABASE USING BACKUP CONTROLFILE

2)mount状态下,生成跟踪文件并进行恢复

2–2示例:

[Oracle@localhost ~]$ rlsqlplus / as sysdba

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

Copyright (c) 1982, , 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 Buffers343932928 bytes

Redo Buffers7168000 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

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 Buffers381681664 bytes

Redo Buffers7168000 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

这时应该重建多个控制文件。

如何做?

如果觉得《Oracle教程:基于用户管理的备份与恢复-控制文件的备份与恢复》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。