ADD DB2_FENCED ‘N’
);
TYPE “ORACLE”
VERSION ’11’
WRAPPER “orclwp”
OPTIONS (
ADD NODE ‘orcl’ —tnsname.ora设置的名字
);
ADD REMOTE_AUTHID ‘hq’,
REMOTE_PASSWORD ‘hq’
);
量化自我和极简主义的窝藏点
环境: redhat 5, DB2 V9.7
今天在导tpch的数据时 db2 “import from ‘customer.tbl’ of del modified by coldel| insert into customer”
发现无法导入数据并报错:SQL0964C The transaction log for the database is full
查询错误db2 ? SQL0964C提示交易日志过小
对这种场景有两种方式来处理:
1. 调整LOGFILSIZ, LOGPRIMARY, LOGSECOND这三个参数
2.绕过缓存使用load来导入db2 “load from ‘customer.tbl’ of del modified by coldel| codepage=1208 insert into customer”
1. 查询表函数snaphot_tbs_cfg
db2 “select (SUM(total_pages)*4)/1024.0/1024 TOTAL_ALLOCATED_SPACE_IN_GB from table (snapshot_tbs_cfg(‘dbname’,-1)) TBS_SPCE”
2. 调用存储过程get_dbsize_info
db2 call get_dbsize_info(?,?,?,?,0)
首先创建一个目录用于存放事件监控,例:
[db2inst1@esi-202 ~]$ mkdir emondir
创建一个sql语句的事件监控
[db2inst1@esi-202 ~]$ db2 “create event monitor emon1 for statements write to file ‘/home/db2inst1/emondir'”
启动emon1
[db2inst1@esi-202 ~]$ db2 “set event monitor emon1 state 1”
查看事件监控生成的内容:
[db2inst1@esi-202 ~]$db2evmon -path emondir
查看事件监控启动情况:
[db2inst1@esi-202 ~]$db2 “select evmonname, event_mon_state(evmonname) from syscat.eventmonitors
关闭emon1
[db2inst1@esi-202 ~]$ db2 “set event monitor emon1 state 1”
删除emon1
[db2inst1@esi-202 ~]$ db2 “drop event monitor emon1′”
Oralce : 缓冲池 alter system flush buffer_cache; 数据字典池 alter system flush shared_pool;
DB2 : 缓冲池 db2pdcfg -db sample -flushbp (V >= 9.5)或db2 flush bufferpools(V >= 9.8) 数据字典池 db2 flush package cache dynamic
环境: windows XP, solidDB, Datastore Replication Engine( InfoSphere CDC for solidDB, InfoSphere CDC for DB2), InfoSphere CDC Access Control, InfoSphere CDC Management Console. DB2 V9.7 Express-C
1. 安装solidDB 和 DB2 V9.7 Express-C
2.设置solidDB安装目录的配置文件solid.ini,在[LogReader]下添加
LogReaderEnabled=yes
MaxLogSize=10240
MaxSpace=100000
为DB2设置日志归档(update db cfg using LOGARCHMETH1 DISK:D:\\DB2\\NODE0000\\logarchmeth\\) C:\\Documents and Settings\\rand>db2 get db cfg | findstr /i “logarchmeth1”
First log archive method (LOGARCHMETH1) = DISK:D:\\DB2\\NODE0000\\logarchmeth\\
3.安装InfoSphere CDC for solidDB,配置solidDB Instance
4.安装 InfoSphere CDC for DB2并配置Data Server node
5. 最后安装InfoSphere CDC Access Control 和 InfoSphere CDC Management Console
6. 启动solidDB instance 和 Data Server instnace
7. 登录至InfoSphere CDC Management Console
输入之前安装InfoSphere CDC Management Console时提供的用户和密码
8. 在该界面上Access Manager添加源和目标的datastore.
9. 在Confiugration添加subscription. (右击,出现New Subscription) (注:不知怎么回事,登录进去后一直显示New Subscripiton为灰色,无法使用,偶然在File–>Access Server —> disconnect后再登录进来才可以使用)
环境: RHEL 5, DB2 V9.7 Enterprise
使用db2inst1用户登入,创建一个数据库,在命令行中输入 db2 create database toolsdb automatic storage yes, 成功后输入db2 create tools catalog systools use existing database toolsdb, 然后使用默认的用户dasusr1登录到系统,关掉DAS服务, db2admin stop, 接着启动服务 db2admin start
环境:winXP, DB2 9.7
C:\\Documents and Settings\\rand>db2 get dbm cfg | findstr /i “authentication”
Server Connection Authentication (SRVCON_AUTH) = NOT_SPECIFIED
Database manager authentication (AUTHENTICATION) = SERVER
srvcon_auth —> 指定当处理服务器上的入局连接时如何进行用户认证以及在何处进行用户认证,如果未指定值,则DB使用 authentication 数据库管理器配置参数的值。
authentication —-> 数据库管理器连接配置,连接实例的使用该方式。
分割镜像是对那些含有数据库数据的镜像磁盘里面数据库的“瞬时”拷贝,当需要数据库的备份拷贝的时候,将镜像分割。进行镜像是一个将数据库中的所有数据同时写入两个独立的磁盘(或者是磁盘子系统)的处理过程;其中一个磁盘/子系统保存数据库数据,另一个磁盘/子系统则保存对前一个磁盘/子系统的精确备份(被称为镜像)。镜像的分割只是将数据库的主拷贝和副拷贝相互分离开来。
在DB2数据库的分割镜像拷贝能够被使用之前,必须首先将其初始化;一个分割镜像数据库拷贝可以通过执行系统命令db2inidb来进行初始化。这个命令的语法如下:
db2inidb [DatabaseAlias]
AS [SNAPSHOT | MIRROR | STANDBY]
可以以如下三种方式中的一种来初始化:
* SNAPSHOT(快照) 数据库的分割镜像拷贝可作为基本数据库的克隆来初始化。(它可成为一个拥有自己的事务日志文件的工作拷贝)
* MIRROR(镜像) 数据库的分割镜像拷贝可作为恢复基本数据库使用的备份镜像来初始化。
* STANDBY(备用) 数据库的分割镜像拷贝可被初始化,并被设置为向前回滚的未决状态,这样它就总是可以与基本数据库保持同步。(在任何时间里,基本数据库产生的新的日志都可被检索,并且可被应用到数据库拷贝中。)因此,当基本数据库由于某些原因而崩溃时,数据库的备用拷贝就可以接替基本数据库的位置了。
下面介绍Mirror步骤过程:
1. 确定启动该数据库归档进程 (设置logarchmeth1)
2. 挂起数据库的I/O (set write suspend for database)
3. 使用OS命令拷贝该数据库的存储文件,不包括日志归档文件
4.恢复数据库的I/O (set write resume for database)
5. 假设该数据库破坏,将之前备份的副本覆盖到该数据库
6. 启动实例db2start
7. 初使化数据库 ( db2inidb [dbalias] as mirror)
8, 应用日志归档文件 ( rollforward db [dbalias] to end of logs and stop)
环境: Windows XP, DB2 V9.7
DB2有删除模式的语句drop schema xxx restrict, 但只能在该模式没有对象的情况下才能执行。因此就有一个存储过程ADMIN_DROP_SCHEMA用于删除模式下的对象和模式本身。其语法为:ADMIN_DROP_SCHEMA(schema, dropmode,errortabschema, errortab)。例如: db2 call admin_drop_schema(‘DB2ADMIN’,NULL, ‘ERRORSCHEMA’, ‘ERRORTABLE’), 这个过程不支持删除nicknames ,packages ,typed tables