混乱的整理了些个人理解的DB2有关的概念。不成系统,但 陆陆续续会放在这。有了这些对DB2基本的概念,后面的学习才有脉络可寻。
环境变量搜索顺序:
DB2启动时,按先环境变量 ,再全局级注册变量,最后实例级注册变量的顺序来搜索.
DB2环境变量文件:
# find . -name db2profile
./home/db2inst1/sqllib/
db2profile
# find . -name db2cshrc
./home/db2inst1/sqllib/
db2cshrc
将db2profile(Bourne或Korn shell)或db2cshrc(C shell)
添加到.login或.profile UNIX初始化文件中即生效.
关于实例:
Windows下,安装时,
db2将作业数据库管理器的
初始实例. 此实例由
db2instance环
境变量定义.作为服务存在必须保证创建的实例名与存在的服务名不相同.
Linux下.要想创建实例,
首先要创建和实例名一样的用户和所属的组.
主要是因为要用此用户的home目录来作业实例目录,存入实例目录结构. 如果用户不存在,则创建实例会报错.
关于体系结构:
系统-->多个db2实例-->每个实例可以管一个或多个数据库
一个数据库只属于一个实例.每个实例都是一个独立的运行环境.可以编目数据库和设置配置参数。
关于块:
块(block) Windows 1KB UNIX/Linux 512字节
而操作系统最小存储单位是数据页(datapage)
为保证吞吐量
多个页 --> extent--> 多个容器 container --> 表空间 tablespace。
关于节点:
节点目录的作用相当于netca netmgr
客户机要连接一个或多个远程数据库,就要维护一个节点目录.
节点目录默认在实例目录下. SQLNODIR和SQLNOBAK.
SQLNOBAK是前一个的备份.
相关命令:
db2 list node directory
db2 catalog TCPIP
node n1
remote 17.18.2.11
server 5000
uncatalog node n1
关于系统db目录:
系统数据库目录是访问数据库的入口,先在目录中看库是否存在,然后是本地的还是远程的
db2 list db directory
db2 catalog db mydb
as yourdb
at node mynode
db2 uncatalog db sample1
系统数据库目录默认在实例目录下.
sqldbdir sqldbbak sqldbins
sqldbbak是sqldbdir的备份
sqldbins只有分区数据库才会用到
本地系统数据库目录内容
db2 list db directory on c:
客户端与服务器通信步骤:
客户机->节点目录(确定机器,连接服务名,端口)->数据库目录(确定节点目录对应机器的数据库名)
MAIL:xcl_168@aliyun.com