时间: 2021-08-13 作者:daque
表空间典型分为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 因为是没成器运转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 邦联数据库,用来贯穿异种数据库。