700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Oracle 日志记录(联机日志/非联机日志)

Oracle 日志记录(联机日志/非联机日志)

时间:2021-12-22 20:13:48

相关推荐

Oracle 日志记录(联机日志/非联机日志)

数据库|mysql教程

Oracle教程,Oracle 日志记录(联机日志/非联机日

数据库-mysql教程

jquery特效源码,vscode vba 插件,ubuntu实验,tomcat伪装后缀,用什么软件打开sqlite,dedecms 社会化登录插件,十大前端框架排名,梦见窗户上爬虫子,php mysql 类库,当阳谷歌seo,国外网站模版,linux下载网页源码下载,哪里有网站模板下载lzw

Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日

vb6实例源码,再见了vscode,ubuntu更新系统,tomcat在eclipse中的配置,sqlite3 主键,网页设计 字体免费 免版权,wdcp数据库搬家,电信游戏服务器租用,dede 手机网站插件,前端框架 性能,爬虫例子,java 和php,淄博seo,springboot 数据签名,jq tab标签,虚拟币网站源码,网页设计图片滑动,今日头条模板,dedecms 后台登录慢,html页面可以写java代码吗,java 信息管理系统开发实例导航,怎么把其他程序的窗口变成自己的子窗口lzw

php全自动微信吸粉推广源码,vscode按钮启动配置,如何设置ubuntu,tomcat在哪连,sqlite算服务器吗,爬虫能对全网下载pdf么,php环境搭配,福建seo推广知识模式,国外产品展示网站源码,网页代码解密工具,手机app登陆注册页面模板lzw

查看方法:select name,log_mode from v$database;

Oracle数据库有联机重做日志,这个日志是记录对数据库所做的修改,比如插入,删除,更新数据等,对这些操作都会记录在联机重做日志里。一般数据库至少要有2个联机重做日志组。当一个联机重做日志组被写满的时候,就会发生日志切换,这时联机重做日志组2成为当前使用的日志,当联机重做日志组2写满的时候,又会发生日志切换,去写联机重做日志组1,就这样反复进行。

如果数据库处于非归档模式,联机日志在切换时就会丢弃. 而在归档模式下,当发生日志切换的时候,被切换的日志会进行归档。比如,,当前在使用联机重做日志1,当1写满的时候,发生日志切换,开始写联机重做日志 2,这时联机重做日志1的内容会被拷贝到另外一个指定的目录下。这个目录叫做归档目录,拷贝的文件叫归档重做日志。

数据库使用归档方式运行时才可以进行灾难性恢复。

归档日志模式和非归档日志模式的区别

非归档模式只能做冷备份,并且恢复时只能做完全备份.最近一次完全备份到系统出错期间的数据不能恢复.

归档模式可以做热备份,并且可以做增量备份,可以做部分恢复.

用ARCHIVE LOG LIST 可以查看期模式状态时归档模式还是非归档模式.

改变归档模式到非归档模式:

1)SQL>SHUTDOWN NORMAL/IMMEDIATE;

2)SQL>START MOUNT;

3)SQL>ALTER DATABASE NOARCHIVELOG;

4)SQL>ALTER DATABASE OPEN;

启用自动归档: LOG_ARCHIVE_START=TRUE

归档模式下,日志文件组不允许被覆盖(重写),当日志文件写满之后,如果没有进行手动归档,那么系统将挂起,知道归档完成为止.

这时只能读而不能写.

运行过程中关闭和重启归档日志进程

SQL>ARCHIVE LOG STOP

SQL>ARCHIVE LOG START

手动归档: LOG_ARCHIVE_START=FALSE

归档当前日志文件

SQL>ALTER SYSTEM ARCHIVE LOG CURRENT;

归档序号为052的日志文件

SQL>ALTER SYSTEM ARCHIVE LOG SEQUENCE 052;

归档所有日志文件

SQL>ALTER SYSTEM ARCHIVE LOG ALL;

改变归档日志目标

SQL>ALTER SYSTEM ARCHIVE LOG CURRENT TO ‘&PATH’;

1——————————————————

某DBA告诉我这样可以不写LOG:

alert tablename nologgin;

insert into tablename (select …)

注意:insert语句后面必须是‘select…’语句,否则无效

2——————————————————

NOLOGING选项只是在direct-load模式下才不写redo log,nomal DML无效

3——————————————————

alter table tb_txn_log nologging,然后改回来alter table tb_txn_log logging这种模式

会影响联机交易

4——————————————————

insert into test1 nologging select * from dba_objects

alter table test1 nologging

insert into test1 select * from dba_objects

5——————————————————

关于nologging的用法

有许多朋友误已写SQL或把表的属性加NOLOGGING,就可以不采成日志。这是一个误解。

在数据迁移或大量的数据insert入库时,由于大量数据的insert或修改,经常引起redo log sync的等待,造成数据库性能缓慢。

因为许多朋友对NOLOGGING的误解,所以许多人在insert数据时,在SQL后加nologging,想通过该用法使操作不采生日记录。但无效果。

这里讨论nologging的具体用法:

数据库操作,只有如下几种情况下不产成redo记录:

1、用sql*load的direct load方式时,不采用redo记录

2、用insert的direct方式,即在append方式insert( insert append可以实现直接路径加载,速度比常规加载方式快很多。但有一点需要注意: insert append时在表上加“6”类型的Exclusive锁,会阻塞表上的所有DML语句。因此在有业务运行的情况下要慎重使用.在使用了append选项以后,insert数据会直接加到表的最后面,而不会在表的空闲块中插入数据。

使用append会增加数据插入的速度。

的作用是在表的高水位上分配空间,不再使用表的extent中的空余空间

append 属于direct insert,归档模式下append+table nologging会大量减少日志,非归档模式append会大量减少日志,append方式插入只会产生很少的undo

不去寻找 freelist 中的free block , 直接在table HWM 上面加入数据。)

3、create table …. as select

4、create index

5、alter table … move partition

6、alter table … split partition

7、alter index … split partition

8、alter index … rebuild

9、alter index … rebuild partition

10、INSERT, UPDATE, and DELETE on LOBs in NOCACHE NOLOGGING mode stored out of line

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