《InformixDBA培训教程.ppt》由会员分享,可在线阅读,更多相关《InformixDBA培训教程.ppt(41页珍藏版)》请在优知文库上搜索。
1、Informix DBA 培训教程服务器的组成服务器的组成 动 态 服 务 器 体 系 结 构 共 享 内 存驻留段 缓冲区和其它数据结构 虚拟段 用于支持进程、对话过程和线索的内存池 消息段 用于C/S间利用共享内存的通讯缓冲区 磁磁 盘盘 进进 程程 oninit (VP)oninit (VP)一些重要基本术语1、chunk 用以指定给online系统的有效物理磁盘空间单元。2、page online系统的基本I/O单位,chunk以页(page)为基本单位。根据OS不同而不同,一般为 2K bytes。3、dbspace 逻辑上的概念,多个chunk的集合逻辑上构成dbspace, 用于
2、存储数据库、表、系统信息以及物理日志和逻辑日志。一个数据库空间至少包括一个chunk。4、extent 为表分配连续磁盘空间是以extent为单位进行的。最小值4 page。5、tblspace 一个tblspace是只分配给一个特定表的所有页的集合。 6、logical log 由logical log files所组成,用来记录 transaction 的信息。7、physical log 保存每笔记录被更改前的信息,以便于恢复。8、checkpoint 将在buffer中被更改的数据回写到磁盘,以保持数据一致。OnLineOnLine有下面几种模式有下面几种模式 脱机(offline)
3、:OnLine根本没有运行,没有任何共享内存被分配。联机(OnLine) :系统已启动,允许用户访问数据库。静止(Quiescent):系统已启动,但不允许DBA以外的用户访问。关闭(shutdown) :允许当前用户运行结束,但不允许再连接新用户。恢复(recovery) :系统正处于快速恢复或系统备份恢复的过程中。 数据库启动语法:语法:oninit -s -p -yoninit -s -p -yoninit 将系统从off-line模式转换为on-line模式oninit s 将系统从off-line模式转换为quiescent模式oninit p 在共享内存初始化时不搜索,删除临时表o
4、ninit y对于提示自动回答yesoninit -键入此命令可以获得帮助 数据库关闭语法:语法:onmode -k -m -y -c -l -zonmode -k -m -y -c -l -zonmode k 执行immedate shutdown,将系统变为off-line模式onmode m 将系统从quiescent模式转换为on-line模式onmode s 将系统从on-line模式转换为quiescent模式onmode y 对于提示自动回答yesonmode c 进行检查点onmode l 切换到下一个日志onmode -z 删除指定的会话idonmode - 键入此命令可以获
5、得帮助 磁盘空间管理磁盘空间管理 每个online必须有一个rootdbs create database 需指定存放哪个 dbspace 上,未指定则存放于rootdbs。 dbspace 可以随时新增或删除,但rootdbs 不能删除 temp dbspace 主要是专门存放 temp table 及 declare cursor创建数据库存储空间创建数据库存储空间语法:语法:onspaces c -d -o -s -t -p -c创建dbspace -d dbspacedbspace名 -o offset 偏移量(KB) -s size dbspace大小 -t 创建临时 dbspace
6、 -p chunk设备的全路径名 onspaces -c -d dbs2 -o 0 -p /data/ifx301 s 60000 #增加60M数据空间dbs2增加或删除数据库空间增加或删除数据库空间语法:onspaces -a d -m -o -p-a spacename为dbspace新增chunk-m pathname镜像设备的全路径名和偏移量-o offset 主设备的偏移量-p pathname chunk设备的全路径名-s size chunk的大小-d spacename 删除chunkonspaces -键入此命令可以获得帮助 onspaces -a dbs2 -o 0 -p
7、/data/ifx302 s 60000 #在dbs2增加一个60M chunkonspaces -d dbs2 #删除dbs2注:删除数据库空间时,必须保证它是无用的。 使用onmonitor管理dbspace$ onmonitor Dbspaces Create -增加dbspace$ onmonitor Dbspaces Add_chunk -增加chunk$ onmonitor Dbspaces Drop -删除dbspace查看dbspace信息 onstat d -磁盘空间的使用情况,包括DBSPACE和CHUNK的信息 onstat g iof -显示各数据空间IO读写情况 In
8、formixInformix日志管理日志管理 用用onparamsonparams命令进行日志管理命令进行日志管理 语法:语法:onparams s d p -d -s -l -a 新增逻辑日志 -d dbspace指定日志存放的dbspace -s size新日志大小 -l logid指定删除一个逻辑日志 -p 改变物理日志onparams - 键入此命令可以获得帮助 使用onmonitor进行日志管理 onmonitorParametersAdd-Log -增加逻辑日志onmonitorParametersDrop-Log -删除逻辑日志onmonitorParametersPhysica
9、l-log -修改物理日志注:只能删除关闭的逻辑日志(状态为F)。OnLine必须至少有3个可用逻辑 日志 。 新增、删除日志文件,必须完成一次0级备份。 可改变物理日志的大小和所属dbspace,但要在初始化内存后才生效。 数据库几种日志类型数据库几种日志类型无日志无日志: 若有故障,无法完全恢复,因为无事务记录,无法恢复和回滚事务缓冲日志缓冲日志: 对数据库的修改操作首先被写入缓冲区,当缓冲区写满后,刷新到硬盘。 优点:减少1/0操作次数,提高效率缺点:系统失败时,事务被丢失的可能性较大。无缓冲日志和无缓冲日志和ANSI模式:模式: 使用同样的方法操作缓冲区。事务记录首先被写到缓冲区,提交
10、后马上被刷新到硬盘。优点:安全性好,可靠。缺点:1/0操作频繁,效率低。改变日志模式改变日志模式 ontape -s U ds L 0 -将ds数据库改为无缓冲日志模式 ontape -s N ds L 0 -将ds数据库改为无日志模式 ontape -s B ds L 0 -将ds数据库改为缓冲日志模式查看日志信息查看日志信息利用onstat -l命令可以查看系统中所有日志的信息 标记为A:表示该逻辑日志为新增标记为F:表示该逻辑日志为空闲标记为C:表示该逻辑日志正接受当前事务标记为L:表示该逻辑日志包含最后一个检查点标记为B: 表示该逻辑日志已备份标记为U: 表示该逻辑日志正在使用查看数据
11、库日志模式onmonitor Status databases日志备份日志备份自动备份(Auto-backup) 命令: ontape -aontape -a 系统提示所有满的逻辑日志文件都将拷贝到磁带上。连续备份(Countious-backup) 命令: ontape -contape -c 连续备份会启动一个连续运行的进程监视逻辑日志,一旦发现有满的逻辑日志就将其备份。该进程要一个专用终端和磁带机设备。 系统实时监控工具 onstatonstat - -列出所有选项 onstat u-显示目前用户信息 onstat k-显示目前lock信息onstat g sql-显示目前执行的SQLo
12、nstat l-显示physical & logical log信息onstat g ses-显示目前session 信息onstat m-显示消息日志(Online.log)的最后20行 onstat -d-显示dbspace和chunk信息onstat -p -显示系统资源状况 onstat c -显示$ONCONFIG配置文件内容dbschema dbschema 命令命令 可由 online 取出 database schema 可由 online 取出 table layout 可由 online 取出 stored procedure 可由 online 取出 Table Trig
13、ger 例: dbschema d ds t ima_file dbschema d ds ss ds.sql数据库检查工具oncheck 检查 Table data pages及 index pages有无 bad page ,以确保资料完整性。 例: oncheck cI ds oncheck cI ds:ima_file oncheck cD ds oncheck cD ds:ima_file数据导入导出 dbexport 将数据库的 data和schema导出到文件 例: dbexport -o /tmp ds dbexport -t /dev/st0 -b 16 -s 24000 d
14、s dbimport 将用dbexport导出来的数据库恢复到数据空间中 例: dbimport ds -d dbs2 -l dbimport -i /tmp ds -d dbs2 -l dbimport ds -d dbs2 -t /dev/rmt0 -b 16 -s 24000 -l 数据导入导出 unload 将数据库table的资料卸载下来 SQL语法:unload to 文件名 select 语句 如:unload to /tmp/zxy.txt select * from zxy_file load 将unload卸载下来资料加载到table SQL语法: load from 文件
15、名 insert语句 如:load from /tmp/zxy.txt insert into zxy_file 注意:使用数据导入导出命令时的环境变量要相互对应 DBDATE=Y4MD/; export DBDATE DBDELIMITER=A; export DBDELIMITER 备份和恢复备份种类: Level 0:备份全部的资料 命令:ontape -s -L 0 Level 1: 只备份 Last Level 0 到现在有更新之资料 命令:ontape -s -L 1 Level 2: 只备份 Last Level 1 到现在有更新之资料 命令:ontape -s -L 2恢复 命
16、令:ontape -r on-line 必须 shutdown , 根据提示的信息放入备份的 Tape, 重新激活 on-line。其他常用命令 onlog -显示日志信息 finderr 错误代码 -用来查询数据库的错误信息 isql onmonitor dbaccess数据更新统计优化命令:命令: UPDATE STATISTICS LOW|MEDIUM|HIGH for table tablename 如: update statistics high -对整个数据库进行优化 update statistics high for table ima_file -优化数据库中ima_file 表 Lock 管理锁的种类: Database Lock Table Lock Page Lock Row Lock Database Lock可针对 database 作 Lock, 其他 user 不能connect被 lock 的 database 例: database ds exclusive; database lock 的时机 1. dbimport 时(系统自动 lock )