ondblog 修改informix日志模式

-N No Logging 没有日志
-U Unbuffered Logging   非缓冲日志
-B Buffered Logging   缓冲日志
-A Unbuffered Logging, Mode ANSI   ANSI模式
No Logging 没有日志
----“没有日志”模式只向逻辑日志写很少的信息,它只记录执行的DDL语句,这些语句影响到的行并不被写入日志中,只记录命令本身以及返回的代码。一个不带日志的数据库环境可以具有很高的吞吐率,但在发生严重的实例失败时没有能力重建对数据库的修改。写到磁盘上的修改才是可以得到的全部信息。对实例中不带日志数据库的恢复只能到最后一次创建的实例备份中进行。

Unbuffered Logging   非缓冲日志
----使用“非缓冲日志”模式的数据库环境只要事务提交,就会将包含该事务信息的物理日志和逻辑日志缓冲区刷新到磁盘上。
----使用非缓冲日志,即使出现严重的实例错误,数据完整性和一致性也可以在事务级得到保证。但是因为每一次提交事务都会导致缓冲区被刷新到磁盘上,所以增加了磁盘I/O。另外,因为刷新是按照当前事务的进度将整个缓冲区内容都写到逻辑日志中,所以逻辑日志的页面中会有很多没有用的数据。日志填充得很快,但其中包含的“真正”数据却比缓冲日志数据库环境少得多。

Buffered Logging   缓冲日志
----使用“缓冲日志”模式的数据库环境将在逻辑日志和物理日志缓冲区中保留这些事务信息,直到该缓冲区填满,或者发生检查点操作,或者是当事务还没有被写往日志之前关闭了产生该事务的用户连接。
----有这样一种情况可以强迫缓冲日志数据库写出它的事务信息:因为实例中只有一组逻辑日志缓冲区,当实例中的一个非缓冲日志数据库提交一个事务时,缓冲日志信息会随着非缓冲日志信息一起被写出到磁盘上。
----在“缓冲日志”数据库环境中,每个事务所造成的磁盘I/O大大降低,因此实例会运行得较快,但是因为事务信息存储在共享内存中,严重的实例错误就会很危险,当实例的共享内存被释放时,那些还没有写到磁盘上的事务信息就都丢失了。

*非缓冲日志模式和缓冲日志模式的操作方式完全相同,其不同点在于何时将日志记录写到磁盘上,

Unbuffered Logging, Mode ANSI   ANSI模式
---- ANSI模式的操作与非缓冲日志一样,但它还强制与ANSI事务处理方式一致。ANSI一致性包括这样一些特点和规则,如对引用表的唯一属主命名,表级权限的不同缺省值,游标读和更新能力的不同,以及character和decimal数据类型对数据类型越界或定义语句如何反应的不同。
*OnLine Dymanic Server在ANSI数据库环境中并不严格强制遵从所有的ANSI标准,如果你执行一条非ANSI的SQL语句,实例会产生一条警告信息,但仍然往下处理。除非操作环境要求使用ANSI标准,否则使用ANSI模式不会得到任何好处。

用ontpae改变日志模式:
ontape –N sales将数据库”sales”从-U,-B,-A其中一种模式改变到-N模式,

ontape  –U sales将数据库”sales”从-N改变到-U模式,

ontape  –B sales将数据库”sales”从-N改变到-B模式,
ontape  –A sales将数据库”sales”从-N改变到-A模式,
*ontape工具在-U,-B,-A三种模式中任何一种改变到另一种不需创建系统备份;
要完全从不带日志模式改成带日志模式,或者反过来,需要创建一个0级备份;

用ondblog改变日志模式:
ondblog工具只是设置一个标志,表示在下次0级备份之后将数据库日志模式改成什么。

ondblog工具的选项如下:
nolog 将数据库改为不带日志模式
unbuf 非缓冲日志
buf 缓冲日志
ansi ANSI日志模式
cancel 取消前面作出的改变日志模式的请求

附加选项:
1.用空格相隔的一些数据库名,这些数据库的日志模式将被改变。
2.–f选项跟一个文件名,该文件中包含要改变日志模式的数据库名,这些数据库名在文件中单独列出,一个占一行。
*如果没有–f加文件名,也没有列出用空格相隔的数据库名,ondblog工具在下一次0级备份之后将把实例中所有数据库都改成所要求的日志模式。
* 不管是使用ontape工具,还是使用ondblog 和ontape的组合改变数据库的日志模式,该实例都不必处于quiescent状态,但是在试图改变日志模式的时候,不能有任何活动用户线索连接在该实例上。否则的话,就会产生一个”-107”号错误。
* 如果ontape命令已经执行来改变数据库的日志模式,而中途又将其中断,则就用户连接来说,该数据库仍然是关闭的,直到创建一个完全的实例备份为止,不管是否要改变日志模式

通过下面语句查看数据库的日志模式

echo "select  * from sysdatabases"|dbaccess sysmaster

时间: 2024-10-10 04:25:10

ondblog 修改informix日志模式的相关文章

informix数据库的日志模式

今天操作数据库进行批量DML操作的时候,报了一个以前没有见过的错误, java.sql.SQLException: No Transaction Isolation on non-logging db's,特此写一遍记录一下自己的解决过程. 首先,我从上述报错看出大体就是此库不记录日志,但是以前我们的事务操作是一定会有日志的.所以展开了如下搜索. 1,查看日志模式: onmonitor --> Logical-logs -->Databases  看各个库的 Log Status 一看,状态果

oracle修改归档日志路径

一:先查询数据库是否开启归档模式: SQL> archive log list;                                                                    ----已经开启归档模式Database log mode        Archive ModeAutomatic archival        EnabledArchive destination        USE_DB_RECOVERY_FILE_DEST----修改此归

ext3日志模式

ext3日志模式 http://blog.sina.com.cn/s/blog_5d4ab4b40100dosx.html ext3支持多种日志模式 ext3 是ext2文件系统的高一级版本,完全兼容ext2,与ext2主要区别便是具有快速更新文件的存储功能.计算机自磁盘上读取或写入数据开始就必须保证文 件系统中文件与目录的一致性,所有日志文件中的数据均以数据块的形式存放在存储设备中,当磁盘分区时文件系统即被创建,按照文件形式.目录形式支持存储数 据和组织数据.Linux的文件和目录采用层次结构

oracle修改bdump日志存放路径

修改bdump日志存放路径,需要重启数据库, 10G版本才有这参数, 11G就取消了这参数 目的:oracle数据库有时因异常情况产出大量的日志文档,而存放路径的磁盘空间设置不当,如放在容量小的位置上,很容易引起磁盘空间满的情况发生,引起oracle无法写入跟踪日志的异常情况. 查看存放路径:show parameter background_dump_dest; 修改路径:alter system set BACKGROUND_DUMP_DEST='/oradata/jmhrms_dumplo

有意思的代码--利用系统信号切换日志模式

看到Kite里面的源码,有段代码挺有意思. 上代码先: // SetupSignalHandler listens to signals and toggles the log level to DEBUG // mode when it received a SIGUSR2 signal. Another SIGUSR2 toggles the log // level back to the old level. func (k *Kite) SetupSignalHandler() { c

修改目录还原模式密码

有些时候,在我们交接的时候,一般都会想到域管理员密码,往往会忽略目录还原模式(DSRM)的密码,但当我们需要的时候,可能已经过去很久了,在去问前任,基本上就是白问:或者有时候我们为了安全考虑也会经常的去修改目录还原模式的密码. 注意:修改目录还原模式的密码一定要在正常模式下更改,在目录还原模式下会报错的: 1.以管理员身份运行"CMD"或"PowerShell",我这里运行的是"CMD":输入"Ntdsutill"然后按回车&

允许用户修改Subversion日志的钩子脚本 (linux)

程序员提交代码到SVN后 发现日志错误 需要修改,但无权限 错误提示"此版本库不允许修改版本属性,请管理员创建pre-revprop-change 钩子" 按提示进行操作,SVN 服务器在linux环境下,进入/svndata/项目/hooks 复制模板文件 pre-revprop-change.tmpl 改名为:pre-revprop-change, 并赋予权限755 此时就可以支持修改日志了

oracle rac 11g修改开启归档并修改归档日志路径

1.修改归档路径参数 sqlplus / as sysdba SQL> alter system set log_archive_dest_1='location=+ASMARCH' scope=spfile sid='*'; 2.关闭数据库,全部节点都要关闭 srvctl stop database -d racdb 3.将一个节点数据库启动到mount状态5并修改数据库的归档模式并启动数据库 srvctl start instance -d racdb -i racdb2 -o mount

Linux下查看显示器输出状态以及修改显示器工作模式(复制 or 扩展)

//关闭显示器VGA1xrandr --output VGA1 --off //开启显示器VGA1xrandr --output VGA1 --auto //关闭显示器LVDS1xrandr --output LVDS1 --off //开启显示器LVDS1xrandr --output LVDS1 --auto //打开VGA1,同时关闭LVDS1xrandr --output VGA1 --auto --output LVDS1 --off //关闭VGA1,同时打开LVDS1xrandr