12.1
大机DB2笔记
开放平台下的数据库:管理服务器有且只有一个
System_group:数据库最高权限,要将新创建的用户加到此组,才能有权限
实例的连接端口可以更改,避免攻击
本地数据库会自动编目,远程连接过来的DB不会自动编目,connect to db默认用的是系统登录名
Maxlocks查询当前所占的锁内存比例
DMS:先分配空间
SMS:存储一些小的数据
12.2
Section 3: create view
级联:检查与本view有关的所有的view约束
本地:只检查当前创建的以view的约束(创建view时)
Section 4:create alias ----代码可维护,对象别名,只要别名不变,则别名可指向改动的对象 跨平台性(不能跨数据库),透明性
存放在system.tables(无system.alias)
Section 5: add referential integrity
Alter table :修改表的各种约束条件(不能影响现有数据的情况下更改)
添加外键时引用另一个表的主键,唯一键(只能通过命令行)
Section 6: add check constraints, create a trigger
Trigger建好,不能改,删除后再重新建
SMS表空间不能通过添加容器扩大表空间,DMS可以
DMS\SMS比较
SMS所占空间小,DMS预先分配,所占空间大(EXTETSIZE在硬盘上)buffer pool在内存中分配,用alter命令改变buffer提高性能,而pool与表建立关联
做日志:以免内存中的数据丢失(非常重要)
Commit ---log buffer---disk数据保护
Database可用多个buffer pool
Sysadm_group 缺省为空,在os中为administrator,在db中也是
Inderict为本地数据库
View时没有数据的,只有定义
Create schema | set current schema一个模式,只是一些对象的集合,不设置container,缺省为实例名(ST112)必须有隐式schema权限
标识类列与表绑定,序列则不可用,都用来自动生成一些数
表空间有用户表空间和系统表空间,
创建用户临时表时,like不复制数据(view,trigger约束之类都不复制),只复制表的结构
索引
Allow reverse scans :双向扫描 order by(升降效率很高)
Include:(|张三
|李四)不违反uncique约束,用include加快搜索速度,将第二列也加入到第一列的约束,但不参加约束检查
所以(|张三
|李四)不符合约束,而不用include,则符合约束
数据的移动――――moving data(备份)
导出:必须先联到数据库,每几行提交一次,导入的时候避免失败的时候重复导入,节省时间
导入:插入模式―――追加数据(相等主键时会报错)
替换模式―――
插入更新―――更新相等主键数据
Xf格式导入可以新建一个表(在导入表时)
Compound提高性能,与日志无关,绑定每多行提交一次
Load操作
Warning count:最大warning数,超过停止load。Load表必须存在(创建exception_table先)用来存放load过程违反unique约束的数据。Dump中放invalid数据
Load同时,表也可以访问(load query table_name)
(check)pending 一定执行括号里操作pending才消失,才能继续
Wfs不支持装入,
Syscat.Tables里const_checke是否做了约束检查
循环日志 只能脱机备份表空间,不能备份数据库
Backup database tablespace
断开别的应用数据库程序,只允许备份force application all
清除check-pending状态, set integrity。。。
12.6
备份复原
1基于时间的备份
Commit先写日志,后写数据
循环归档日志可能被覆盖
归档日志:先分配好空间再用
观看日志参数loghead
Softmax=脏页数/总数
备份操作:备份buffer大小 1024 4kpage
复原(一定要离线)
重定向复原 考点:Backup 只能操作database,如果后面接着的是tablespace,那么一定是错误的。 Recovery
Recovery有三个级别:数据库级别的、表空间级别的、表级别的。
既要有recovery,又要有日志,才可以恢复到最进的交易里。
银行里肯定是归档模式,在线备份,复员的时候肯定是离线的了。 Online archive 最安全。
日志本身进行备份,一般放在不同的存储介质上,同步刷新。这就称为mirrorlog
做备份需要权限,数据库管理员有这个权限。
默认的备份buffer-size是1024个4K page。
连机备份,复原一定要前滚。 脱机备份,可以不前滚。
后缀名“.3”表示对表空间的备份。
后缀名“.001”表示1级备份。
唐sir:“复原的buffer和备份的buffer应该是一样的”
复原的时候可以选择复原表空间。
复原表空间可以前滚到某一时间点。
一般是任务表来做表空间的备份复原。
前滚可以选择前滚到本地时间(需要写:“using local time”)、GMT时间(默认)、服务端时间、客户端时间。 或者选择前滚到日志尾。
End of logs、 point in time 、 online backup、tablespace point in time
理论上: 数据已经写在硬盘上了,则日志就不需要了。 数据在buffer pool里,需要写日志。
唐:“备份复原是个很复杂的问题。”
12.7
锁
Update和references权限可以基于列上的操作
Section2 lock timeout
等待另一事件完成的最大时间(缺省为-1,永远等待)
-tf执行教本语句(在同一目录下)
事例重启时monitor开关重置
操作同一行时只允许读,其他不允许操作同时进行
Section 3 deadlock
Deadlock time < locktimeout
Db2agent(数据库别名)
System monitor监视对象
注意event monitor可监视对象
Event monitor 后的where语句只有3种,connection,statements,
Health monitor
Db2stop force会将没有提交的事务回滚
隔离级别只对于读的情况
Application alternative
12.8
嵌入式sql语句不直接自动commit提交
脏页百分比: chngpgs_thresh
搬运工数量 num_iocleaners
大机下的db2
创建的表默认在starge group卷下(db所在卷)
Sql语句在大机环境下自动提交
Pc预编译
DBRMLIB bind package
//空格JCLLIB

