db2 实战常用命令
DB2命令
DB2命令一、常用命令1、建立数据库DB2_GCBCREATE DATABASE DB2_GCB ON G: ALIAS DB2_GCBUSING CODESET GBK TERRITORY CN COLLATE USING SYSTEM DFT_EXTENT_SZ 322、连接数据库connect to sample1 user db2admin using 83012063、建立用户、建立表别名create alias db2admin.tables for sysstat.tables;CREATE ALIAS DB2ADMIN.VIEWS FOR SYSCAT.VIEWScreate alias db2admin.columns for syscat.columns;create alias guest.columns for syscat.columns;GRANTDBADM,CREATETAB,BINDADD,CONNECT,CREATE_NOT_FENCED_ ROUTINE ON DATABASE TO USER GUEST;GRANT CREATEIN,DROPIN,ALTERIN ON SCHEMA DB2ADMIN TO USER GUEST WITH GRANT OPTION;4、建立、更改、删除表结构CREATE TABLE table_name(column1 DATATYPE [NOT NULL] [NOT NULL PRIMARY KEY], column2 DATATYPE [NOT NULL],...)create table zjt_tables as(select * from tables) definition only;create table zjt_views as(select * from views) definition only;ALTER TABLE table_name ADD COLUMN column_name DATATYPEALTER TABLE table_name ADD PRIMARY KEY (column_name)ALTER TABLE table_name DROP PRIMARY KEY (column_name)DROP table table_name5、插入记录,修改记录,删除记录insert into zjt_tables select * from tables;insert into zjt_views select * from views;insert into test(id,phone) values(1,’5’);update test set phone=’65356675’ where id=1;delete from test where id=1;6、建立视图create view V_zjt_tables as select tabschema,tabname from zjt_tables;7、建立触发器CREATE TRIGGER zjt_tables_delAFTER DELETE ON zjt_tablesREFERENCING OLD AS OFOR EACH ROW MODE DB2SQLInsert into zjt_tables1 values(substr(o.tabschema,1,8),substr(o.tabname,1,10))8、建立、删除唯一性索引CREATE UNIQUE INDEX I_ztables_tabnameON zjt_tables(tabname);DROP index I_ztables_tabname9、查看表select tabname from tableswhere tabname='ZJT_TABLES';10、查看列select SUBSTR(COLNAME,1,20) as 列名,TYPENAME as 类型,LENGTH as 长度from columnswhere tabname='ZJT_TABLES';11、查看表结构db2 describe table user1.departmentdb2 describe select * from user.tables12、查看表的索引db2 describe indexes for table user1.department13、查看视图select viewname from viewswhere viewname='V_ZJT_TABLES';14、查看索引select indname from indexeswhere indname='I_ZTABLES_TABNAME';15、查看存贮过程SELECTSUBSTR(PROCSCHEMA,1,15),SUBSTR(PROCNAME,1,15) FROM SYSCAT.PROCEDURES;16、类型转换(cast)ip datatype:varcharselect cast(ip as integer)+50 from log_comm_failed17、重新连接connect reset18、中断数据库连接disconnect db2_gcb19、view applicationLIST APPLICATION;20、kill applicationFORCE APPLICATION(0);db2 force applications all (强迫所有应用程序从数据库断开)21、lock tablelock table test in exclusive mode22、共享lock table test in share mode23、显示当前用户所有表list tables24、列出所有的系统表list tables for system25、显示当前活动数据库list active databases26、查看并设置命令选项list command optionsupdate command options using c off27、系统数据库目录LIST DATABASE DIRECTORY28、表空间list tablespacesCREATE [{REGULAR | LARGE | SYSTEM TEMPORARY | USER TEMPORARY}] TABLESPACE table_space_name [PAGESIZE integer [K]]MANAGED BY {SYSTEM | DATABASE}USING (container_definition_string) [BUFFERPOOL buffpool_name]29、表空间容器LIST TABLESPACE CONTAINERS FORExample: LIST TABLESPACE CONTAINERS FOR 130、显示用户数据库的存取权限GET AUTHORIZATIONS31、启动实例DB2START32、停止实例db2stop33、表或视图特权grant select,delete,insert,update on tables to user grant all on tables to user WITH GRANT OPTION34、程序包特权GRANT EXECUTEON PACKAGE PACKAGE-nameTO PUBLIC35、模式特权GRANT CREATEIN ON SCHEMA SCHEMA-name TO USER36、数据库特权grant connect,createtab,dbadm on database to user 37、索引特权grant control on index index-name to user38、信息帮助 (? XXXnnnnn )例:? SQL3008139、SQL 帮助(说明 SQL 语句的语法)help statement例如,help SELECT40、SQLSTATE 帮助(说明 SQL 的状态和类别代码) sqlstate 或 ? class-code41、更改与"管理服务器"相关的口令db2admin setid username password42、创建 SAMPLE 数据库db2sampldb2sampl F:(指定安装盘)43、使用操作系统命令! dir44、转换数据类型 (cast)SELECT EMPNO, CAST(RESUME AS VARCHAR(370))FROM EMP_RESUMEWHERE RESUME_FORMAT = 'ascii'45、UDF要运行 DB2 Java 存储过程或 UDF,还需要更新服务器上的 DB2 数据库管理程序配置,以包括在该机器上安装 JDK 的路径db2 update dbm cfg using JDK11_PATH d:\sqllib\java\jdkTERMINATEupdate dbm cfg using SPM_NAME sample46、检查 DB2 数据库管理程序配置db2 get dbm cfg47、检索具有特权的所有授权名SELECT DISTINCT GRANTEE, GRANTEETYPE, 'DATABASE' FROM SYSCAT.DBAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'TABLE ' FROM SYSCAT.TABAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'PACKAGE ' FROM SYSCAT.PACKAGEAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'INDEX ' FROM SYSCAT.INDEXAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'COLUMN ' FROM SYSCAT.COLAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'SCHEMA ' FROM SYSCAT.SCHEMAAUTHUNIONSELECT DISTINCT GRANTEE, GRANTEETYPE, 'SERVER ' FROM SYSCAT.PASSTHRUAUTHORDER BY GRANTEE, GRANTEETYPE, 3create table yhdab(id varchar(10),password varchar(10),ywlx varchar(10),kh varchar(10));create table ywlbb(ywlbbh varchar(8),ywmc varchar(60))48、修改表结构alter table yhdab ALTER kh SET DATA TYPE varchar(13); alter table yhdab ALTER ID SET DATA TYPE varchar(13); alter table lst_bsi alter bsi_money set data type int; insert into yhdab values('20000300001','123456','user01','20000300001'),('20000300002','123456','user02','20000300002');49、业务类型说明insert into ywlbb values('user01','业务申请'),('user02','业务撤消'),('user03','费用查询'),('user04','费用自缴'),('user05','费用预存'),('user06','密码修改'),('user07','发票打印'),('gl01','改用户基本信息'),('gl02','更改支付信息'),('gl03','日统计功能'),('gl04','冲帐功能'),('gl05','对帐功能'),('gl06','计费功能'),('gl07','综合统计')50、事务的提交、回滚commit;rollback;51、查看db2的许可证信息Db2licm –l52、显示实例名称Db2ilist53、更新实例Db2iupdt instance_name54、DAS实例的配置信息Db2 get admin cfg55、其他实例的配置信息Db2 get dbm cfg或者db2 get database manager configuration56、数据库的配置信息Db2 get database configuration for database_name57、创建工具目录数据库db2 create tools catalog cc create new database toolsdb58、数据库备份CONNECT TO TAIS;QUIESCE DATABASE IMMEDIATE FORCE CONNECTIONS;CONNECT RESET;BACKUP DATABASE TAIS TO "D:\backup" WITH 2 BUFFERS BUFFER 1024 PARALLELISM 1 WITHOUT PROMPTING;CONNECT TO TAIS;UNQUIESCE DATABASE;59、数据库恢复db2 restore database tais from d:\backup taken at 20061017 without rolling forward60、切换实例(windows)set db2instance=tais61、创建全局临时表a、创建用户临时表空间db2 CREATE USER TEMPORARY TABLESPACE user_tempMANAGED BY SYSTEM USING('/home/inst##/usertemp')b、创建全局临时表DECLARE GLOBAL TEMPORARY TABLE table_name1LIKE table_name2 NOT LOGGEDfor example:db2 DECLARE GLOBAL TEMPORARY TABLE temployee LIKE employee NOT LOGGEDc、查看创建过的临时表select * from session.temployee需要取消事务的自动落实(update command options using c off) for example:db2>CONNECT TO sampledb2>LIST COMMAND OPTIONSdb2>UPDATE COMMAND OPTIONS USING C OFFdb2>LIST COMMAND OPTIONSdb2>DECLARE GLOBAL TEMPORARY TABLE tstaffLIKE staff NOT LOGGEDdb2>INSERT INTO session.tstaff SELECT * FROM staffdb2>SELECT * FROM session.staffdb2>COMMITdb2>SELECT * FROM staffdb2>CONNECT RESET62、创建模式名CREATE SCHEMA schema_name AUTHORIZATION auth_name63、断开当前的连接db2 DISCONNECT CURRENT64、创建视图CREATE VIEW view_name (column_names)AS fullselectWITH {LOCAL|CASCADED} CHECK OPTIONfor example:CREATE view NEW.V3 AS SELECT * FROM NEW.SALES AS SALES;CREATE view NEW.V4 AS SELECT * FROM NEW.SALES AS SALES WITH CASCADED CHECK OPTION;CREATE view NEW.V5 AS SELECT * FROM NEW.SALES AS SALES WITH LOCAL CHECK OPTION;65、创建序列CREATE SEQUENCE ORG_SEQSTART WITH 1INCREMENT BY 1NO MAXVALUENO CYCLECACHE 24--get sequencevalues nextval for seq166、得到当前时间values current timestamp67、创建索引type-2 indexes---对应用和并发进行保护,8版本以后使用a、Unique index —Ensures uniqueness of key column(s) datab、Bidirectional index(双向索引)—Allows scanning of indexes in eitherdirectionc、Clustered index(簇索引)— Places the rows of the tablein the samephysical order as the index keysd、多维索引---数据仓库中使用CREATE UNIQUE INDEX index_nameON table_name (column_name {ASC | DESC} [, column_name {ASC | DESC}…])INCLUDE column_namesCLUSTERPCTFREE integerMINPCTUSED integerALLOW REVERSE SCANSCREATE INDEX inON employee(empno ASC)PCTFREE 10MINPCTUSED 40Design Advisor in the CLP: db2advisfor example:db2advis -d database_name[{-w workload_name |-s "sql_statement" |-i filename}][-a userid[/password] ][-l disklimit][-t max_advise_time][-h][-p][-o out_file]db2advis -d sample-s "SELECT * FROM employee e WHERE firstnmeLIKE ’A%’"-a inst00/inst00-l 53-t 20exercises:a、create normal indexCONNECT TO SAMPLE;CREATE INDEX DB2ADMIN.IDX_STAFF_NAME ON NEW.STAFF ("NAME" ASC) PCTFREE 10 MINPCTUSED 10 COLLECT STATISTICS ;COMMENT ON Index DB2ADMIN.IDX_STAFF_NAME IS 'common index on column name ';CONNECT RESET;b、create unique indexCONNECT TO SAMPLE;CREATE UNIQUE INDEX DB2ADMIN.UIDX_STAFF_ID ON NEW.STAFF (ID ASC) PCTFREE 10 MINPCTUSED 10 COLLECT STATISTICS ;CONNECT RESET;c、create Bidirectional IndexCONNECT TO SAMPLE;CREATE INDEX DB2ADMIN.BIDX_STAFF_SALARY ONNEW.STAFF (SALARY ASC) PCTFREE 10 MINPCTUSED 10 ALLOW REVERSE SCANS COLLECT DETAILED STATISTICS ;CONNECT RESET;d、Create Clustered IndexCONNECT TO SAMPLE;CREATE INDEX DB2ADMIN.CIDX_STAFF_DEPT ON NEW.STAFF (DEPT ASC) CLUSTER PCTFREE 10 MINPCTUSED 10 COLLECT SAMPLED DETAILED STATISTICS ;CONNECT RESET;68、使用约束Using Constraints(主键的字段不可为空,唯一键的字段可以为空)a、Adding a Primary Key to an Existing TableALTER TABLE student ADD CONSTRAINT pk_id PRIMARY KEY(id)exercises:A、Use this command to create a new table called po_masterCREATE TABLE po_master (po_no INTEGER NOT NULL,po_date DATE NOT NULL,bill_no INTEGER NOT NULL,bill_date DATE NOT NULL,description VARCHAR (200),CONSTRAINT pk_po_master PRIMARY KEY (po_no),CONSTRAINT u_key_bill_no UNIQUE (bill_no))B、Use the following command to alter an existing table called po_masterALTER TABLE po_master ADD CONSTRAINT u_key_bill_no UNIQUE (bill_no)C、Using the CLP, create a table called po_master with a primary key on po_no using the following commandCREATE TABLE PO_DETAIL (po_no INTEGER NOT NULL,s_no INTEGER NOT NULL,item_code INTEGER NOT NULL,description VARCHAR (100),quantity INTEGER NOT NULL,rate INTEGER NOT NULL,PRIMARY KEY (po_no, s_no),CONSTRAINT fk_po_masterdetail FOREIGN KEY(po_no)REFERENCES administrator.po_master (po_no))D、There are four CREATE TABLE options for defining the delete rule:NO ACTION,RESTRICT :If RESTRICT or NO ACTION is selected, an error occurs and no records are deleted if you try to delete records from parent table.CASCADE: If CASCADE is selected, the delete operation is propagated to the dependent tables, that is, records in the po_master table as well as all the related records in the po_detailtable are automatically deleted.SET NULL: If SET NULL is selected, the delete operation in po_master table is allowed and the the related records in po_detail table are set to NULL.E、modify table---add restrict constraint(delete)CONNECT TO SAMPLE;ALTER TABLE DB2ADMIN.PO_DETAIL DROP FOREIGN KEY FK_PO_MASTERDETAIL ADD CONSTRAINT FK_PO_MASTERDETAIL FOREIGN KEY (PO_NO) REFERENCES DB2ADMIN.PO_MASTER (PO_NO) ON DELETE RESTRICT ON UPDATE NO ACTION ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;---add no action constraint(delete)CONNECT TO SAMPLE;ALTER TABLE DB2ADMIN.PO_DETAIL DROP FOREIGN KEY FK_PO_MASTERDETAIL ADD CONSTRAINT FK_PO_MASTERDETAIL FOREIGN KEY (PO_NO) REFERENCES DB2ADMIN.PO_MASTER (PO_NO) ON DELETE NO ACTION ON UPDATE NO ACTION ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;---add cascade constraint(delete)CONNECT TO SAMPLE;ALTER TABLE DB2ADMIN.PO_DETAIL DROP FOREIGN KEY FK_PO_MASTERDETAIL ADD CONSTRAINT FK_PO_MASTERDETAIL FOREIGN KEY (PO_NO) REFERENCESDB2ADMIN.PO_MASTER (PO_NO) ON DELETE CASCADE ON UPDATE NO ACTION ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;---add set null constraint(delete)CONNECT TO SAMPLE;ALTER TABLE DB2ADMIN.PO_DETAIL DROP FOREIGN KEY FK_PO_MASTERDETAIL ADD CONSTRAINT FK_PO_MASTERDETAIL FOREIGN KEY (PO_NO) REFERENCES DB2ADMIN.PO_MASTER (PO_NO) ON DELETE SET NULL ON UPDATE NO ACTION ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;---add restrict constraint(update)CONNECT TO SAMPLE;ALTER TABLE DB2ADMIN.PO_DETAIL DROP FOREIGN KEY FK_PO_MASTERDETAIL ADD CONSTRAINT FK_PO_MASTERDETAIL FOREIGN KEY (PO_NO) REFERENCES DB2ADMIN.PO_MASTER (PO_NO) ON DELETE RESTRICT ON UPDATE RESTRICT ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;---add no action constraint(update)CONNECT TOSAMPLE;ALTER TABLE DB2ADMIN.PO_DETAIL DROP FOREIGN KEY FK_PO_MASTERDETAIL ADD CONSTRAINT FK_PO_MASTERDETAIL FOREIGN KEY (PO_NO) REFERENCES DB2ADMIN.PO_MASTER (PO_NO) ON DELETE RESTRICT ON UPDATE NO ACTION ENFORCED ENABLE QUERY OPTIMIZATION ;CONNECT RESET;F、Using Check ConstraintsALTER TABLE po_master ADD CONSTRAINT chk_bill_date CHECK (bill_date <= po_date)69、导入导出数据DB2 supports the following data formats for extraction and insertion:◆ Delimited ASCII format (DEL)◆ Integrated exchange format (IXF)◆ Worksheet format (WSF)◆ Non-delimited ASCII (ASC)CONNECT TO SAMPLE;EXPORT TO "C:\无界定字符" OF DEL MESSAGES "C:\无界定字符.log" SELECT * FROM NEW.EMPLOYEE;CONNECT RESET;CONNECT TO SAMPLE;EXPORT TO "C:\界定字符" OF DEL MODIFIED BY COLDEL, MESSAGES "C:\界定字符.log" SELECT * FROM NEW.EMPLOYEE;CONNECT RESET;CONNECT TO SAMPLE;EXPORT TO "C:\工作表格式" OF WSF MODIFIED BY 1 MESSAGES "C:\工作表格式.log" SELECT * FROM NEW.EMPLOYEE;CONNECT RESET;CONNECT TO SAMPLE;EXPORT TO "C:\集成交换格式" OF IXF MESSAGES "C:\集成交换格式.log" SELECT * FROM NEW.EMPLOYEE;CONNECT RESET;CONNECT TO SAMPLE;IMPORT FROM "C:\界定字符" OF DEL METHOD P (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) MESSAGES "C:\界定字符.log" INSERT INTO DB2ADMIN.EMPLOYEE_DUP (EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO, HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM);CONNECT RESET;CONNECT TO SAMPLE;IMPORT FROM "C:\工作表格式" OF WSF MESSAGES "C:\工作表格式.log" INSERT INTO DB2ADMIN.EMPLOYEE_DUP;CONNECT RESET;CONNECT TO SAMPLE;IMPORT FROM "C:\集成交换格式" OF IXF MESSAGES "C:\集成交换格式.log" INSERT INTO DB2ADMIN.EMPLOYEE_DUP;CONNECT RESET;70、装载数据db2 "CONNECT TO sample"db2 "CREATE TABLE exc_emp LIKE employee"db2 "ALTER TABLE exc_emp ADD COLUMN time TIMESTAMP"db2 "ALTER TABLE exc_emp ADD COLUMN message CLOB(32K)"db2 "CREATE TABLE employee_dup LIKE employee"db2 "ALTER TABLE employee_dup ADD CONSTRAINTchk_cnst CHECK(EDLEVEL > 12)"CONNECT TO SAMPLE;LOAD FROM "C:\界定字符" OF DEL METHOD P (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) MESSAGES "C:\界定字符.log" INSERT INTO DB2ADMIN.EMPLOYEE_DUP (EMPNO, FIRSTNME, MIDINIT, LASTNAME, WORKDEPT, PHONENO, HIREDATE, JOB, EDLEVEL, SEX, BIRTHDATE, SALARY, BONUS, COMM) COPY NO INDEXING MODE AUTOSELECT;CONNECT RESET;---check constraintdb2 SET INTEGRITY FOR employee_dup IMMEDIATE CHECKED FOR EXCEPTION IN employee_dup USE exc_emp71、生成DDL语句---single schemadb2look -d SAMPLE -z NEW -u DB2ADMIN -e -l -x -m -r ;---full databasedb2look -d SAMPLE -a -e -l -x -m -r -f ;72、索和并发控制DB2 provides different levels of protection to isolate data:◆ Uncommitted read◆ Cursor stability◆ Read stability◆ Repeatable read---default isolation levelCursor stabilityexercise(using ur isolation):1.1 Open two Command Line Processor windows. We will refer to these windowsas W1 and W2. Make sure they connect to the correct instance before moving to the nextstep.1.2 Set the AUTOCOMMIT feature OFF in both W1 and W2 by executing this command:db2 => update command options using c off1.3 Change isolation level of W1 to uncommitted read.db2 => CHANGE ISOLATION TO URdb2 => CONNECT TO sample1.4 Now go to W2 where the default isolation is cursor stability. Run these commands:db2 => CONNECT TO sampledb2 => UPDATE staff SET salary = salary + 101.5 Go back to W1 and run the following statement to view dirty records from the staff table.db2 => SELECT * FROM staffYou will see updated, but not committed data in W2. This is known as a dirty read.1.6 Again switch to W2 and roll back the transaction.db2 => ROLLBACK1.7 Now, you can get actual data in W1:db2 => SELECT * FROM staff1.8 Close both windows W1 and W2.exercise(Locking a Database)The syntax for the CONNECT command is shown here:CONNECT TO database_name [IN EXCLUSIVE MODE]Execute the following command:db2 CONNECT TO sample IN EXCLUSIVE MODEUSER your_login USING your_passwordNow, try to connect to sample database as any user other than your_login. The followingmessage is returned:db2 connect to sample user test using testSQL1035N The database is currently in use. SQLSTATE=5701973、出错处理实例参数:diaglevel=3日志文件:D:\IBM\SQLLIB\DB274、View Registry VariablesUse the db2set command to view registry variable values:db2set -i for instance-level parametersdb2set -g for global-level parametersdb2set -I for all the defined profilesdb2set -all for all the registry variables with valuesdb2set -lr for all available parametersTo set a parameter for the current instance:Syntax: db2set parameter=valueExample: db2set DB2COMM=tcpip,npipeTo set a parameter’s value for a specific instance:Syntax: db2set parameter=value -i instance_nameExample: db2set DB2COMM=tcpip,npipe -i altinstTo set a parameter at the global level:Syntax: db2set parameter=value -gExample: db2set DB2COMM=tcpip,npipe -g75、Cataloging the ServerSyntax for cataloging a server:CATALOG TCPIP NODE node_nameREMOTE {hostname | ip_address}SERVER {svcename | port_number}Example:CATALOG TCPIP NODE db2serv REMOTE 9.186.128.141 SERVER 370076、cataloging the databaseSyntax for cataloging a database:CATALOG DATABASE db_name AS db_aliasAT NODE node_nameExample:CATALOG DATABASE sample AS srv_sampAT NODE db2server二、目录视图说明说明目录视图检查约束 SYSCAT.CHECKS列 SYSCAT.COLUMNS检查约束引用的列 SYSCAT.COLCHECKS关键字中使用的列 SYSCAT.KEYCOLUSE数据类型 SYSCAT.DATATYPES函数参数或函数结果 SYSCAT.FUNCPARMS参考约束 SYSCAT.REFERENCES模式 SYSCAT.SCHEMATA表约束 SYSCAT.TABCONST表 SYSCAT.TABLES触发器 SYSCAT.TRIGGERS用户定义函数 SYSCAT.FUNCTIONS视图 SYSCAT.VIEWS三、字符串类型二进制大对象 (BLOB) 字符串。
最详细的db2命令,很好用
最详细的db2命令,很好用db2常用命令大全解决表挂起原因码7 状态 -668 reorg table <表名>; ********** 我已测试 okEXPORT TO D:\PRINTXML.IXF OF IXF近一年来在项目开发中使用到了IBM的DB2 9.1的数据库产品,跟Oracle相比一些命令有很大的区别,而它最大的功能是支持xml存储、检索机制,通过XPath进行解析操作,使开发人员免于对xml文件在应用进行解析处理,先对其常用命令进行一下汇总,以免遗忘。
注意:在执行如下命令时,需要首先安装db2客户端并通过在运行中输入db2cmd进行初始化一、基础篇1、db2 connect to <数据库名> --连接到本地数据库名db2 connect to <数据库名> user <用户名> using <密码> --连接到远端数据库2、 db2 force application all --强迫所有应用断开数据库连接3、db2 backup db db2name<数据库名称> to /home/db112--备份整个数据库数据到home下的db2inst1,注意:这个有版本的区别,如在linux中备份的到window系统中就恢复不了db2 restore db from /home/db112 --还原数据库4、db2 list application --查看所有连接(需要连接到具体数据库才能查看)5、db2start --启动数据库db2stop --停止数据库6、create database <数据库名> using codeset utf-8 territory CN --创建数据库使用utf-8编码7、db2 catalog 命令db2 catalog tcpip node <接点名称> remote <远程数据库地址> server <端口号> --把远程数据库映射到本地接点一般为50000db2 catalog db <远程数据库名称> as <接点名称> at node PUB11 --远程数据库名称到本地接点db2 CONNECT TO <接点名称> user <用户名> using <密码> --连接本地接点访问远程数据库8、数据库导出db2look -d <数据库名> -u <用户> -e -o <脚本名称>.sql --导出数据库的表结构,其中用户空间一般为db2admin/db2inst1db2look -d <数据库名> -u <用户> -t <表1> <表2> -e -o <脚本名称>.sql --导出数据库中表1和表2的表结构db2move <数据库名> export EXPORT TO /home/db2inst1/PRINTXML.IXF --导出数据库数据db2move <数据库名> export -tn <表1>,<表2> --导出数据库中表和表数据9、数据库导入db2 -tvf <脚本名称>.sql --把上述导出的表结构导入到数据库表结构db2move <数据库名> load -lo replace --把上述“db2move <数据库名> export “导出的数据导入到数据库中并把相同的数据替换掉在实际使用过程中,如果用到db2自增主键,需要使用by default,而不是always,功能是一样的,但这样在数据移植时候会很方便!10、db2 connect reset 或 db2 terminate --断开与数据库的连接11、db2set db2codepage=1208 --修改页编码为120812、db2 describe table <表名> --查看表结构13、db2 list tables --查看数据库中所有表结构list tables for system --列出所有系统表14、db2 list tablespaces --列出表空间二、高级篇15、fetch first 10 rows only --列出表中前10条数据例如:select * from <表名> fetch first 10 rows only16、coalesce(字段名,转换后的值) --对是null的字段进行值转换例如:select coalesce(id,1) from <表名> --对表中id如果为null 转换成117、dayofweek(日期) --计算出日期中是周几(1是周日,2是周一.......7是周六)dayofweek_iso --计算出日期中是周几(1是周一.......7是周日)例如:dayofweek(date(2008-01-16)) --它会返回是4,代表星期三dayofweek_iso(date(2008-01-16)) --它会返回是3,代表星期三18、dayofyear(日期) --一年中的第几天,范围在1-366范围之内注意:参数中日期的格式是YYYY-MM-DD的形式,如果不是需要进行转换,否则函数不能使用例如:日期是20080116必须要进行转换dayofweek(concat(concat(concat(substr(openDate,1,4),'-'),concat(substr(openDate,5,2),'-')),substr(openDate,7,2))) as week)这样格式正确的。
db2常用命令
db2常用命令DB2,全称为DataBase 2,是一种常见的关系数据库管理系统。
作为IBM的一款商业软件,DB2一直获得了正面的反响。
它提供了一丛强大的数据库命令来帮助用户管理关系数据库。
下面介绍一些常用的DB2命令:1、CREATE:该命令可用于创建数据库,表,索引等,例如:CREATE DATABASE dbname;2、DROP:该命令可用于删除数据库,表,索引,和其他数据库对象,例如: DROP DATABASE dbname;3、ALTER:该命令可用于修改数据库,表,索引等,例如:ALTER TABLE tablename ADD COLUMN columnname VARCHAR(20) DEFAULT ‘default value’;4、SELECT:该命令可用于从数据库中检索数据,例如: SELECT * FROM tablename WHERE columnname =’value’;5、INSERT:该命令可用于向数据库中插入数据,例如: INSERT INTO tablename (column1,column2,column3) VALUES(value1,value2,value3 );6、UPDATE:该命令可用于更新数据库中的数据,例如: UPDATE tablename SET column=value WHERE …;7、DELETE:该命令可用于从数据库中删除数据,例如: DELETE FROM tablename WHERE column=value;8、COMMIT:该命令可以提交数据变更,例如: COMMIT;9、GRANT:该命令可用于授权指定用户使用数据库中的资源,例如: GRANT SELECT, INSERT,UPDATE ON tablename TO user1;10、REVOKE:该命令可用于取消指定用户使用数据库中的资源,例如: REVOKE SELECT,INSERT,UPDATE ON tablename FROM user1;综上所述,DB2拥有一系列非常强大的命令,能够方便用户管理关系数据库,帮助用户更高效地完成任务。
DB2数据库的常用操作指令
DB2数据库的常用操作指令DB2是一种关系型数据库管理系统,其常用操作指令可以帮助用户在数据库中执行各种操作。
以下是DB2数据库的一些常用操作指令。
1.连接数据库:CONNECT TO database_name [USER username USING password]2.断开数据库连接:CONNECTRESET3.创建表:CREATE TABLE table_name (column1 datatype, column2 datatype, ...)4.删除表:DROP TABLE table_name5.修改表结构:ALTER TABLE table_name ALTER COLUMN column_name SET DATA TYPE datatype6.插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)7.更新数据:UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition8.删除数据:DELETE FROM table_name WHERE condition9.查询数据:SELECT column1, column2, ... FROM table_name WHERE condition 10.创建索引:CREATE INDEX index_name ON table_name (column1, column2, ...)11.删除索引:DROP INDEX index_name12.创建视图:CREATE VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition13.修改视图:ALTER VIEW view_name AS SELECT column1, column2, ... FROM table_name WHERE condition14.删除视图:DROP VIEW view_name15.创建存储过程:CREATE PROCEDURE procedure_name (parameter1 datatype, parameter2 datatype, ...)LANGUAGESQLBEGIN--存储过程代码END16.删除存储过程:DROP PROCEDURE procedure_name17.创建触发器:CREATE TRIGGER trigger_name BEFORE/AFTERINSERT/UPDATE/DELETE ON table_nameREFERENCING OLD ROW AS old NEW ROW AS newFOREACHROW--触发器代码18.删除触发器:DROP TRIGGER trigger_name19.提交事务:COMMIT20.回滚事务:ROLLBACK21.创建数据库:CREATE DATABASE database_name22.删除数据库:DROP DATABASE database_name以上是DB2数据库的一些常用操作指令,可以帮助用户在数据库中执行各种操作。
DB2常用命令小结
1、打开命令行窗口#db2cmd2、打开控制中心# db2cmd db2cc3、打开命令编辑器db2cmd db2ce=====操作数据库命令=====4、启动数据库实例#db2start5、停止数据库实例#db2stop如果你不能停止数据库由于激活的连接,在运行db2stop前执行db2 force application all 就可以了/db2stop force6、创建数据库#db2 create db [dbname]7、连接到数据库#db2 connect to [dbname] user [username] using [password]8、断开数据库连接#db2 connect reset9、列出所有数据库#db2 list db directory10、列出所有激活的数据库#db2 list active databases11、列出所有数据库配置#db2 get dbcfg12、删除数据库#db2 drop database [dbname](执行此操作要小心)如果不能删除,断开所有数据库连接或者重启db2 =========操作数据表命令==========13、列出所有用户表#db2 list tables14、列出所有系统表#db2 list tables for system15、列出所有表#db2 list tables for all16、列出系统表#db2 list tables for system17、列出用户表#db2 list tables for user18、列出特定用户表#db2 list tables for schema [user]19、创建一个与数据库中某个表(t2)结构相同的新表(t1) #db2 create table t1 like t220、将一个表t1的数据导入到另一个表t2#db2 "insert into t1 select * from t2"21、查询表#db2 "select * from table name where ..."22、显示表结构#db2 describe table tablename23、修改列#db2 alter table [tablename] alter column [columname] set data type varchar(24)======脚本文件操作命令=======24、执行脚本文件#db2 -tvfscripts.sql25、帮助命令* 查看命令帮助#db2 ? db2start* 查看错误码信息#db2 ? 22001* memo: 详细命令请使用"db2 ? <command>"进行查看。
db2中的常用命令及使用方法
db2中的常用命令及使用方法1 启动一个db 2实例使用:net start instanceName2 停止一个db 2实例使用:net stop instanceName3 显示所有db 2命令的列表:db2=>!db2 ?4 显示某条命令的相关信息:db2=>!db2 ? command5 显示某个SQLCODE的解释信息:db2=>!db2 ? SQLnnnn6 显示某个DB2错误的解释信息:db2=>!db2 ? DB2nnnn7 查看当前命令行处理器的设置:db2=>list command options8 启动配置助手:db2=>!db2ca9 手工配置连接:db2=>catalog node/db10 删除视图:db2=>drop view view_name11 创建表:db2=>create table tablename12 db2数据库管理器获取行级锁:db2=>alter table (tablename) locksize table13 强迫db2数据库管理器获取表级琐:db2=>lock table (tablename) in (share/exclusive) mode14 返回数据库管理器配置设置:db2=>get dbm cfg15 显示数据库管理器参数的当前值和延迟值:db2=>get dbm cfg show detail16 将数据库管理器配置参数<p> 更新为值<v>:db2=>update dbm cfg using <p> <v>17 返回DB2INSTANCE 环境变量的值:db2=>get instance18 列出活动的数据库和连接数:db2=>list active databases19 返回关于当前连接的应用程序的信息:db2=>list application [show detail]20 根据句柄号与特定应用程序断开连接:db2=> force application (h1 [,h2,..,hn])21 断开所有应用程序与数据库的连接:db2=> force application all22 以用户<userid> 通过使用密码<pwd> 与标识为<node> 的远程实例连接:db2=> attach to <node> user <userid> using <pwd>23 创建名为<dbname> 的数据库:db2=> create database <dbname>24 显式地激活数据库:db2=> activate database <dbname>25 显式地使数据库失效:db2=> deactivate database <dbname>26 根据需要,显式地以用户<userid> 和密码<pwd> 与数据库<dbname> 连接:db2=> connect to <dbname> [ [user <userid>] using <pwd>]27 将数据库管理器配置参数<p> 更新为值<v>:db2=> 1update dbm cfg using <p> <v>28 断开与当前数据库的连接:db2=> connect reset29 显示数据库配置参数的当前值和延迟值(仅适用于V8):db2=> get db cfg show detail30 返回数据库<dbname> 的数据库配置设置:db2=> get db cfg for <dbname>31 将数据库<dbname> 的数据库配置参数<p> 更新为值<v>:db2=> update db cfg for <dbname> using <p> <v>32 列出数据库中的表。
DB2操作常用命令
1、数据操作语言(DML:select,delete,insert,update)<1>查询数据库目录:db2 list db directory<2>查询数据库中表db2 list tables 当前用户db2 list tables for all 所有表db2 list tables for schema schemaname 指定模式的表<3>显示表结构db2 describe table tablename<4>插入数据db2 insert into tablename(字段名,字段名...) values (与字段名一一对应的值)db2 insert into tablename1(字段1,字段2,字段3...)select 字段1,字段2,字段3...from tablename2 + 查询条件<5>更改表或视图数据db2 update tablename/viewname set 字段名1='',字段2='',...+查询条件<6>删除数据db2 delete from tablename where + 条件<7>导入数据db2 "import from E:\name.txt of del insert into tableName" db2 "import from E:\name.ixf of ixf commitcount 5000 insert /create/replace into tableName"db2 "load client from D:\xx.txt of del insert/replace into tabName"(不需要写日志,但插入前表必须存在;不能create table)db2 "load client from D:\xx.txt of del restart/terminate into tabName" 当导入数据出现问题被强行中断时,此表会被加锁,通过此命令可以解锁<8>导出数据db2 "export to E:\name.txt of del select * from tableName" db2 "export to E:\name.txt of del MODIFIED BY NOCHARDEL select * from tableName"(导出不带分号的数据)导出表结构和数据db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName"db2 "export to E:\name.ixf of ixf MODIFIED BY NOCHARDEL select * from tableName fetch first (取数+UNM) rows only"(取固定条数) 导出表结构db2look -d dbName -e -t tableName -o D:\xxx.sql(path) -i userName -w passworddb2look -d dbName -z tabSchema -e -c -i userName -w password -o + 路径名导出存储过程结构db2 "export to xxx.sql of del select text fromsyscat.procedures where procname='大写存储过程名'"<9>查询表状态db2 load query table + tableName<10>查询当前表数据量(数据入库时)db2 select count(1) from tab with ur<11>修改当前表名、模式名db2 rename table tab1 to tab22、数据定义语言(DDL:create,alter)<1>创建或删除实例db2icrt instance_name/db2idrop -f instance_namelinux:db2icrt -u user_id instance_name<2>创建视图、表、模式db2 create view/table/schema创建指定用户的模式db2 create schema schName AUTHORIZATION userNamedb2 create schema AUTHORIZATION userName(没有指定模式名时,模式名隐含为用户名userName)定义含有缺省值的表db2 create table tableName(column1 数据类型,column2 数据类型default '缺省值')基于已存在的表db2 create table clone_tablename like tablenamedb2 create table clone_tablename as (select * from tablename) definition only创建物化查询表(MQT)create table new_table_name as (select * from table_name) data initially deferred refresh deferred;refresh table new_table_name;注意:物化表类似一个查询,没有真正形成表,类型显示为Query。
db2命令实例大全.
db2命令实例大全管理命令:create database mbmst using codeset GBK territory CN1.启动数据库db2start2.停止数据库db2stop3.连接数据库db2 connect to o_yd user db2 using pwd4.读数据库管理程序配置db2 get dbm cfg5.写数据库管理程序配置db2 update dbm cfg using 参数名参数值6.读数据库的配置db2 connect to o_yd user db2 using pwddb2 get db cfg for o_yd(查看数据库字符集)7.写数据库的配置db2 connect to o_yd user db2 using pwddb2 update db cfg for o_yd using 参数名参数值8.关闭所有应用连接db2 force application alldb2 force application ID1,ID2,,,Idn MODE ASYNC(db2 list application for db o_yd show detail)9.备份数据库db2 force application alldb2 backup db o_yd to d:(db2 initialize tape on \\.\tape0)(db2 rewind tape on \\.\tape0)db2 backup db o_yd to \\.\tape010.恢复数据库db2 restore db o_yd from d: to d:db2 restore db o_yd from \\.\tape0 to d:11.绑定存储过程db2 connect to o_yd user db2 using pwddb2 bind c:\dfplus.bnd拷贝存储过程到服务器上的C:\sqllib\function目录中12.整理表db2 connect to o_yd user db2 using pwddb2 reorg table ydddb2 runstats on table ydd with distribution and indexes all13.导出表数据db2 export to c:\dftz.txt of del select * from dftzdb2 export to c:\dftz.ixf of ixf select * from dftz14.导入表数据import from c:\123.txt of del insert into ylbx.czyxxdb2 import to c:\dftz.txt of del commitcount 5000 messages c:\dftz.msg insert into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 messages c:\dftz.msg insert into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 insert into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 insert_update into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 replace into dftzdb2 import to c:\dftz.ixf of ixf commitcount 5000 create into dftz (仅IXF)db2 import to c:\dftz.ixf of ixf commitcount 5000 replace_create into dftz (仅IXF)15.执行一个批处理文件db2 -tf 批处理文件名(文件中每一条命令用;结束)16.自动生成批处理文件建文本文件:temp.sqlselect 'runstats on table DB2.' || tabname || 'with distribution and detailed indexes all;'from syscat.tables where tabschema='DB2' and type='T';db2 -tf temp.sql>runstats.sql17.自动生成建表(视图)语句在服务器上:C:\sqllib\misc目录中db2 connect to o_yd user db2 using pwddb2look -d o_yd -u db2 -e -p -c c:\o_yd.txt18.其他命令grant dbadm on database to user bb19.select * from czyxx fetch first 1 rows only20db2look -d ylbx -u db2admin -w -asd -a -e -o a.txt21. 显示当前用户所有表list tables22.列出所有的系统表list tables for system23.查看表结构db2 describe select * from user.tables24.在db2cmd界面下运行db2licm -l,可以很明显的看到许可证已经过期了25.添加许可证 db2licm -a G:\DB2_8.1.5\db2ese.lic26.DB2命今行中避开按回车执行命令select * \from tableName27.建远程数据库db2 catalog tcpip node hongta remote 10.96.28.204 server 50000db2 catalog db 远程数据库名 as 本地别名 at node hongtadb2 terminate28.创建和删除实例:A.要在 Windows 中创建实例,只需发出以下命令:db2icrt instance_nameB.在 UNIX 中,还必须提供用户标识,用来创建受防护的用户定义的函数和存储过程进程,如:db2icrt -u fenced_user_ID instance_nameC.要删除实例,应断开与所有数据库的连接,然后停止该实例。
db2数据库 sql常用命令
DB2数据库 SQL常用命令一、连接数据库1. 从命令行连接数据库- 语法: db2 connect to <database_name> user <username> using <password>- 示例: db2 connect to sample user db2inst1 using passw0rd2. 从命令行断开数据库连接- 语法: db2 connect reset- 示例: db2 connect reset3. 显示当前连接的数据库- 语法: db2 list database directory- 示例: db2 list database directory二、管理数据库对象4. 创建数据库- 语法: db2 create database <database_name>- 示例: db2 create database sample5. 删除数据库- 语法: db2 drop database <database_name>- 示例: db2 drop database sample6. 创建表- 语法: db2 create table <table_name> (<column1_name> <data_type>, <column2_name> <data_type>, ...)- 示例: db2 create table employee (id int, name varchar(50), age int)7. 删除表- 语法: db2 drop table <table_name>- 示例: db2 drop table employee8. 插入数据- 语法: db2 insert into <table_name> values (<value1>,<value2>, ...)- 示例: db2 insert into employee values (1, 'John', 25)9. 删除数据- 语法: db2 delete from <table_name> where <condition> - 示例: db2 delete from employee where id = 110. 更新数据- 语法: db2 update <table_name> set <column_name> =<new_value> where <condition>- 示例: db2 update employee set age = 30 where id = 111. 查询数据- 语法: db2 select <column1_name>, <column2_name>, ... from <table_name> where <condition>- 示例: db2 select * from employee三、管理数据库事务12. 启动事务- 语法: db2 autmit off- 示例: db2 autmit off13. 提交事务- 语法: db2mit- 示例: db2mit14. 回滚事务- 语法: db2 rollback- 示例: db2 rollback四、管理数据库权限15. 创建用户- 语法: db2 create user <username> password <password> - 示例: db2 create user testuser password testpass16. 授权- 语法: db2 grant <privilege> on <object> to <user>- 示例: db2 grant select, insert, update on employee to testuser17. 撤销授权- 语法: db2 revoke <privilege> on <object> from <user> - 示例: db2 revoke select, insert, update on employee from testuser五、管理数据库性能18. 优化SQL查询- 语法: db2expln -d <database_name> -t <sql_statement> - 示例: db2expln -d sample -t "select * from employee"19. 查看数据库锁- 语法: db2 list applications show det本人l- 示例: db2 list applications show det本人l20. 查看数据库表空间使用情况- 语法: db2pd -d <database_name> -tablespaces- 示例: db2pd -d sample -tablespaces六、其他常用命令21. 导出数据- 语法: db2 export to <file_name> of del select * from<table_name>- 示例: db2 export to employee.csv of del select * from employee22. 导入数据- 语法: db2 import from <file_name> of del insert into<table_name>- 示例: db2 import from employee.csv of del insert into employee23. 查看数据库配置参数- 语法: db2 get db cfg for <database_name>- 示例: db2 get db cfg for sample结语以上就是DB2数据库SQL常用命令的介绍,通过掌握这些命令,可以更方便地管理和使用DB2数据库。
DB2数据库的常用操作指令
31. 导入数据
import from
如:导入用户表。导入时可以直接建立新表。如果有该表存在也可以用INSERT 插入,或者用UPDATE更新
import from c:\user.ixf of ixf [Create/Insert into / update]
tablename
14. 执行脚本文件
命令窗口:db2 -tvf
15. 代码页的转换
16. 获取当前DB2的版本
select * from sysibm.sysversions
17. DB2表的字段的修改限制?
只能修改VARCHAR2类型的并且只能增加不能减少
alter table alter column set data type
varchar(SIZE)
18. 如何查看表的结构?
describe table
or
describe select * from .
19. 如何快速清除一个大表?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE
26. 多个字段时如何不通过使用select子句使用in/not in
select * from tabschema.tabname where (colA, colB, colC) [not] in
(values (valueA1, valueB1, valueC1), (valueA2, valueB2, valueC2),
命令窗口:db2 select * from \"tabschema\".\"tabname\"
DB2数据库的操作命令总结
DB2数据库的操作命令总结以下是DB2数据库的操作命令总结:1. 连接数据库:CONNECT TO database_name USER username USING password使用CONNECTTO命令可以连接到特定的数据库,需要提供数据库的名称、用户名和密码。
2. 断开数据库连接:DISCONNECT database_name使用DISCONNECT命令可以断开与数据库的连接。
3. 创建数据库:CREATE DATABASE database_name使用CREATEDATABASE命令可以创建一个新的数据库。
4. 删除数据库:DROP DATABASE database_name使用DROPDATABASE命令可以删除一个已经存在的数据库。
5.列出所有数据库:LISTDATABASEDIRECTORY使用LISTDATABASEDIRECTORY命令可以列出所有的数据库。
6. 切换数据库:CONNECT TO database_name使用CONNECTTO命令可以切换到另一个已存在的数据库。
7. 创建表:CREATE TABLE table_name (column1 datatype1, column2 datatype2, ...)使用CREATETABLE命令可以创建一个新的表,需要提供表名和各个列的名称及数据类型。
8. 删除表:DROP TABLE table_name使用DROPTABLE命令可以删除一个已经存在的表。
9. 查询表的结构:DESCRIBE TABLE table_name使用DESCRIBETABLE命令可以查询一个表的结构,包括各个列的名称和数据类型。
10. 查询表的数据:SELECT * FROM table_name使用SELECT命令可以查询一个表中的数据,使用*表示查询所有的列。
11. 插入数据:INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...)使用INSERTINTO命令可以向一个表中插入新的数据,需要提供插入的列和相应的值。
db2常用命令
DB2常用命令连接数据库:connect to [数据库名] user [操作用户名] using [密码]创建缓冲池(8K):create bufferpool ibmdefault8k IMMEDIATE SIZE 5000 PAGESIZE 8 K ; 创建缓冲池(16K)(OA_DIVERTASKRECORD):create bufferpool ibmdefault16k IMMEDIATE SIZE 5000 PAGESIZE 16 K ; 创建缓冲池(32K)(OA_TASK):create bufferpool ibmdefault32k IMMEDIATE SIZE 5000 PAGESIZE 32 K ;创建表空间:CREATE TABLESPACE exoatbs IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 8K MANAGED BY SYSTEM USING('/home/exoa2/exoacontainer') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT8K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TABLESPACE exoatbs16k IN DATABASE PARTITION GROUPIBMDEFAULTGROUP PAGESIZE 16K MANAGED BY SYSTEM USING('/home/exoa2/exoacontainer16k' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT16K OVERHEAD 24.1 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TABLESPACE exoatbs32k IN DATABASE PARTITION GROUP IBMDEFAULTGROUP PAGESIZE 32K MANAGED BY SYSTEM USING('/home/exoa2/exoacontainer32k' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT32K OVERHEAD 24.1 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;GRANT USE OF TABLESPACE exoatbs TO PUBLIC;GRANT USE OF TABLESPACE exoatbs16k TO PUBLIC;GRANT USE OF TABLESPACE exoatbs32k TO PUBLIC;创建系统表空间:CREATE TEMPORARY TABLESPACE exoasystmp IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 8K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT8K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TEMPORARY TABLESPACE exoasystmp16k IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 16K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp16k' ) EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT16K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;CREATE TEMPORARY TABLESPACE exoasystmp32k IN DATABASE PARTITION GROUP IBMTEMPGROUP PAGESIZE 32K MANAGED BY SYSTEM USING ('/home/exoa2/exoasystmp32k') EXTENTSIZE 32 PREFETCHSIZE 16 BUFFERPOOL IBMDEFAULT32K OVERHEAD 24.10 TRANSFERRATE 0.90 DROPPED TABLE RECOVERY OFF;1. 启动实例(db2inst1):db2start2. 停止实例(db2inst1):db2stop3. 列出所有实例(db2inst1)db2ilist5.列出当前实例:db2 get instance4. 察看示例配置文件:db2 get dbm cfg|more5. 更新数据库管理器参数信息:db2 update dbm cfg using para_name para_value 6. 创建数据库:db2 create db test7. 察看数据库配置参数信息db2 get db cfg for test|more8. 更新数据库参数配置信息db2 update db cfg for test using para_name para_value 10.删除数据库:db2 drop db test11.连接数据库db2 connect to test12.列出所有表空间的详细信息。
DB2数据库的操作命令总结
DB2数据库的操作命令总结DB2是IBM公司开发的一种关系型数据库管理系统,它支持SQL标准,并且提供了扩展功能。
DB2数据库的操作命令主要包括数据库的创建、备份与恢复、数据的增删改查、用户管理等。
下面是对DB2数据库操作命令的总结:1.创建数据库:- CREATE DATABASE db_name:创建一个新的数据库。
- ATTACH TO DATABASE db_name USER user_name USING password:连接到数据库。
2.备份与恢复:- BACKUP DATABASE db_name TO backup_path:备份数据库。
- RESTORE DATABASE db_name FROM backup_path:恢复数据库。
3.数据的增删改查:- INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...):向表中插入新的数据。
- DELETE FROM table_name WHERE condition:从表中删除满足条件的数据。
- UPDATE table_name SET column1 = value1, column2 =value2, ... WHERE condition:更新表中满足条件的数据。
- SELECT column1, column2, ... FROM table_name WHERE condition:从表中查询满足条件的数据。
4.表的创建与删除:- CREATE TABLE table_name (column1 data_type, column2data_type, ...):创建一个新的表。
- DROP TABLE table_name:删除表。
5.索引的创建与删除:- CREATE INDEX index_name ON table_name (column1,column2, ...):创建索引。
db2数据库常用命令
db2常用命令0.进入db2命令环境db2cmd1.启动db2db2start;2.关闭db2db2stop;db2stop force;3.创建数据库db2 create db ;db2 create db using codeset GBK territory CN;db2 Create database using codeset IBM-eucCN territory CN;这样可以支持中文。
4.删除数据库(执行此操作要小心)db2 drop db如果不能删除,断开所有数据库连接或者重启db2。
5.断开数据库连接db2 force application all6.连接数据库db2 connect to user using7.断开数据库连接断开当前数据库连接:db2 connect reset或者:db2 disconnect current断开所有数据库的连接:db2 disconnect all8.备份数据库db2 backup db备注:执行以上命令之前需要断开数据库连接9.恢复数据库db2 restore db10.导出数据文件db2move export [-sn <模式名称,一般为db2admin>] [-tn <表名,多个之间用逗号分隔>]; 更多时候用下面这种方式:db2 export to test.ixf of ixf select * from11.导入数据文件db2move importdb2 import from text.ixf of ixf create into ;(表不存在)db2 import from text.ixf of ixf insert into ;(表已经存在)12.建立映像:db2 catalog tcpip node nodename remote 10.0.2.3 server 50000db2 catalog db dbname at node nodename13.撤销映像:db2 uncatalog db dbname14.列出数据库中所有db:db2 list db directory15.获取建表脚本:db2look -d dbname -e -t tablename -a -x -i userId -w password -o filename.sql-d: 数据库名:这必须指定-e: 抽取复制数据库所需要的 DDL 文件-u: 创建程序标识:若 -u 和 -a 都未指定,则将使用 $USER-z: 模式名:如果同时指定了 -z 和 -a,则将忽略 -z-t: 生成指定表的统计信息-h: 更详细的帮助消息-o: 将输出重定向到给定的文件名-a: 为所有创建程序生成统计信息-m: 在模拟方式下运行 db2look 实用程序-c: 不要生成模拟的 COMMIT 语句-r: 不要生成模拟的 RUNSTATS 语句-l: 生成数据库布局:数据库分区组、缓冲池和表空间。
DB2_常用命令总结
DB2 常用命令总结目录1. db2命令参数选项 (4)1.1 查看参数选项的命令 (4)1.2 参数选项功能及缺省设置 (4)2数据库目录 (4)2.1 如何查看数据库目录 (4)3表 (5)3.1 如何知道表的字段的状况 (5)3.2 如何知道db2的数据类型 (5)3.3 如何查看表的结构 (5)3.4 如何快速清除一个大表 (5)3.5 如何重命名表 (5)3.6 如何实施已删除表的恢复(dropped table recovery) (5)3.7 临时表的建立 (6)4包 (6)4.1 如何查看数据库的包 (6)5 表空间 (6)5.1 如何知道表空间tablespace的状况 (6)6索引 (6)6.1 如何知道索引index的状况 (6)7 存储过程 (7)7.1 如何查看数据库的存储过程 (7)7.2 如何抽取存储过程 (7)7.3 如何提交存储过程 (7)7.4 如何在命令符下提交存储过程 (7)8游标 (7)8.1 从存储过程返回结果集(游标)的用法 (7)8.1.1 建一sp返回结果集 (7)8.1.2 建一sp调该sp且使用它的结果集 (7)8.2 游标的循环定义 (8)9实例 (8)9.1 如何创建实例 (8)9.2 列出所有实例 (9)9.3 获取当前实例 (9)9.4 更新实例的配置 (9)9.5 删除实例 (9)10序列 (10)10.1 如何定义序列 (10)11 缓冲池 (10)11.1 如何修改缓冲池 (10)11.2 如何知道缓冲池bufferpools的状况 (10)12 导入导出数据 (10)12.1 文件格式 (10)12.2 load的工作步骤: (10)13数据的备份及恢复 (11)13.1 如何备份数据库 (11)13.2 如何恢复数据库 (11)14日志 (12)14.1 如何处理日志 (12)14.1.1 日志介绍 (12)14.1.2 处理步骤 (12)14.2 如何清理db2diag.log文件 (13)14.3 import如何避免日志满出错 (13)14.4 如何关闭表的日志 (13)15sql的执行计划 (13)15.1 如何获取sql执行计划 (13)16sql的执行性能 (14)16.1 测试sql的执行性能 (14)17数据库的启功、激活及停止 (14)17.1 如何重新啟動数据库 (14)17.2 如何激活数据库 (14)17.3 如何停止数据库 (14)18db2环境变量 (14)18.1 如何设置db2环境变量 (14)19数据库sample的配置及参数设置 (14)19.1 如何查看配置文件的內容 (14)19.2 如何將参数设置为默认数值 (14)19.3 如何修改配置参数数值 (14)20安装db2默认值 (15)20.1 各种操作系统默认值 (15)21db2的版本 (15)21.1 如何知道当前db2的版本 (15)22import , export , load 命令 (15)22.1 import和export的用法 (15)22.2 load的用法 (15)22.3 load和import的不同 (15)23 db2move命令 (16)23.1 如何使用db2move (16)24runstats命令 (17)24.1 如何执行runstats等优化命令 (17)24.2 查看什么时候进行了runstats (17)25db2licm 命令 (18)25.1 列出本地系统上有许可信息的所有产品 (18)26 db2look 命令 (18)26.1 如何生成所有对象的ddl (18)27 quiesce状态 (18)27.1 如何除去quiesce状态 (18)28 sqlstate (18)28.1 sqlstae含义 (18)29 应用查看和删除 (18)29.1 如何获取连接的进程 (18)29.2 删除当前正在使用的application: (18)29.3 查看当前应用号的执行状态 (19)30 db2 运算的问题 (19)30.1 db2乘法运算的结果位数最大为32位(包括小数点) (19)30.2 db2转换运算需注意的问题 (19)1.db2命令参数选项1.1查看参数选项的命令db2 list command options 可以查看-a 显示 sqlca off-c 自动落实 on-e 显示 sqlcode/sqlstate off-f 读取输入文件 off-l 将命令记录到历史文件中 off-n 除去换行字符 off-o 显示输出 on-p 显示交互式输入提示 on-r 将输出保存到报告文件 off-s 在命令出错时停止执行 off-t 设置语句终止字符 off-v 回送当前命令 off-w 显示 fetch/select 警告信息 on-x 不打印列标题 off-z 将所有输出保存到输出文件 off1.2参数选项功能及缺省设置.a 显示 sqlca 的数据,缺省为 off。
db2常用命令
3. 取消节点编目
db2 uncatalog node <node_name>
1. 查看本地节点目录
命令窗口中输入:db2 list node directory
2. 编目一个TCP/IP节点
12. 表名或模式中含有引号时访问表
db2 backup db o_yd to d:
(db2 initialize tape on \\.\tape0)
(db2 rewind tape on \\.\tape0)
db2 backup db o_yd to \\.\tape0
10.恢复数据库
db2 import to c:\dftz.ixf of ixf commitcount 5000 insert into dftz
db2 import to c:\dftz.ixf of ixf commitcount 5000 insert_update into dftz
db2 import to c:\dftz.ixf of ixf commitcount 5000 replace into dftz
6. 编目数据库
db2 catalog database <db_name> as <db_alias> at node <node_name>
7. 取消数据库编目
db2 uncatalog database <db_name>
拷贝存储过程到服务器上的C:\sqllib\function目录中
12.整理表
db2 connect to o_yd user db2 using pwd
db2 reorg table ydd
DB2常用命令
DB2常⽤命令 在开发过程中总结的⼀些DB2的常⽤命令,也是⾃⼰需要⽤的时候在⽹上查的,在此做个汇总。
⼀、DB2导⼊/导出表数据语句1.1 del与ixf区别 del格式是⼀个⽂本⽂件,⽂件按⾏来存储,含有回车的⽂本内容在del⽂件中会另起⼀⾏,del⽂件可视;ixf格式保存的是结构和数据,是⼀个⼆进制⽂件,ixf⽂件不可视。
1.2 正常的导⼊/出数据 db2 "export to 路径/⽂件名.ixf of ixf select * from tablename"; db2 "export to 路径/⽂件名.del of del select * from tablename" db2 "import from 路径/⽂件名.del或者⽂件名.txt of del insert into tablename"; db2 "import from 路径/⽂件名.ixf或者⽂件名.ixf of ixf insert into tablename";1.3 指定编码导⼊/导出数据 1383是gb2312 db2 "export to data819.del of del modified by codepage=1208 select * from tab1" 1208是utf-8 db2 "export to data1386.del of del modified by codepage=1383 select * from tab1"1.4 指定分隔符导⼊/ coldel + 分隔符 db2 “import from 路径/⽂件名 of del modified by coldel分割符号 insert into 表名”1.5 导出/导⼊数据⽣成⽇志⽂件 db2 “import from 路径/⽂件名.ixf of ixf commitcount 5000(提交总数) messages ⽇志路径/⽇志⽂件名.log insert into 表名”;1.6 db2move:导出表的数据 与export命令功能相似。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
db2 force application all –断开所有链接数据库的应用
db2 list application-查看连接数据库的应用
db2 bakup db ksdbs 备份数据库
db2start db2stop启停数据库
db2 connect reset断开所有链接
scp get trans.ini -r back@10.10.9.160/home/back/bccbin \
scp local_file remote_username@remote_ip:remote_folder
或者
scp local_file remote_username@remote_ip:remote_file
scp -r ip:/db/dbhome/dbguard
【1】
db2top –d ksdbs
db2pd -d ksdbs -stat >stat.log 查看数据库状态(数据超大超详细)
【1】find -type f | xargs dos2unix
遍历格式转换
【1】
find . -name [A-Z]* -print
查找当前目录下以大写字母命名的文件
【1】
>db2ckbkp 检查数据库的完整性
>tee 命令
用途--显示程序的输出并将其复制到一个文件中。
【1】db2 connect reset
db2 list directory
db2 list active databases
db2 get db cfg
db2 get db cfg
【1】归档日志
db2 update db cfg for db_name using LOGRETAIN ON
更改归档目录:
db2 update db cfg for db_name using LOGARCHMETH1 "disk:/archive/db_name_db_log"
在我重新连接数据库的时候提示:
db2 connect to t_1 to mydb
SQL1116N A connection to or activation of database "T_1" cannot be made
because of BACKUP PENDING. SQLSTATE=57019
网上找了n多最后才知道
若修改数据库LOGRETAIN参数,从循环日志模式改为归档日志模式,则会导致数据库backup pending状态。
如:
执行“db2 update db cfg for mydb using LOGRETAIN RECOVERY”
数据库状态“Backup pending = YES”
此时就无法连接,访问数据库“SQL1116N A connection to or activation of database "sampledb" cannot be made because of BACKUP PENDING. SQLSTATE=57019”
因此,需要对数据库做离线全库备份,使状态恢复正常,以便正常访问。
db2 backup db mydb to /opt/bak
db2inst2@DB2Server01:~> db2 connect to mydb。