DB2 UDB V8.1管理学习笔记(二)

正在看的db2教程是:DB2 UDB V8.1管理学习笔记(二)。表空间类型分为SMS和DMS,分别是system management space, database management space. SMS使用方便,简单,无需手工创建和维护数据存储文件。DMS需要手动指定container和存储数据的文件名,并保证有足够磁盘空间可用。 
  对于一个数据库,至少存在一个page size为4K的系统临时表空间,可以额外建立具有更大page size的用户临时表空间,系统会自动进行使用。
  无法用alter语句更改一个字段的数据类型,对某些字段可以更改数据长度,这一点上相对于Oracle,DB2的限制要多一些。
  可以使用: select 表达式 from sysibm.sysdummy; 替代的,以下语句是等价的:values 表达式;
  表和视图的创建、更新、删除操作,都写日志,因此可以commit或rollback。
  在update语句中,如果没有对定义了默认值的某个字段显式赋值,则更新时,此字段不会重新执行默认值中定义的表达式。为了让其重新执行默认值定义的表达式,可以采用以下方式:
  create table t1 (c1 varchar(32), lastupdatetime with default current timpstamp);update t1 set c1 = 'new string', lastupdatetime = default;
  对于DB2数据库可以在创建时指定codepage参数,创建后不可修改。当应用程序访问数据库时,DB2会比较两者的codepage是否一致,不一致则进行代码页的自动转换。为了减少转换所带来的开销,应尽量保证应用程序所采用的代码页与数据库一致。
  可以对DB2 CLP工具的codepage进行设置,使用:
  $ db2set DB2CODEPAGE= 1386
  本例中设置的是中文GBK字符集在Windows平台对应的值。注意,这个数字值是由DB2自己定义的。有关各种字符集在相应平台所对应的代码页值可在IBM网站查找。
  在DB2 CLP中,对远程数据库编目的操作,首先把远程主机映射为本地节点,节点名自己指定,本例采用TCPIP连接。service_name一般定义在远程主机的/etc/services文件中。
  $ db2 CATALOG TCPIP NODE local_node_name REMOTE hostname|ip SERVER service_name
  然后把已知的远程主机的数据库映射到本地别名,注意本地别名在主机级别不能重复。节点名指定上面刚编目的节点。
  $ db2 CATALOG DATABASE db_name AS local_alias AT local_node_name USER username USING password
  现在就可以用刚才编目中定义的别名连接远程主机数据库
  $ db2 CONNECT TO local_alias USER username USING password
  获取数据库详细配置信息
  $ db2 GET CONFIGURATION SHOW DETAIL
  对于DB2返回的错误号,可以用以下方法查阅说明(以sql 10008为例):
  $ db2 ? sql10008
  数据库的备份与恢复:
  使用备份与恢复工具可以完成在不同的服务器见完整的转移数据库的工作,命令行方式如下:
  备份
  $ db2 BACKUP DATABASE db_name USER user_name USING password to backup_dir_name$ db2 BACKUP DATABASE dlhdb USER dlh USING admindlh TO d:\backups
  恢复
  $ db2 RESTORE DATABASE source_db_name USER user_name USING password FROM backup_dir_name TAKEN AT backup_file_create_time TO driver_letter INTO new_db_name$ db2 RESTORE DATABASE dlhdb USER dlh USING admindlh FROM d:\backups TAKEN AT 20031209141056 TO d: INTO newdb
  有关实例的操作:
  设置默认实例环境变量
  $ db2 SET DB2INSTANCE=inst_name
  启动当前实例
  $ db2start
  停止当前实例
  $ db2stop [force]
  连接到某个实例
  $ db2 ATTACH TO ANSTANCE inst_name
  获取实例的配置参数
  $ db2 GET DBM CFG SHOW DETAIL
  导出数据库完整的定义到脚本文件,包括表,视图,函数,数据库参数等
  $ db2look -d sample(数据库) -a -e -l -x -m -f -o(参数)samplesql.out(输出文件)
  load 一个表的数据时,有可能导致表空间处于backup pending(0x0020)状态。比如把整形数据load到double型的字段中。
  处于backup pending状态的表空间不能被访问。
  可以通过对此表空间运行一次backup操作,恢复到正常状态(0x0)。
  对于自增字段,可以通过两种方式指定:
  generated by default as identitygenerated always as identity
  区别是,第一种方式在插入数据时允许手工指定自增字段的值,只要不重复即可,并且数据库会自动设置下一个值;
  第二种方式则不允许指定,只能由数据库自动分配并插入。
  DB2 sql语句中转义符的使用:
  select * from t1 where a like '%abc\%def' escape '\';
  创建数据库时,出现SQL1043C错误,可能的问题:
  指定容器所在的磁盘空间不足,
  当容器为file类型时,后面的long-num参数不对,比如25600代表256Mb,但如果指定256则会导致以上错误。
  平台 RH Linux 8
  DB2 UDB v8.1
  在WAS 5中建立到db2的数据源,但连接失败,返回以下错误:
  [Servlet Error]-[SQLConnect]: java.lang.UnsatisfiedLinkError: SQLConnect
  原因是没有

[1] [2] 下一页

正在看的db2教程是:DB2 UDB V8.1管理学习笔记(二)。为运行was服务的用户设置以下环境变量:
  D_LIBRARY_PATHLIBPATHDB2INSTANCE...
  以上环境变量定义在 $INSTHOME/sqllib/db2profile文件中,可以采用的解决方案:
  $ sh stopServer.sh servername$ . $INSTHOME/sqllib/db2profile$ sh startServer.sh servername
  也可以把db2profile放到was启动脚本中首先执行。
  如果只设置了LD_LIBRARY_PATH,LIBPATH两个环境变量,DB2会返回以下错误:
  CLI0600E Invalid connection handle or connection is closed.SQLSTATE S1000
  对应于Oracle的Job包功能,DB2通过一个GUI工具-任务中心(task center)实现。使用任务中心前需要进行必要的工具设置,需要创建一些数据库对象,可以创建在已有的一个数据库中,也可以单独创建一个数据库。通过以下命令实现:
  create catalog tools schema_name create new database db_name
  此命令为编目工具创建一个名为db_name 的数据库,并指定了一个模式名。
  注意:无法用using 子句指定一个codeset,系统会默认使用ISO8859-1字符集。
  Quest Center for DB2带有数据库性能诊断功能,动态监视db内存,磁盘io, 表空间,负载等等。
  DB2客户端的类型:
  DB2运行时客户端 DB2 Runtime Client
  DB2管理客户端 DB2 Administrator Client(包含运行时客户端的所有内容)
  DB2应用程序开发客户端 DB2 Application Development Client(包含管理客户端的所有内容)
  DB2瘦客户端 DB2 Thin Client
  DB2 Relational Connect 联邦数据库,用于连接异种数据库。

上一页  [1] [2] 

(0)

相关推荐

  • DB2 UDB V8.1管理学习笔记(二)

    正在看的db2教程是:DB2 UDB V8.1管理学习笔记(二).表空间类型分为SMS和DMS,分别是system management space, database management space. SMS使用方便,简单,无需手工创建和维护数据存储文件.DMS需要手动指定container和存储数据的文件名,并保证有足够磁盘空间可用.  对于一个数据库,至少存在一个page size为4K的系统临时表空间,可以额外建立具有更大page size的用户临时表空间,系统会自动进行使用. 无法用

  • DB2 UDB V8.1管理学习笔记(一)

    正在看的db2教程是:DB2 UDB V8.1管理学习笔记(一). DB2 基本概念 在DB2中由上至下的几个概念: 实例(Instance), 数据库(Database), 表空间(TableSpace), 容器(Container) 在一个操作系统中,DB2数据服务可以同时运行多个实例(有别于Oracle在一个系统内只能起一个实例). 数据库定义在实例中,一个实例可以包含多个数据库.在同一个实例中的不同数据库是完全独立的,分别拥有自己独立的系统编目表. 表空间有2种管理方式: DMS(Dat

  • DB2 UDB V8.1管理学习笔记(三)

    正在看的db2教程是:DB2 UDB V8.1管理学习笔记(三).强制断开已有连接,停止实例并删除.  $ db2idrop -f instance_name 用于在UNIX下迁移实例. $ db2imigr instance_name 更新实例,用于实例获得一些新的产品选项或修订包的访问权. $ db2iupdt instance_name 获取当前所处的实例. $ db2 get instance 当更新实例级别或数据库级别的参数后,有些可以立即生效,有些需要重新启动实例才可生效.immed

  • Bootstrap3学习笔记(二)之排版

    在上篇文章给大家介绍了BootStrap3学习笔记(一)之网格系统 对于标题,Bootstrap已经修改了h1--h6的样式,如果需要副标题,还可以在其中使用small标记 <h1>h1. Bootstrap heading <small>Secondary text</small></h1> <h2>h2. Bootstrap heading <small>Secondary text</small></h2>

  • Flutter学习笔记(二)创建一个flutter项目

    目录 开发环境 实践 运行 网络环境配置 (1)进入packages\flutter_tools\gradle 文件夹,然后打开flutter.gradle文件.目录如下图所示: (2)进入 flutter\packages\flutter_tools\gradle 文件夹,然后打开resolve_dependencies.gradle文件,目录如下: 本文就是利用androidstudio创建一个flutter项目并且成功运行起来.其中运行的过程,可能涉及到网络环境配置的问题.觉得过于简单的朋

  • python网络编程学习笔记(二):socket建立网络客户端

    1.建立socket 建立socket对象需要搞清通信类型和协议家族.通信类型指明了用什么协议来传输数据.协议的例子包括IPv4.IPv6.IPX\SPX.AFP.对于internet通信,通信类型基本上都是AF_INET(和IPv4对应).协议家族一般表示TCP通信的SOCK_STREAM或者表示UDP通信的SOCK_DGRAM.因此对于TCP通信,建立一个socket连接的语句为:s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)对于UDP通

  • MyBatis学习笔记(二)之关联关系

    今天主要学习的关联关系是一对一关系与一对多关系. 一.一对一关系 还是通过例子来解释说明.(一个妻子对应一个丈夫). 1)数据库信息 create table t_wife( id int primary key auto_increment, wife_name varchar(), fk_husband_id int ); create table t_husband( id int primary key auto_increment, husband_name varchar() );

  • Android学习笔记(二)之电话拨号器

    目前Android已经在只能手机市场已经具有强大的霸主地位,也吸引了越来越多的追捧者.Android的学习也越来越火.但是,报名费用确实大多人望而却步 一.新建项目CallPhone 1.1.建立项目 二.设置界面与项目名称 2.1.更改项目名称 res/values下strings.xml中更改app_name电话拔号器 string.xml <?xml version="1.0" encoding="utf-8"?> <resources>

  • Javascript学习笔记二 之 变量

    一.关于Javascript变量声明 在Javascript中,声明一个变量 var a=1; 也可以直接 a=1; 这两种表达是有区别的, 一个是当前作用域的局部变量,另一个则是当前作用域的全局变量: Javascript语言的特殊之处,就在于函数内部可以直接读取全局变量. 复制代码 代码如下: var n=999; function f1(){ alert(n); } f1(); // 999 另一方面,在函数外部自然无法读取函数内的局部变量. 复制代码 代码如下: function f1(

  • MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

    传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由(database).集合(collection).文档对象(document)三个层次组成.MongoDB对于关系型数据库里的表,但是集合中没有列.行和关系概念,这体现了模式自由的特点. 一.关于MongoDB的驱动 MongoDB支持多种语言的驱动,在此我们只介绍C#的驱动.仅C#驱动都有很多种,每种驱动的形式大致相同,但是细节各有千秋,因此代码不能通用.比较常用的是官

随机推荐