db2查看隔离级别命令
DB2数据库中的锁和隔离级别

DB2数据库中的锁和隔离级别在DB2数据库中,是通过行级锁和表级锁协调作用来提供较好的并发性,同时保证数据库中数据的安全。
在DB2中缺省情况下使用行级锁(当然需要IS/IX锁配合),只有当出现锁资源不足,或者是用命令指定使用表级锁的情况下,才会在应用连接中使用表级锁。
对锁资源分配有兴趣的读者可以参考DB2的管理手册,查找其中关于locklist和maxlocks 参数的论述。
对于用命令指定表级锁的情况,可以参考DB2的命令手册中的lock table 命令,此命令用于直接锁表。
隔离级别主要用于控制在DB2根据应用提交的SQL语句向DB2数据库中的相应对象加锁时,会锁住哪些纪录,也就是锁定的范围。
隔离级别的不同,锁定的纪录的范围可能会有很大的差别。
隔离级别分为RR/RS/CS/UR这四个级别。
下面让我们来逐一论述:1.RR隔离级别(可重复读,Reapeatable Read):在此隔离级别下,DB2会锁住所有相关的纪录。
在一个SQL语句执行期间,所有执行此语句扫描过的纪录都会被加上相应的锁。
具体的锁的类型还是由操作的类型来决定,如果是读取,则加共享锁;如果是更新,则加独占锁。
由于会锁定所有为获得SQL语句的结果而扫描的纪录,所以锁的数量可能会很庞大,这个时候,索引的增加可能会对SQL语句的执行有很大的影响,因为索引会影响SQL语句扫描的纪录数量。
2.RS隔离级别(读稳定性,Read Stability):此隔离级别的要求比RR隔离级别稍弱,此隔离级别下会锁定所有符合条件的纪录。
不论是读取,还是更新,如果SQL语句中包含查询条件,则会对所有符合条件的纪录加相应的锁。
如果没有条件语句,也就是对表中的所有记录进行处理,则会对所有的纪录加锁。
3.CS隔离级别(游标稳定性,Cursor Stability):此隔离级别仅锁住当前处理的纪录。
4.UR隔离级别(未提交的读,Uncommitted Read,UR):此隔离级别下,如果是读取操作,不会出现任何的行级锁。
db2常用命令大全

9、数据库导入
db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构
db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉
在实际使用过程中,如果用到db2自增主键,需要使用by default, 而不是always,功能是一样的,但这样在数据移植时候会很方
db2常用命令大全
EXPORT TO D:\PRINTXML.IXF OF IXF
近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持
xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇
便!
10、db2 connect reset 或 db2 terminate --断开与数据库的连接
11、db2set db2codepage=1208 --修改页编码为1208
12、db2 describe table <表名> --查看表结构
13、db2 list tables --查看数据库中所有表结构
db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库
8、数据库导出
db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1
db2命令参数withur

db2命令参数withur查询DB2数据库,⽼遇到select * from XXX with ur, 好奇ur是什么作⽤(转)DB2中,共有四种隔离级:RS,RR,CS,UR,DB2提供了这4种不同的保护级别来隔离数据。
隔离级是影响加锁策略的重要环节,它直接影响加锁的范围及锁的持续时间。
两个应⽤程序即使执⾏的相同的操作,也可能由于选择的隔离级的不同⽽造成加锁的结果不同。
1、ur(Uncommited Read) 就是俗称“脏读“,在没有提交数据的时候能够读到更新的数据;是最低的隔离级别,并且提供最⾼的并⾏性。
2、cs(Cursor Stability) 在⼀个事务中进⾏查询时,允许读取提交前的数据,数据提交后,当前查询就可以读取到数据,update数据的时候并不锁表,在这⼀隔离级别中,游标的“当前”⾏是锁定的。
如果该⾏只是被读,锁定会⼀直持续到⼀个新⾏被访问或者该⼯作单元终⽌。
如果该⾏被修改,锁定会⼀直持续到该⼯作单元终⽌。
3、rs(Read Stability)读稳定性,在⼀个事务中进⾏查询时,不允许读取其他事务update的数据,允许读取到其他事务提交的新增数据,使⽤读稳定性,在同⼀个⼯作单元中的⼀个程序进程所检索的全部⾏都会被锁定。
对于⼀个给定的游标,它要锁定所有与结果集匹配的⾏,例如,如果你有⼀个含1000⾏的表并且查询返回10⾏,那么只有那10⾏会被锁定。
读稳定性使⽤中等级别的锁定。
4、rr(Repeatable Read)可重新性,可重复读是最⾼的隔离级别,提供了最⼤程度的锁定和最少的并⾏。
产⽣结果集的所有⾏都会被锁定,也就是说,即使不必出现在最终结果集中的⾏也会被锁定。
在此该⼯作单元结束前,任何其它程序都不能修改,删除或插⼊⼀个会影响结果集的⾏。
重复读确保程序在⼀个⼯作单元中多次进⾏的同⼀项查询都返回结果。
在⼀个事务中进⾏查询时,不允许任何对这个查询表的数据修改。
DB2隔离级别和锁

深入解析DB2------高级管理、内部体系结构与诊断案例第 6 章我们在进行客户支持时遇到最多的话题之一就是锁。
“为什么DB2 锁住了这个表、行或者对象?”,“这个锁会阻塞多长时间及为什么?”;“为什么出现了死锁?”,“我的锁请求在等待什么?”,诸如此类问题等等。
更仔细地分析一些常见的锁示例可以说明DB2 锁定策略背后的原则。
在国内很多DB2 用户都会碰到有关锁等待、死锁和锁升级等锁相关的问题,本章将会对这些问题以及解决方法做详细的讲解。
本章主要讲解如下内容:∙隔离级别和锁∙加锁总结∙乐观锁∙内部锁∙设置锁相关的注册变量6.1 隔离级别和锁要维护数据库的一致性和数据完整性,同时又允许多个应用程序同时访问一个数据库,将这样的特性称为并发性。
DB2 数据库尝试强制实施并发性的方法之一是使用隔离级别,它决定在第一个事务访问数据时,如何对其他事务锁定或隔离该事务所使用的数据。
DB2 使用下列隔离级别来强制实施并发性:∙可重复读(Reapeatable Read,RR)∙读稳定性(Read Stability,RS)∙游标稳定性(Cursor Stability,CS)∙未提交的读(Uncommitted Read,UR)隔离级别是根据称为现象(Phenomena) 的三个禁止操作序列来声明的:∙脏读(Dirty Read):在事务A 提交修改结果之前,其他事务即可看到事务A的修改结果。
∙不可重复读(Non-Repeatable Read):在事务A提交之前,允许其他事务修改和删除事务A涉及的数据,导致事务A中执行同样操作的结果集变小。
∙幻像读(Phantom Read):事务A在提交查询结果之前,其他事务可以插入或者更改事务A 涉及的数据,导致事务 A 中执行同样操作的结果集增大。
数据库并发性( 可以同时访问同一资源的事务数量) 因隔离级别不同而有所差异,可重复读隔离级别可以防止所有现象,但是会大大降低并发性。
DB2命令——精选推荐

DB2命令DB2命令总汇DB2常⽤命令汇总之⼀db2 -tvf my.sqldb2level 显⽰db2的版本号显⽰SQL出错信息db2 "? sql6031"db2mtrk管理DAS产⽣:root运⾏-dascrt -u dasuser1删除:root运⾏-dasdrop启动:dasusr1运⾏-db2admin start停⽌:dasusr1运⾏-db2admin stopdb2_killipcleandb2start dbpartitionnum 9 restartAIX启动控制中⼼:db2ccDB2⽤户管理:db2 use os to manage users.You can use following steps to add a db2 user:1,add a user on os.2,grant rights to user.GRANT CREATETAB,CONNECT ON DATABASE TO USER FUJIE;grant select, update, delete on table employee to user john with grant option⼀,实例产⽣db2icrt -a AuthType(SERVER,CLIENT,SERVER_ENCRYPT) -p PORT_NAME表空间PREFETCHSIZE的设置,EXTENTSIZE的关系,缓冲池的监控,页清除程序的多少。
临时表空间页⾯⼤⼩与其他表空间页⾯⼤⼩的设置,临时表空间与缓冲池的设置。
example:db2icrt db2 -s ese -p d:\db2 -u Administrator注意:在UNIX 上产⽣实例时需要产⽣⼀个和实例名称相同的⽤户名,和fencedid ⽤户。
如:db2icrt -s ese -u db2fenc2 db2inst2 将在db2inst2⽤户中产⽣实例db2inst2.缺省创建32位实例,创建64位实例:db2icrt -s ese -w 64 -u db2fenc2 db2inst2删除db2idrop instance-name启动db2start停⽌db2stop force连接db2 attach to testdb2db2 detach列出实例db2ilist设置当前实例set db2instance=得到当前实例db2 get instance设置实例⾃动重启动UNIXdb2iauto -ondb2iauto -off获取实例的配置参数db2 get dbm cfg修改配置参数例如:db2 update dbm cfg using authentication server_encryptdb2stop and db2start⼆,声明注册表和环境变量db2set 注意:设置完成后需要退出⽤户,再注册进⼊才能⽣效。
DB2命令大全

DB2命令大全.txt女人谨记:一定要吃好玩好睡好喝好。
一旦累死了,就别的女人花咱的钱,住咱的房,睡咱的老公,泡咱的男朋友,还打咱的娃。
db2常用命令大全EXPOR T TOD:\PR INTXM L.IXF OF I XF近一年来在项目开发中使用到了IBM的DB29.1的数据库产品,跟Orac le相比一些命令有很大的区别,而它最大的功能是支持xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇总,以免遗忘。
注意:在执行如下命令时,需要首先安装d b2客户端并通过在运行中输入d b2cmd 进行初始化一、基础篇1、db2conne ct to <数据库名> --连接到本地数据库名 db2conne ct to <数据库名> us er <用户名> u sing<密码>--连接到远端数据库2、db2 f orceappli catio n all --强迫所有应用断开数据库连接3、d b2 ba ckupdb db2name<数据库名称> --备份整个数据库数据d b2 re store db <db2na me> --还原数据库4、db2 l ist a pplic ation --查看所有连接(需要连接到具体数据库才能查看)5、d b2sta rt --启动数据库db2st op --停止数据库6、c reate data base<数据库名> usi ng co deset utf-8 ter ritor y CN --创建数据库使用utf-8编码7、db2 cat alog命令db2 c atalo g tcp ip no de <接点名称>remot e <远程数据库地址> ser ver <端口号> --把远程数据库映射到本地接点一般为50000db2catal og db <远程数据库名称> as <接点名称> atnodePUB11 --远程数据库名称到本地接点d b2 CO NNECT TO <接点名称> user <用户名> usi ng <密码> --连接本地接点访问远程数据库8、数据库导出db2lo ok -d <数据库名> -u <用户> -e -o <脚本名称>.s ql --导出数据库的表结构,其中用户空间一般为db2a dmin/db2in st1db2lo ok -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sq l --导出数据库中表1和表2的表结构db2move <数据库名> ex port --导出数据库数据d b2mov e <数据库名> e xport -tn<表1>,<表2> --导出数据库中表和表数据9、数据库导入db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构d b2mov e <数据库名> l oad -lo re place --把上述“d b2mov e <数据库名> e xport “导出的数据导入到数据库中并把相同的数据替换掉在实际使用过程中,如果用到db2自增主键,需要使用by defa ult,而不是al ways,功能是一样的,但这样在数据移植时候会很方便!10、d b2 co nnect rese t 或d b2 te rmina te --断开与数据库的连接11、db2set d b2cod epage=1208 --修改页编码为120812、db2 d escri be ta ble <表名> --查看表结构13、db2 list tabl es --查看数据库中所有表结构d b2 li st ta blesfor s ystem --列出所有系统表14、db2listtable space s --列出表空间二、高级篇15、f etchfirst 10 r ows only --列出表中前10条数据例如:s elect * fr om <表名> fe tch f irst10 ro ws on ly16、coa lesce(字段名,转换后的值) --对是nul l的字段进行值转换例如:s elect coal esce(id,1) fro m <表名> --对表中id如果为null转换成117、da yofwe ek(日期) --计算出日期中是周几(1是周日,2是周一.......7是周六) da yofwe ek_is o --计算出日期中是周几(1是周一.......7是周日)例如:dayof week(date(2008-01-16)) --它会返回是4,代表星期三dayof week_iso(d ate(2008-01-16)) --它会返回是3,代表星期三18、da yofye ar(日期) --一年中的第几天,范围在1-366范围之内注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用例如:日期是20080116必须要进行转换da yofwe ek(co ncat(conca t(con cat(s ubstr(open Date,1,4),'-'),conca t(sub str(o penDa te,5,2),'-')),s ubstr(open Date,7,2))) asweek)这样格式正确的。
查询数据库隔离级别语句

查询数据库隔离级别语句数据库隔离级别是指在多个事务同时访问数据库时,数据库系统为了保证数据的一致性和完整性而采取的一种机制。
不同的隔离级别会影响到事务的并发性和数据的一致性,因此在实际应用中需要根据具体情况选择合适的隔离级别。
以下是常见的查询数据库隔离级别语句:1. 查看当前数据库的隔离级别:```SELECT @@TX_ISOLATION;```2. 设置当前会话的隔离级别为READ UNCOMMITTED:```SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;```3. 设置当前会话的隔离级别为READ COMMITTED:```SET TRANSACTION ISOLATION LEVEL READ COMMITTED;```4. 设置当前会话的隔离级别为REPEATABLE READ:```SET TRANSACTION ISOLATION LEVEL REPEATABLE READ;```5. 设置当前会话的隔离级别为SERIALIZABLE:```SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;```6. 查看当前会话的隔离级别:```SELECT @@TRANCOUNT, @@OPTIONS, @@ISOLATION_LEVEL;```7. 查看当前数据库支持的隔离级别:```SELECT * FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'DETAILED');```8. 查看当前数据库的默认隔离级别:```SELECT name, is_read_committed_snapshot_on FROM sys.databases WHERE name = 'database_name';```9. 查看当前会话的事务状态:```SELECT transaction_id, name, transaction_begin_time, transaction_type FROM sys.dm_tran_active_transactions;```10. 查看当前会话的事务锁信息:```SELECT resource_type, resource_database_id, resource_associated_entity_id, request_mode, request_status FROM sys.dm_tran_locks WHERE request_session_id = @@SPID;```以上是常见的查询数据库隔离级别语句,通过这些语句可以了解当前数据库的隔离级别、设置会话的隔离级别、查看事务状态和锁信息等。
BD2命令

1.DB2产品的级别有那些?企业版的NTERPRISEEDITION工作组版WORKGROUPEDITION企业扩展版ENTERPRISEEXTENDEDEDITION个人版的PERSONALEDITION卫星版的SATELLITEEDITION微型版的EVERYPLACE2.可以连接到DB2数据库的产品有哪些?DB2客户端DB2CONNECTDB2DATAPROPAGATORDB2NET.DATADB2DATAJOINERDB2RELATIONALCONNECTWEBSPHERE应用服务器等3.DB2支持的通讯协议有哪些?TCP/IPNETBIOSAPPGIPX/SPXNAMEPIPE等4.DB2客户端产品有哪些?DB2运行时间客户端DB2RUNTIMECLIENTDB2管理客户端DB2ADMINISTRATIONCLIENTDB2应用程序开发客户端DB2APPLICATIONDEVELOPMENTCLIENTDB2瘦客户端DB2THINCLIENT5.一个数据库是否可以安装在多个数据库服务器上?可以6.从哪个版本后存储过程可以用SQL语句来创建?7.1版后7.DB2提供哪些关系扩展器?文本扩展器TEXTEXTENDER图象扩展器IMAGEEXTENDER音频扩展器AUDIOEXTENDER视频扩展器VIDEOEXTENDER空间数据扩展器SPATIALEXTENDERXML扩展器XMLEXTENDER网络搜索扩展器NET.SEARCHEXTENDER8.WINDOWS和OS/2环境下的DB2安装目录结构?用SETUP.EXE来安装\SQLLIB安装的根目录,包括README文件\SQLLIB\ADSM包含ADSTAR分布式存储管理器文件\SQLLIB\BIN包含DB2工具的可执行文件\SQLLIB\BND包含DB2工具的绑定文件\SQLLIB\CC包含运行控制中心所需的文件\SQLLIB\CFG包含默认的系统配置文件\SQLLIB\CONV包含代码页转换表文件\SQLLIB\DB2默认的实例目录\SQLLIB\DB2DAS00缺省的DB2管理服务器目录\SQLLIB\DOC包含DB2联机手册\SQLLIB\FUNCTION默认的用户自定义函数目录\SQLLIB\FUNCTION\UNFENCED默认的非隔离用户自定义函授目录\SQLLIB\HELP联机帮助文件\SQLLIB\JA V ADB2所需的JA V A类库JA VA12包含JDK1.2的支持程序\SQLLIB\MISC包含HTML搜索服务器文件\SQLLIB\MSG\PRIME包含信息文件\SQLLIB\QP包含QUERYPATROLLER的客户端文件\SQLLIB\SAMPLES包含样例程序和样例脚本\SQLLIB\SPMLOG包含DB2同步点管理器日志文件\SQLLIB\THNSETUP包含瘦客户端安装文件9.UNIX和LINUX环境下的DB2安装目录结构?用DB2SETUP.EXE来安装安装的根目录下还将创建以下目录:README安装的根目录,包括README文件ADM包含系统管理工具文件ADSM包含ADSTAR分布式存储管理器文件BIN包含DB2工具的二进制可执行文件BND包含DB2工具的绑定文件CC包含运行控制中心所需的文件CFG包含默认的系统配置文件CONV包含代码页转换表文件DOC包含DB2联机手册FUNCTION默认的用户自定义函数目录FUNCTION\UNFENCED默认的非隔离用户自定义函授目录INSTALL包含安装程序INSTANCE包含实例脚本JA V ADB2所需的JA V A类库LIBDB2库文件MAP包含DB2CONNECT使用的映射文件MISC包含HTML搜索服务器文件SAMPLES包含样例程序和样例脚本MSG\$L包含DB2信息文件10.AIX下用哪个命令来安装DB2?INSTALLP命令11.同一操作系统下可以安装多个DB2数据库?可以的12.如何停止实例?DB2STOP13.如何启动实例?DB2START14.如何修改注册项的值?DB2SET可以修改如:设定当前实例的一个参数DB2SETPARAMETER=V ALUE设定一个全局级的参数DB2SETPARAMETER=V ALUE-G(小写)查看能在配置文件注册表中设置的所有变量的列表DB2SET-LR(小写)15.如何在CLP执行操作系统的命令?在命令前加"!"作为前缀DB2=>!DIRC:\16.在CLP中命令过长怎么办?用"\"作为续行符号17.如何获得DB2的命令的语法相关信息?DB2?显示所有DB2命令DB2?COMMAND显示命令信息DB2?SQLnnnn显示这个SQLCODE的解释信息DB2?DB2nnnn显示这个DB2错误的解释信息18.如何查看当前CLP的设置?DB2=>LISTCOMANDOPTIONS19.如何更新当前CLP会话的特定项设置?DB2UPDATECOMMANDOPTIONSUSINGOPTIONS...MANDWINDOWS可以通过哪个命令调用?DB2CMD命令21.管理服务器的默认名为?UNIX下为DB2ASWINDOWS下为DB2DAS0022.常用管理DB2服务器实例的命令?DB2ADMINSTART启动DB2管理服务器实例DB2ADMINSTOP停止DB2管理服务器实例DASICRTUNIX下创建DB2管理服务器实例DASIDROPUNIX下删除DB2管理服务器实例DB2ADMINCREATEWINDOWSOROS/2下创建DB2管理服务器实例DB2ADMINDROPWINDOWSOROS/2下删除DB2管理服务器实例DB2GETADMINCFG显示DB2管理服务器的配置参数DB2UPDATEADMINCFG修改DB2管理服务器的配置参数DB2RESETADMINCFG将DB2管理服务器的配置参数设为默认值23.DB2目录分为哪几种?系统数据库目录本地数据库目录节点目录DCS目录管理节点目录24.如何查看系统数据库目录?LISTDBDIRECTORY25.如何查看数据库服务器目录?LISTNODEDIRECTORY26.DB2实例的服务器的默认端口是?50000服务器名称为DB2CDB227.DB2UDB服务器端的认证类型有?SERVERSERVER_ENCRYPTCLIENTDCEDCE_SERVER_ENCRYPTKERBEROSKRB_SERVER_ENCRYPT28.DB2客户端的认证类型有?SERVERSERVER_ENCRYPTDCSDCS_ENCRYPTCLIENTDCE29.DB2中有哪几种类型的权限?SYSADM系统管理权限SYSCTRL系统控制权限SYSMAINT系统维护权限DBADM数据库管理权限LOAD对表进行LOAD操作的权限30.不能通过GRANT授权的权限有哪种?SYSAMSYSCTRLSYSMAINT要更该述权限必须修改数据库管理器配置参数31.表的类型有哪些?永久表(基表)临时表(说明表)临时表(派生表)32.如何知道一个用户有多少表?SELECT*FROMSYSIBM.SYSTABLESWHERECREATOR='USER'33.如何知道用户下的函数?select*ERFUNCTIONselect*fromsysibm.SYSFUNCTIONS34.如何知道用户下的VIEW数?select*fromsysibm.sysviewsWHERECREATOR='USER'35.如何知道当前DB2的版本?select*fromsysibm.sysvERSIONS36.如何知道用户下的TRIGGER数?select*fromsysibm.SYSTRIGGERSWHERESCHEMA='USER'37.如何知道TABLESPACE的状况?select*fromsysibm.SYSTABLESPACES38.如何知道SEQUENCE的状况?select*fromsysibm.SYSSEQUENCES39.如何知道SCHEMA的状况?select*fromsysibm.SYSSCHEMATA40.如何知道INDEX的状况?select*fromsysibm.SYSINDEXES41.如何知道表的字段的状况?select*fromsysibm.SYSCOLUMNSWHERETBNAME='AAAA'42.如何知道DB2的数据类型?select*fromsysibm.SYSDATATYPES43.如何知道BUFFERPOOLS状况?select*fromsysibm.SYSBUFFERPOOLS44.DB2表的字段的修改限制?只能修改V ARCHAR2类型的并且只能增加不能减少.45.如何查看表的结构?DESCRIBLETABLETABLE_NAMEORDESCRIBLESELECT*FROMSCHEMA.TABLE_NAME46.如何快速清除一个大表?ALTERTABLETABLE_NAMEACTIVENOTLOGGEDINITALLYWITHEMP TYTABLEALTER TABLETABLE_NAME ACTIVE NOT LOGGED INITALLY WIT H EMPTYTABLE两个commit之间的delete 动作是不记日志的commitalter table ab activate not logged intiallydelete ab where id >1000commit(创建的表ab不记录日志:create table ab (id int) not logged initially)47.如何查看数据库的包?select*fromsysCAT.PACKAGES48.如何查看数据库的存储过程?SELECT*FROMSYSCAT.PROCEDURES49.如何查看表的约束?SELECT*FROMSYSCAT.CHECKSWHERETABNAME='AAAA'50.如何查看表的引用完整约束?SELECT*FROMSYSCAT.REFERENCESWHERETABNAME='AAAA'51.安装DB2默认的事例名称是?在WINDOWS或OS/2中默认的是DB2在LINUX或UNIX环境下默认的是DB2INST152.安装后的默认帐户是?在WINDOWS或OS/2中默认的是DB2ADMIN 在LINUX或UNIX环境下默认的是DB2AS 53.事例的类型有哪些?CLIENT(客户)STANDALONE(独立的)SATELLITE(卫星)EEDB2EEE54.如何创建事例?DB2ICRTINSTNAME<...PARAMETERS>55.如何列出系统上的所有可用事例?DB2ILIST56.如何知道当前对话用的是哪个事例? GETINSTANCE57.如何更新事例的配置?DB2IUPDT58.如何删除事例?DB2IDROPINSTANCE_NAME具体步骤如下:停止事例上所有应用程序在所有打开的命令行上执行DB2TERMINATE运行DB2STOP备份DB2INSTPROF注册变量指出的事例目录退出事例所有登陆者使用DB2IDROP也可以删除ID59.如何列出本地系统上有许可信息的所有产品?DB2LICM-L60.如何增加一产品许可?DB2LICM-AFILENAME61.如何删除一个产品的许可?DB2LICM-RPRODUCTPASSWORD62.如何更新已购买的许可数量?DB2LICM-U63.如何强制只使用已经购买的数量?DB2LICM-EHARD64.如何更新系统上所使用的许可政策类型?DB2LICM-PREGISTEREDCONCURRENT65.如何更新系统上的处理器的数量?DB2LICM-N66.如何查询许可文件记录的版本信息?DB2LICM-V67.如何查询DB2LICM的帮助信息?DB2LICM-H68.一个数据库至少包括哪些表空间?一个目录表空间一个或多个用户表空间一个或多个临时表空间69.根据数据与存储空间之间移动的控制方式不同,分哪两种表空间? 系统管理的空间(SMS)数据库管理的空间(DMS)70.如何列出系统数据库目录的内容? LISTDATABASEDIRECTORY71.CREATEDATABASE是SQL命令吗?不是,是系统命令72.如何查看数据库ABC的配置文件的内容? GETDATABASECONFIGURATIONFORABC73.如何将数据库ABC的参数设置为默认数值? RESETDATABASECONFIGURATIONFORABC74.如何修改数据库ABC配置参数数值? UPDATEDATABASECONFIGURATIONFORABCUSING75.如何重新启动数据库?RESTARTDATABASEDATABASE_NAME76.如何激活数据库?ACTIV ATEDATABASEDATABASE_NAME77.如何停止数据库?DEACTIV ATEDATABASEDATABASE_NAME78.如何删除数据库?DROPDATABASEDATABASE_NAME79.如何建立模式?CREATESCHEMASCHEMA_NAME80.如何设置模式?SETSCHEMA=SCHEMA_NAME81.表的类型有哪些?基本表结果表概要表类型表子类型子表声明的临时表系统临时表82.如何定义序列? CREATESEQUENCEORDERSEQSTARTWITH1INCREMENTBY1NOMAXV ALUENOCYCLECACHE2483.如何将表置于检查挂起状态?SETINTEGRITYTABLE_NAMEOFF84.如何获得表的排斥锁?LOCKTABLETABLE_NAMEINEXCLUSIVEMODE85.如何把表调整为没有检查数据的在线状态?SETINTEGRITYFORTABLE_NAMEALLIMMEDIATEUNCHECKED86.如何解除表的锁定?COMMIT87.如何关闭表的日志?ALTERTABLETABLE_NAMEACTIVENOTLOGGEDINIALLY88.如何删除表?DROPSCHEMA.TABLE_NAME89.如何重命名表?RENAMETABLE_OLDTOTABLE_NEW90.如何取当前时间?SELECTCURRENTTIMESTAMPFROMSYSIBM.SYSDUMMY1 91.如何创建DB2的概要表?DB2的概要表功能类似于ORACLE的实体化视图!语法为:CREATESUMMARYTABLETABLE_NAMEAS(FULLSELECT)...例如:定义一个可以刷新的概要表:CREATESUMMARYTABLETABLE_NAMEAS(SELECT*FROMTABLE_ NAME1WHERECOL1='AAA')DATAINITIALLYDEFERREDREFRESHDEFERRED其中DATAINITIALLYDEFERRED规定不能将数据作为CREATETABLE语句的一部分插入表中.REFRESHDEFERRED规定表中的数据可以在任何使用了REFRESHTABLE语句的时候获得刷新!92.如何刷新概要表?REFRESHTABLESUM_TABLE其中SUM_TABLE为概要表.93.如何修改概要表?ALTERTABLESUM_TABLE...94.如何创建临时表?语法:DECLAREGLOBALTEMPORARYTABLETABLE_NAMEAS(FULLSELECT)DEFINITIONONLYEXCLUDINGIDENTITYCOLUMNATTRIBUTESONCOMMITDELETEROWSNOTLOGGED第一行规定临时表的名称.第二行规定临时表的列的定义.第三行规定不是从源结果表定义中复制的恒等列.第四行规定如果没有打开WITHGOLD光标,将会删除表的所有行.第五行规定不对表的改变进行记录.例如:DECLAREGLOBALTEMPORARYTABLEDEC_BSEMPMSAS(SELECT*FROMBSEMPMS)DEFINITIONONLYEXCLUDINGIDENTITYCOLUMNATTRIBUTESONCOMMITDELETEROWSNOTLOGGED95.视图的管理?如何创建视图:CREATEVIEWVIEW_NAMEASSELECT*FROMTABLE_NAMEWHERE...删除视图:DROPVIEWVIEW_NAME96.如何知道视图定义的内容?SELECT*FROMSYSCAT.VIEWS中的TEXT列中.97.如何创建别名?CREATEALIASALIAS_NAMEFORPRO_NAME后面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等.98.如何创建序列?例如:CREATESEQUENCESEQUENCE_NAMESTARTWITHSTART_NUMBERINCREMENTBYVALUE1NOMAXVALUENOCYCLE CACHEMAXIMUMNUMBEROFSEQUENCEVALUES第一行规定序列的名称.第二行规定序列的开始数值.第三行规定每次新增的幅度.第四行规定没有最大数值限制.第五行规定最大数值限制.99.如何更改序列?ALTERSEQUENCESEQUENCE_NAME...可以修改的参数STARTWITH的START_NUMBERINCREMENT的VALUE1NOMAXVALUE的数值NOCYCLE属性MAXIMUMNUMBEROFSEQUENCEVALUES最大数值100.如何删除序列?DROPSEQUENCESEQUENCE_NAME101.DB2支持导入(IMPORT)的文件格式有?有:DEL,ASC,IXF,WSF等102.DB2支持导出(EXPORT)的文件格式有?有:DEL,IXF,WSF等.不支持ASC格式.103.DB2支持载入(LOAD)的文件格式有?有:DEL,ASC,IXF等.不支持WSF格式.104.DB2支持DB2MOVE的文件格式有?有:IXF等.不支持ASC,DEL,WSF格式.105.DB2数据库监控的两个组成部分?快照监控(SNAPSHOTMONITOR)可返回特定时间点的数据库活动的快照.事件监控(EVENTMONITOR)记录事件发生的数据.106.系统监控的数据元素类型?计数器(COUNTER)记录活动发生的次数.测量(GAUGE)测量条目的当前值.水线(WATERMARK)从监控来元素达到的最大或最小数值.信息(INFORMATION)监控活动的参照类型细节.时间点(TIMESTAMP)活动发生的日期时间.时间(TIME)返回一个活动花费的时间.107.如何知道监控堆所需的页的数量?(NUMBEROFMONITORINGAPPLICATIONS+1)*(NUMBEROFDATABA SES*(800+(NUMBEROFTABLESACCESSED*20)+((NUMBEROFAPPLICATIONSCONNECTED+1)*(200+( NUMBEROFTABLESPACES*100)))))/4096其大小受参数MON_HEAD_SZ控制.108.如何建立事件监控器?CREATEEVENTMONITORTABLEMONFORTABLESWRITETOFILE'D:\T EMP'109.如何激活事件监控器?SETEVENTMONITORTABLEMONSTATE1110.如何停止事件监控器?SETEVENTMONITORTABLEMONSTATE0111.如何查询监控器的状态?SELECTEVMONNAME,EVENT_MON_STATE(EVMONNAME)FROMSY SCAT.EVENTMONITORS112.如何删除事件监控器?DROPEVENTMONITORTABLEMON113.UNIX和WINDOWS上创建管道事件监控器(PIPE意EVNT见MONITOR)的不同?第一步:定义事件监控器UNIX:CONNECTTOSAMPLECREATEEVENTMONITORSTMB2FORSTATEMENTSWRITETOPIPE'/TMP/EVPIPE1'WINDOWS:CONNECTTOSAMPLECREATEEVENTMONITORSTMB2FORSTATEMENTSWRITETOPIPE'\\.\T MP\EVPIPE1'第二步:建立命名管道UNIX:可以使用MKFIFO()函数或者MKFIFO命令.WINDOWS:可以使用CREATENAMEDPIPE()函数,管道名称与CREATEEVENTMONITOR规定名称相同.第三步:打开命名管道UNIX:使用OPEN()函数.WINDOWS:使用CONNECTNAMEDPIPE()函数.也可以用DB2EVMON命令,如:DB2EVMON-DBSAMPLE-EVMSTMB2第四步:激活命名管道事件监控器除非自动激活命名管道事件监控器,否则SETEVENTMONITORSTMB2STATE1第五步:从命名管道读取数据UNIX:可以使用READ()函数.WINDOWS:可以使用READFILE()函数.第六步:停止事件监控器SETEVENTMONITORSTMB2STATE0第七步:关闭命名管道UNIX:可以使用CLOSE()函数.WINDOWS:可以使用DISCONNECTNAMEDPIPE()函数.第八步:删除命名管道UNIX:可以使用UNLINK()函数.WINDOWS:可以使用CLOSEHANDLE()函数.114.DB2的SQL语句的类别DCL:数据控制语言,提供对数据库对象的访问权限.DDL:数据定义语言,创建,修改,删除数据库对象的.DML:数据操纵语言,用来插入,更新,删除数据的.115.DCL的权限有哪些?CONTROL权限:如果用户创建一个对象,则改用户能完全访问该对象. GRANT语句将权限授予给用户.REVOKE语句撤销一个用户的权限.116.DDL有哪些?CREATEDECLAREALTERDROP等117.DML有哪些?INSERTSELECTUPDATEDELETE等118.DB2有没有布尔类型?没有119.如何查询DB2的内置函数?自带文档ADMINISTION-->SQLREFERENCE-->FUNCTIONS内120.如何执行DB2的脚本文件?DB2-VTFFILENAME121.DB2中象ORACLE的ROWNUM()是?ROW_NUMBER()OVER()122.DB2如何得到错误代码的说明?DB2?SQLCODE123.DB2中的VARCHAR转换为INTEGER的函数为?CAST()124.DB2中的INTEGER转换为VARCHAR的函数为?CHAR()125.DB2中的VARCHAR转换为DATE的函数为?DATE()126.DB2中的DATE转换为VARCHAR的函数为? CHAR()127.DB2中的TRIGGER能否修改?不能,只能删除重建128.WINDOWS下如何知道DB2的端口号?\WINNT\SYSTEM32\DRIVERS\ETC\SERVICES129.DB2如何执行存储过程?可以DB2CALLPROCEDURE_NAME130.如何进入DB2的DOS命令方式?DB2CMD131.如何得到DB2的进程号?DB2LISTAPPLICATIONS132.如何杀DB2的进程?FORCEAPPLICATION(ID)133.A用户安装DB2后,如何用B用户启动DATABASE? 在B用户下的.PROFILE中加上./HOME/DB2INST/SQLLIB/DB2PROFILE134.DB2中类似ORACLE的快照是?SUMMARYTABLEDB2函数135.A VG()返回一组数值的平均值.SELECTA VG(SALARY)FROMBSEMPMS;136.CORR(),CORRELATION()返回一对数值的关系系数.SELECTCORRELATION(SALARY,BONUS)FROMBSEMPMS;137.COUNT()返回一组行或值的个数.SELECTCOUNT(*)FROMBSEMPMS;138.COV AR(),COV ARIANCE()返回一对数值的协方差.SELECTCOV AR(SALARY,BONUS)FROMBSEMPMS;139.MAX()返回一组数值中的最大值.SELECTMAX(SALARY)FROMBSEMPMS;140.MIN()返回一组数值中的最小值.SELECTMIN(SALARY)FROMBSEMPMS;141.STDDEV()返回一组数值的标准偏差.SELECTSTDDEV(SALARY)FROMBSEMPMS;142.SUM()返回一组数据的和.SELECTSUM(SALARY)FROMBSEMPMS;143.V AR(),V ARIANCE()返回一组数值的方差.SELECTV ARIANCE(SALARY)FROMBSEMPMS; 144.ABS(),ABSV AL()返回参数的绝对值.SELECTABS(-3.4)FROMBSEMPMS;145.ACOS()返回参数的反余弦值.SELECTACOS(0.9)FROMBSEMPMS;146.ASCII()返回整数参数最左边的字符的ASCII码. SELECTASCII('R')FROMBSEMPMS;147.ASIN()返回用弧度表示的角度的参数的反正弦函数. SELECTASIN(0.9)FROMBSEMPMS;148.ATAN()返回参数的反正切值,该参数用弧度表示的角度的参数. SELECTATAN(0.9)FROMBSEMPMS;149.ATAN2()返回用弧度表示的角度的X和Y坐标的反正切值. SELECTATAN2(0.5,0.9)FROMBSEMPMS;150.BIGINT()返回整型常量中的数字或字符串的64位整数表示. SELECTBIGINT(EMP_NO)FROMBSEMPMS;151.CEILING()ORCEIL()返回比参数大或等于参数的最小的整数值.SELECTCEILING(3.56)FROMBSEMPMS;SELECTCEIL(4.67)FROMBSEMPMS;152.CHAR()返回日期时间型,字符串,整数,十进制或双精度浮点数的字符串表示.SELECTCHAR(SALARY,',')FROMBSEMPMS;153.CHR()返回具有由参数指定的ASCII码的字符.SELECTCHAR(167)FROMBSEMPMS;154.CONCAT()返回两个字符串的连接.SELECTCONCAT(EMP_NO,EMP_NAM)FROMBSEMPMS;155.YEAR()返回数值的年部分.SELECTYEAR('2003/01/02')FROMBSEMPMS;156.V ARCHAR()返回字符串,日期型,图形串的可变长度的字符串表示.SELECTV ARCHAR(EMP_NAM,50)FROMBSEMPMS;157.UCASE()ORUPPER()返回字符串的大写.SELECTUCASE(EMP_NAM)FROMBSEMPMS;SELECTUPPER(EMP_NO)FROMBSEMPMS;158.TRUNCATE()ORTRUNC()从表达式小数点右边的位置开始截断并返回该数值.SELECTTRUNCATE(345.6789,2)FROMBSEMPMS;159.TIME()返回一个数值中的时间.SELECTTIME('2001-03-19.12.30.123456')FROMBSEMPMS;160.SUBSTR(EXP1,EXP2)返回EXP1串自EXP2处开始的子串.SELECTSUBSTR('CDNJFDJFJD',5)FROMBSEMPMS;SELECTSUBSTR('CDNJFDJFJD',5,2)FROMBSEMPMS;161.SQRT()返回该参数的平方根.SELECTSQRT(36)FROMBSEMPMS;162.SPACE()返回由参数指定的长度,包含空格在内的字符串.SELECTSPACE(10)FROMBSEMPMS;163.SECOND()返回一个数值的秒部分.SELECTSECOND('18:34:32')FROMBSEMPMS;164.RTRIM()删除字符串尾部的空格.SELECTRTRIM('COMMENT')FROMBSEMPMS;165.ROUND(EXP1,EXP2)返回EXP1小数点右边的第EXP2位置处开始的四舍五入值.SELECTROUND(2345.6789,2)FROMBSEMPMS;166.REPLACE(EXP1,EXP2,EXP3)用EXP3替代EXP1中所有的EXP2SELECTCHAR(REPLACE('ROMANDD','NDD','CCB'),10)FROMBSEMPM S167.REPEAT(EXP1,EXP2)返回EXP1重复EXP2次后的字符串.SELECTCHAR(REPEAT('REPEAT',3),21)FROMBSEMPMS;168.REAL()返回一个数值的单精度浮点数表示.SELECTREAL(10)FROMBSEMPMS;169.RAND()返回0和1之间的随机浮点数.SELECTRAND()FROMBSEMPMS;170.POWER(EXP1,EXP2)返回EXP1的EXP2次幂.SELECTPOWER(2,5)FROMBSEMPMS;171.POSSTR(EXP1,EXP2)返回EXP2在EXP1中的位置.SELECT('ABCDEFGH','D')FROMBSEMPMS;172.NULLIF(EXP1,EXP2)如果EXP1=EXP2,则为NULL,否则为EXP1173.NODENUMBER()返回行的分区号.SELECTNODENUMBER(EMP_NO)FROMBSEMPMS;174.MONTH()返回一个数值的月部分.SELECTMONTH('2003/10/20')FROMBSEMPMS;175.MOD(EXP1,EXP2)返回EXP1除以EXP2的余数.SELECTMOD(20,8)FROMBSEMPMS;176.MINUTE()返回一个数值的分钟部分.SELECTMINUTE('18:34:23')FROMBSEMPMS;177.LTRIM()删除字符串前面的空格.SELECTLTRIM('CDDD')FROMBSEMPMS;178.HOUR()返回一个数值的小时部分.SELECTHOUR('18:34:23')FROMBSEMPMS;179.DOUBLE()如果参数是一个数字表达式,返回与其相对应的浮点数,如果参数是字符串表达式,则返回该数的字符串表达式.SELECTDOUBLE('5678')FROMBSEMPMS;180.EXP()返回参数的指数函数.SELECTEXP(2)FROMBSEMPMS;181.FLOAT()返回一个数的浮点表示.SELECTFLOAT(789)FROMBSEMPMS;182.FLOOR()返回小于或等于参数的最大整数.SLECTFLOOR(88.93)FROMBSEMPMS;183.HEX()返回一个表示为字符串的值的16进制表示.SELECTHEX(16)FROMBSEMPMS;当我被上帝造出来时,上帝问我想在人间当一个怎样的人,我不假思索的说,我要做一个伟大的世人皆知的人。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
db2查看隔离级别命令
介绍
在db2数据库中,隔离级别是指在并发场景下,数据库对事务之间的隔离程度。
通过设置不同的隔离级别,可以控制事务之间的相互影响程度。
本文将探讨如何使用db2查看隔离级别命令,以及详细介绍隔离级别的概念和各个级别的特点。
什么是隔离级别
隔离级别是数据库管理系统(DBMS)中的一个重要概念,用于控制数据库事务之间的隔离程度,以及并发执行时对数据的读取和修改的规则。
隔离级别越高,事务之间越不会相互干扰,但同时也会带来一定的性能损耗。
隔离级别是ACID(原子性、一致性、隔离性、持久性)特性中的一部分,确保了数据库事务的可靠性和一致性。
在db2中,一共有4个隔离级别,分别是Read Uncommitted(读未提交)、Read Committed(读已提交)、Repeatable Read(可重复读)、Serializable(串行化)。
下面将详细介绍各个隔离级别的特点。
Read Uncommitted(读未提交)
•脏读可能发生。
•事务A修改了数据,但尚未提交,事务B可以读取到未提交的数据。
•该隔离级别的性能最高,但数据的一致性无法得到保证。
Read Committed(读已提交)
•防止脏读。
•事务B只能读取到已经提交的数据,不能读取到事务A未提交的数据。
•该隔离级别是大多数数据库系统的默认隔离级别。
Repeatable Read(可重复读)
•防止脏读和不可重复读。
•事务A读取到的数据,在事务B修改之前不会发生变化。
•该隔离级别适用于需要保证事务期间数据的一致性的场景。
Serializable(串行化)
•最高的隔离级别,防止脏读、不可重复读和幻读。
•事务A读取到的数据,在事务B修改之前不会发生变化,且其他事务不能对该数据进行修改操作。
•该隔离级别是性能最差的,因为它会对数据库上的数据进行锁定,以确保并发执行时数据的一致性。
查看隔离级别命令
在db2数据库中,可以通过以下命令查看当前数据库的隔离级别设置:
db2 get isolation
该命令会输出当前数据库的隔离级别,例如:
SQL806W: DB2 UDB仅支持一个默认的隔离级别READ_COMMITTED,该级别的说明如下:
UC 读未提交隔离级别
CS 读已提交
RS 可重复读
RR 串行化
从输出结果中可以看出,当前数据库的隔离级别为Read Committed(读已提交)。
修改隔离级别
在db2数据库中,可以通过以下命令修改当前数据库的隔离级别:
db2 update db cfg using ISOLATION <隔离级别>
其中,<隔离级别>是要设置的隔离级别,可以是UC、CS、RS或RR。
修改隔离级别需要具备数据库管理员(DBA)的权限,执行命令后,需要重启数据
库才能生效。
总结
隔离级别是数据库管理系统中一个重要的概念,通过设置不同的隔离级别,可以控制事务之间的隔离程度,以及并发执行时对数据的读取和修改的规则。
db2提供了
四个隔离级别,分别是Read Uncommitted(读未提交)、Read Committed(读已
提交)、Repeatable Read(可重复读)和Serializable(串行化)。
通过使用
db2提供的查看隔离级别命令和修改隔离级别命令,可以方便地管理数据库的隔离
级别设置。
以上就是关于db2查看隔离级别命令的介绍,希望对你有所帮助。