归档日志。Oracle数据库可以设置为归档模式或非归档模式。当数据库运行在归档模式下时,数据库会将所有的事务记录在联机日志中。当联机日志写满时会进行归档,即形成了归档日志。当数据库运行在非归档模式下时,数据库只会将事务记录在OnlineRedoLog中,而并不会将日志进行归档处理。
在对象资源管理器中,展开“管理”,展开“SQLServer日志”,再双击“当前
查看与作业相关的日志
在对象资源管理器中,展开“SQLServer代理”,右键单击“作业”,再单击“查看历史记录”,此时将显示“作业历史记录”和“SQL代理”日志。
查看与维护计划相关的日志
在对象资源管理器中,展开“管理”,右键单击“维护计划”,再单击“查看历史记录”,此时将显示“维护计划”、“作业历史记录”和“SQL代理”日志。
高斯数据库变成只读模式了,具体恢复步骤如下:
1、查看集群是否开启归档模式。返回结果为on,说明归档模式开启。
2、查看集群是否配置归档相关命令。查询结果为空,说明未配置相关命令。
3、检查最大使用磁盘下对应dn实例的xlog总大小。使用如下命令切换到对应dn实例的目录下面,查看pg_xlog目录下面文件总大小。
4、计算pg_xlog目录使用磁盘空间占比。
假设,数据盘大小17TB,DN路径下pg_xlog大小为12T,而此路径下其他数据文件03T+;这样就使得该数据盘磁盘使用率超过90%。
可见,由于开启归档功能,但是没有配置归档命令,导致集群主DN实例数据目录pg_xlog下归档日志累计,占满磁盘空间导致集群切换到只读模式。
5、关闭归档模式。
6、做一次检查点。执行成功后,集群会立即释放归档日志所占用空间,确认DN实例目录下的pg_xlog日志空间已回收。
7、手动关闭集群只读模式。
仅供参考并无权威数据。
1将归档日志重新指定位置,不要用fra的位置
2每次rman备份完成后执行delete noprompt archivelog all backed up 1 times to device type disk;意思就是删除已经备份过的归档日志。这样可以防止归档日志累计起来的容量过大。
第一种方法
selectname,log_modefromv$database;
-----------------------------------------------------------
第二种方法
archiveloglist
2,oracle启动归档模式?
startupmount
alterdatabasearchivelog;
alterdatabaseopen;
altersystemsetlog_archive_start=truescope=spfile;
修改数据库参数文件c:oracleadminoradbpfileinitora,取消以下语句的#注释
log_archive_start=true
log_archive_dest_1="location=C:Oracleoradataoradbarchive"
log_archive_format=%%ORACLE_SID%%T%TS%SARC
关闭数据库,重新启动
查看C:Oracleoradataoradbarchive目录下,可以看到类似ARC的文件,说明归档成功
解释initora参数文件中关于归档重做日志参数项的含义
归档模式是自动还是手工,true为自动,false为手工
log_archive_start=true
归档日志文件所保存的路径
log_archive_dest_1="location=C:Oracleoradataoradbarchive"
归档日志文件的命名方法
log_archive_format=%%ORACLE_SID%%T%TS%SARC
2、禁止归档
a关闭数据库shutdownimmediate
bstartupmount
calterdatabase
dalterdatabaseopen
db2 connect to bztest ---链接到数据库
db2 update db cfg for bztest using logretain off ----关掉自动生成归档日志
db2stop force 关闭数据库
db2start 开启数据库
关掉以后就好了
db2 prune logfile prior to ‘日志’删除日志
db2 connect to bztest 重新连接后会产生日志,但是不会在增长
本文主要介绍了如何从一个不能正常打开的数据库(由于一个/多个数据库文件与其他文件不一致)中提取数据的具体示例 详细内容请大家参考下文
具体案例
一个磁盘损坏了并且丢失了一个数据库文件 从一周前的热备转储数据文件 可是丢失了几个归档日志文件 但是有问题的数据文件包含了最重要的表 采用什么办法才能挽救数据呢
解决方法
每个数据库管理员都知道这是有问题的 一定会丢失数据 因为某些事务丢失了 问题是会丢失多少数据Oracle使用硬线路位置并且由于存在完整性约束问题 因此不允许正常打开数据 但是如果使用非常规的方法让Oracle删除其硬线路属性 那么应该能够提取尽可能多的数据 而通常这会比损失全部数据要好很多
通常假如仅仅丢失了堆表的索引 或者某些能够很容易重建的数据 那么最好的方法应该是删除表空间并重建这些对象然后重新输入 但是如果丢失的数据文件包含了重要数据并且很难恢复 而且只有前一次的备份却又丢失了某些归档日志 那么用户可能希望能够尽可能多的从有问题的表空间恢复数据并且删除和重建表空间
具体步骤如下
对当前拥有的数据进行一个冷备;
转储丢失的数据库文件备份并应用可以应用的日志;
设置未文档化的初始化参数 其允许你在当前状态打开数据库;
执行exp并提取全部可以从有问题的表空间提取的数据;
从先前的冷备转储数据库;
使毁坏的数据文件offline;
执行exp并提取第 步没有提取的额外数据;
在一次从冷备转储;
删除有问题的表空间;
重建有问题的表空间;
使用第四步和第七步提取的数据重建数据;
使用案例描述 ORDTAB表空间的一个数据文件ordtab dbf毁坏 其包含很多
ORDERS表的分区 数据文件热备于July July —至今的某些归档日志丢失
第 步 备份数据库
第 步的任务是冷备当前拥有的任何数据文件 在线重做日志 和控制文件 如果丢失了一个/多个数据文件但是数据库仍然是open的 那么对每个剩余的数据文件进行热备并确保备份期间/之后的归档被安全保存
创建备份后 在关闭数据库之前 备份一下控制文件
ALTER DATABASE BACKUP CONTROLFILE TO TRACE RESETLOGS;
然后打开备份的控制文件 删除第一个#之上的所有行 并删除 RECOVER DATABASE… 到文件结尾的全部
第 步 转储丢失的数据库文件备份并应用日志;
这一步应该转储备份 并应用日志到直到无法在前向滚动 此时如果尝试正常打开数据库 将会得到ORA : must use RESETLOGS or NORESETLOGS option for database open错误
如果尝试执行ALTER DATABASE OPEN RESETLOGS 将会得到ORA 错误 ORA : online backup of file %s needs more recovery to be consistent
lishixinzhi/Article/program/SQL/201311/16189
以上就是关于在非归档日志方式下 *** 作的数据库禁用了什么全部的内容,包括:在非归档日志方式下 *** 作的数据库禁用了什么、SQL数据库如何查看归档日志(oracle查看归档日志)、高斯数据库变成只读模式了怎么恢复等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)