Informix版本:7.31.TC2
操作系统版本: windows 2003 sp2
IP地址:
端口:1526
进入Informix Dos命令窗口
菜单路径:程序->Informix->ol_jlgl
检查数据库状态
执行命令: netstat -an|findstr 1526
检查数据库端口1526是否在监听,如果发现有下面内容,则说明数据库已经正常启动。
TCP 10.9.143.13:1526 0.0.0.0:0 LISTENING
启动数据库
(1) 在服务中停掉"Informix Dynamic Server Message Service"和"Informix Dynamic Server – ol_jlgl"服务,将这2个服务的启动方式改为手动。
(2) 手工执行命令:oninit
运行远程桌面,使用Informix用户连接到10.10.10.10
点击桌面上的ol_jlgl图标
在打开的DOS窗口中执行oninit
不要关掉该窗口,如果关掉该窗口则数据库也相应关掉了。
数据库启动完成后不要选择注销退出,直接关闭远程桌面程序即可(右上角叉叉)
启动Informix数据库后用下面命令检查数据库状态
另外打开1个ol_jlgl的DOS窗口,执行
onstat - 显示数据库状态信息
执行结果应该如下,状态为On-Line则数据库已经启动完成
C:\> onstat -
Informix Dynamic Server Version 7.31.UC3 -- On-Line -- Up 17 days 05:41:04 -- 5631976 Kbytes
关闭数据库
运行远程桌面,使用Informix用户连接到10.10.10.10,必须连接到oninit程序正在运行的那个远程桌面连接,如果未看到该进程执行窗口,可执行“任务管理器->用户”中连接到另外1个远程桌面中执行。
点击桌面上的ol_jlgl图标
在打开的DOS窗口中执行命令:onmode -ky
备份数据库
执行命令:ontape -s -L 0
需要在跟启动oninit命令的同一个远程桌面连接中做。
需要配置onconfig文件的TAPEDEV参数,指定备份的文件。
恢复数据库
(1) 执行命令:ontape –r
遇到如下提示,输入如下字符后回车:
Continue restore? (y/n)y [输入y]
Do you want to back up the logs? (y/n)n [输入n]
(这一步要等待5分钟左右)Restore a level 1 archive (y/n) n [输入n]
Do you want to restore log tapes? (y/n)n [输入n]
(2) 执行命令:onstat -
这时,显示数据库状态为Quiescent
(3) 执行命令:onmode –m
(4) 执行命令:onstat –
这时,显示数据库状态为online
数据一致性检查和索引修复
常用选项有:
oncheck -ce 检查Chunks 和extents
oncheck -cd 检查数据行
oncheck -ci 检查索引值
oncheck -cI 检查索引值和rowid
oncheck -cr 检查系统保留页
oncheck -cc 检查系统目录表
检查点切换逻辑日志断开指定进程
onmode -ky 关闭Informix数据库
onmode -c 强制检查点动作
onmode -l 切换逻辑日志到下一个逻辑日志文件
onmode -z 断开指定的会话
onmode -F 释放多余的内存
onmode -a 动态分配内存
监视数据库状态命令
onstat --help 显示所有信息help
onstat - 显示数据库状态信息
onstat -l 显示物理日志和逻辑日志信息
onstat -g ses 显示用户会话信息
onstat -g ses 显示单个会话线索信息
onstat -g sql 显示sql语句
onstat -g sql 显示单个会话sql语句
onstat -k 显示锁信息
onstat -x 显示事物信息
onstat -d 显示数据库空间使用信息
onstat -D 显示CHUNK读写信息
onstat -c 显示配置信息
onstat -m 显示online.log最后20行信息
onstat -p 显示性能信息
onstat -r 周期性重复显示信息
onstat -u 显示用户信息
onstat -z 将所有统计值置为0
onstat -g ath 显示线程
onstat -g seg 显示内存信息
onstat -g rea 显示等待线程
onstat -g act 显示活动线程
onstat -g iof 显示CHUNK读写信息
onstat -g ioq 显示AIO队列信息
onstat -g ntu 显示网络端口读写信息
onstat -g ntd 显示线程读写信息
数据库错误码查询方法
Informix的错误码可通过命令finderr查询错误详细信息,该命令在安装目录的bin目录(如c:\informix\bin)下。
c:\> finderr 107 查询错误代码107的详细信息
c:\> finderr 显示其帮助
数据库管理工具
c:\> dbaccess
dbspace添加新的chunk
当数据库空间满时,通过给dbspace增加新的chunk来扩充空间。
执行命令:onspaces -a sbwj -p c:\ifmxdata\on73_app\sbwj4.dat -o 0 -s 300000
给sbwj新增一个300M(300000K)的chunk,chunk文件名是c:\ifmxdata\on73_app\sbwj4.dat。
执行命令:onstat –d,查看当前的dbspace和chunk。
Informix数据库自动备份配置方法
在c:\informix目录下创建2个文件: CRLF.txt和backup_on73.bat
CRLF.txt的内容是1个空行,包含1个回车
backup_on73.bat的内容如下:
该文件先将数据库用ontape备份到d:\informix_bak\on73_app.bak,然后将根据文件生成的时间改为带日期和时间的文件名,例如on73_app.2010-07-07_10_16.bak;然后自动删除超过30天的*.bak文件。
set INFORMIXDIR=C:\Informix
set INFORMIXSERVER=on73_app
set ONCONFIG=ONCONFIG.on73_app
set PATH=C:\Informix\bin;%PATH%;
set INFORMIXSQLHOSTS=\\SERVER3
set DBTEMP=C:\Informix\infxtmp
set CLIENT_LOCALE=EN_US.CP1252
set DB_LOCALE=EN_US.8859-1
set SERVER_LOCALE=EN_US.CP1252
set DBLANG=EN_US.CP1252
@rem online backup to d:\informix_bak\on73_app.bak
ontape -s -L 0 < c:\informix\CRLF.TXT
@rem rename on73_app.bak to yyyy-mm-dd_hh_mm.bak
d:
cd d:\informix_bak
FOR %%V IN (on73_app.bak) DO FOR /F "tokens=1-5 delims=/: " %%J IN ("%%~tV") DO IF EXIST %%J_%%K_%%L%%~xV (ECHO Cannot rename %%V) ELSE (rename %%V on73_app.%%J_%%K_%%L%%~xV)
@rem del *.bak older than 30 days
forfiles /p "d:\informix_bak" /s /m *.bak /d -30 /c "cmd /c del @path"
在Windows的“任务计划”中添加任务
菜单路径为:所有程序->附件->系统工具->任务计划
双击“添加任务计划”
在“任务计划向导”中点击“下一步”
点击“浏览”
设置自动执行程序的路径为c:\informix\backup_on73.bat
选择“每天”
设置起始时间为6:00
设置informix用户的口令
在“在单击完成时,打开此任务的高级属性”上打勾
在“任务”中可以查看运行的程序路径
在“日程安排”中可以查看计划任务的开始时间
在任务计划窗口中可以看见新的任务计划创建成功。
每天备份文件之前需要使用onstat -m命令检查当天的备份是否成功,如下图所示表示备份成功。