DB2数据库表空间修改文档
- 格式:docx
- 大小:263.16 KB
- 文档页数:6
导出:首先打开DB数据库:1、点击“外部数据”
2、点击导出栏“Excel”
3、点击“浏览”选择导出文件存储目录,然后“确定”
4、出现此画面,直接关闭。
然后去存储路径打开导出的文件进行修改。
导入:打开DB数据库
1、点击“外部数据”
2、导入数据时应首先关闭打开的数据表:如下图:右击“CMES”点击“关闭”。
3、此时再点击导入栏的“Excel”
4、选择导入文件的存储路径,选中“将数据库导入当前的数据库表中(I)”
5、点击“确定”
6、选择“第一行包含列标题”然后点击“下一步”。
7、直接点击“下一步”
8、选择“不要主键”,点击“下一步”
9、直接点击“完成”。
DB2表空间扩容步骤1.打开DB2的控制中心。
如下图:
2.在控制中心左边的树形结构中选择NETDB下面的表空间,如下图:
3.在右边打开的DB2-NETDB-表空间中选择需要扩容的那一个表空间,如下图:
4.找到我们需要扩容的表空间后,选择并双击得到下图的窗口-“改变表空间-NEWS_TAB”:
5.选择“容器”这个窗口,如下图:
6.选中“容器”并双击,得到“更改容器大小”这个窗口,在窗口中选择“更改容器大小”如下图:
7. 在输入栏中输入需要扩充的数值后,点确定完成更改。
如下图:
8.查看DB2表空间。
9.总容量扩充至需要的数值。
烟台项目刘潇宇。
1数据库设计时优化1.1选择数据页的大小注意:在DB2 8版本以下是这样限制, 每页上最多行不能超过255个。
如果在页大小为32KB的表空间放行长度为12字节的表,它大约只能每个页的10%,即(255 x 12字节+91字节开销)= 3KB。
造成空间的浪费。
根据大表选择大页的表空间,小表选择小页的表空间,选择是由数据行的大小估算出来的。
1.2规范化数据库被规范化后,减少了数据冗余,数据量变小,数据行变窄。
这样DB2的每一页可以包括更多行,那么每一区里的数据量更多,从而加速表的扫描,改进了单个表的查询性能。
但是,当查询涉及多个表的时候,需要用很多连接操作把信息从各个表中组合在一起,导致更高的CPU和I/O花销。
那么,有很多时候需要在规范化和非规范化之间保持平衡,用适当的冗余信息来减少系统开销,用空间代价来换取时间代价。
1.3选择数据类型对每一属性选择什么样的数据类型很大程度上依据表的要求,但是在不违背表要求的前提下,选择适当的数据类型可以提高系统性能。
比如有text 列存放一本书的信息,用BLOB而不是character(1024),BLOB存放的是指针或者文件参照变量,真正的文本信息可以放在数据库之外,从而减少数据库存储空间,使得程序运行的速度提高。
DB2提供了UDT(User Defined Datatypes)功能,用户可以根据自己的需要定义自己的数据类型。
当然我们不提倡大量使用自定义数据类型。
使用了用户自定义类型之后,编程时需要进行数据类型的转换,会导致应用性能降低。
1.4选择索引索引是数据库中重要的数据结构,它的根本目的就是为了提高查询效率。
现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。
使用索引可以快速、直接、有序的存取数据。
索引的建立虽然加快了查询,另一方面却将低了数据更新的速度,因为新数据不仅要增加到表中,也要增加到索引中。
另外,索引还需要额外的磁盘空间和维护开销。
因此,要合理使用索引:✧在经常进行连接,但是没有指定为外键的属性列上建立索引。
DB2如何调整表空间⼤⼩DB2如何调整表空间⼤⼩刚刚接到客户那边打的电话,程序⼀直报错,所有的业务都做不了,拷贝了⼀份应⽤服务器(weblogic)的⽇志,⽇志⾥显⽰:WARN : 2009-06-18 16:24:32,421: JDBCExceptionReporter[line:77}: SQL Error: -99999, SQLState: nullERROR: 2009-06-18 16:24:32,422: JDBCExceptionReporter[line:78}: [ibm][db2][jcc][102][10040] ⾮⾃动批处理出现故障。
虽然已经提交了批处理,但是该批处理的某个成员⾄少发⽣了⼀个异常。
使⽤ getNextException() 来检索已经过批处理的特定元素的异常。
WARN : 2009-06-18 16:24:32,422: JDBCExceptionReporter[line:77}: SQL Error: -289, SQLState: 57011ERROR: 2009-06-18 16:24:32,422: JDBCExceptionReporter[line:78}: Error for batch element #1: DB2 SQL error: SQLCODE: -289, SQLSTATE: 57011, SQLERRMC: SMKWARN : 2009-06-18 16:24:32,423: JDBCExceptionReporter[line:77}: SQL Error: -99999, SQLState: nullERROR: 2009-06-18 16:24:32,423: JDBCExceptionReporter[line:78}: Error for batch element #2: [ibm][db2][jcc][t4][1026][11339] 错误检查:WARN : 2009-06-18 16:24:32,423: JDBCExceptionReporter[line:77}: SQL Error: -289, SQLState: 57011ERROR: 2009-06-18 16:24:32,424: JDBCExceptionReporter[line:78}: Error for batch element #2: DB2 SQL error: SQLCODE: -289, SQLSTATE: 57011, SQLERRMC: SMKERROR: 2009-06-18 16:24:32,424: AbstractFlushingEventListener[line:301}: Could not synchronize database state with sessionorg.hibernate.exception.GenericJDBCException: Could not execute JDBC batch updateat org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:235)at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:139)at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)at org.hibernate.impl.SessionImpl.managedFlush(SessionImpl.java:338)at mit(JDBCTransaction.java:106)at org.springframework.orm.hibernate3.HibernateTransactionManager.doCommit(HibernateTransactionManager.java:575)atorg.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:662) at mit(AbstractPlatformTransactionManager.java:632)atmitTransactionAfterReturning(TransactionAspectSupport.java:314) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:117)at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:166)at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)at $Proxy803.saveApply(Unknown Source)at nct.mp.counterservice.service.CounterServiceService.applySave(CounterServiceService.java:135)at nct.mp.counterservice.ejbAction.ApplySaveEjbAction.perform(ApplySaveEjbAction.java:32)at com.lbs.sieaf.webcontroller.RequestProcessor.processRequest(RequestProcessor.java:245)at com.lbs.sieaf.webcontroller.MainServlet.doProcess(MainServlet.java:65)at com.lbs.sieaf.webcontroller.MainServlet.doPost(MainServlet.java:49)at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:225)at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:127)at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283)at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)at com.lbs.sieaf.webcontroller.CSSaftyFilter.doFilter(CSSaftyFilter.java:167)at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)at nct.cp.webcontroller.EncodingFilter.doFilter(EncodingFilter.java:66)at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3212)at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:1983)at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1890)at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1344)at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)Caused by:com.ibm.db2.jcc.b.ni: [ibm][db2][jcc][102][10040] ⾮⾃动批处理出现故障。
DB2及表空间和缓冲池DB2的表空间和缓冲池对于刚涉足DB2 领域的DBA 或未来的DBA 而言,新数据库的设计和性能选择可能会很令人困惑。
在本文中,我们将讨论DBA 要做出重要选择的两个方面:表空间和缓冲池。
表空间和缓冲池的设计和调优会对DB2 服务器的性能产生深远的影响,因此我们将着重讨论这些活动。
表空间数据库中的所有数据都存储在许多表空间中。
可以认为表空间是孩子而数据库是其父母,其中表空间(孩子)不能有多个数据库(父母)。
由于表空间有不同用途,因此根据它们的用途和管理方式将它们分类。
根据用途有五种不同的表空间:目录表空间每个数据库只有一个目录表空间,它是在发出CREATE DATABASE 命令时创建的。
目录表空间被DB2 命名为SYSCATSPACE,它保存了系统目录表。
总是在创建数据库时创建该表空间。
常规表空间常规表空间保存表数据和索引。
它还可以保存诸如大对象(Large Object,LOB)之类的长数据,除非这些数据显式地存储在长表空间中。
如果某些表空间是数据库管理的空间(Database Managed Space,DMS),则可以将表及其索引分别放到单独的常规表空间中。
我们将在本文后面定义DMS 和系统管理的空间(System Managed Space,SMS)之间的区别。
每个数据库中必须至少有一个常规表空间。
创建数据库时指定该表空间的缺省名为USERSPACE1。
长表空间长表空间用于存储长型或LOB 表列,它们必须驻留在DMS 表空间中。
它们还可以存储结构化类型的列或索引数据。
如果没有定义长表空间,那么将把LOB 存储在常规表空间中。
长表空间是可选的,缺省情况下一个都不创建。
系统临时表空间系统临时表空间用于存储SQL 操作(比如排序、重组表、创建索引和连接表)期间所需的内部临时数据。
每个数据库必须至少有一个系统临时表空间。
随数据库创建的系统临时表空间的缺省名为TEMPSPACE1。
修改表空间大小的步骤概述及解释说明1. 引言1.1 概述本文旨在提供关于修改表空间大小的步骤的概述和解释说明。
表空间是数据库中存储数据的逻辑结构,它包含了表、索引以及其他数据库对象。
当数据库中存储的数据量超过当前表空间的容量时,就需要对表空间进行调整来满足需求。
1.2 文章结构本文将分为四个部分进行讨论和阐述。
首先,在引言部分(第一部分),我们将介绍本文的目的和结构,为读者提供整体观念。
其次,在第二部分中,我们将详细介绍修改表空间大小的具体步骤。
接着,在第三部分,我们将对涉及到的关键概念进行解释说明,包括表空间的定义、大小对数据库性能影响及修改的目的解释等。
最后,在第四部分,我们将总结修改表空间大小的重要性和步骤,并给出一些建议和注意事项;同时展望未来可能出现问题和挑战。
1.3 目的本文旨在帮助读者理解并掌握修改表空间大小所需采取的必要步骤,并提供相关解释说明以加深对此过程中涉及到概念和原理的理解。
读者通过阅读本文,将能够了解表空间的定义、大小对数据库性能的影响以及修改表空间大小的目的。
此外,我们也将提供一些提示、注意事项和建议,以便读者在实际操作中避免可能出现的问题。
以上为撰写“1. 引言”部分的内容,请根据需要进行修改和完善。
2. 修改表空间大小的步骤2.1 步骤一修改表空间大小的第一步是登录到数据库管理系统,确保具备足够的权限执行表空间修改操作。
2.2 步骤二在数据库管理系统中,使用ALTER TABLESPACE语句来修改表空间大小。
该语句的基本语法如下:ALTER TABLESPACE tablespace_nameRESIZE [SIZE size_value];其中,tablespace_name是要修改的表空间的名称,size_value是指定的新大小。
可以使用不同的单位(如MB、GB等)来指定大小值。
2.3 步骤三执行ALTER TABLESPACE语句后,数据库管理系统将开始对表空间进行调整。
本文著重介紹了DB2數據庫性能調整的十個實用技巧,詳細內容請讀者參考下文。
(本文主要針對e-business OLTP10個性能方面的Tips)1.SQL COST ANALYSIS許多情況下,一個簡單的SQL就可能讓DB2系統處於尷尬的狀態。
調整參數也不能解決此問題。
由於DBA很難去改變這些垃圾SQL的現狀,所以留給DBA的就是下面的情況:(1). Change or add indexes(2). Change clustering(3). Change catalog statistics.註:一個SQL語句的cost=每次執行的資源代價*執行的次數。
目前,DBA面臨的挑戰就是要找到那些有很高cost的語句,並且盡力去減少它的代價。
可以借助DB2 Explain工具或者DB2 UDB SQL Event Monitor數據來分析SQL語句的代價。
尤其是對SQL Event Monitor的數據分析,但這麼做需要耗費很大的精力和時間。
一般DBA的流程是:(1). Create an SQL Event Monitor, write to file:$> db2 "create event monitor SQLCOST for statements write to ..."(2). Activate the event monitor (be sure ample free disk space is available):$> db2 "set event monitor SQLCOST state = 1"(3). Let the application run.(4). Deactivate the event monitor:$> db2 "set event monitor SQLCOST state = 0"(5). Use the DB2-supplied db2evmon tool to format the raw SQL Event Monitor data (hundreds of megabytes of free disk space may be required depending on SQL throughput rates):$> db2evmon -db DBNAME -evm SQLCOST> sqltrace.txt(6). Browse through the formatted file scanning for unusually large cost numbers, a time-consuming process:$> more sqltrace.txt(7). Undertake a more complete analysis of the formatted file that attempts to identify unique statements (independent of literal values), each unique statement's frequency (how many times it occurred), and the aggregate of its total CPU, sort, and other resource costs. Such a thorough analysis could take a week or more on just a 30-minute sample of application SQL activity.為了以最快的速度找到相應的SQL,我們可以考慮上文講過的一些方法:針對第4個tip:計算每個交易從一個table裡面取出的行數。
让数据库可以对blob类型续传set DB2_RESTRICT_DDF=true is that full materialization of blobs can be enabled at the server level;启动空间数据库前:1.确定当前用户有DMADM权限2.确定当前有一个大于8kb的页数不小于500的系统临时表空间。
设置数据库:1.设置数据库的日志参数(1)右击数据库名称选择“配置参数”(2)需要配置的参数有:logfilesz(1000以上),logprimary(10以上),logsecond(2以上)2.设置数据库应用堆参数(1)右击数据库名称选择“配置参数”(2)需要配置的参数有:applheapsz(2048以上)3.设置应用控制堆大小(1)右击数据库名称选择“配置参数”(2)需要配置的参数有:app_ctl_heap_sz(1024以上)注:没有找到,用命令行配置(UPDATE DATABASE CONFIGURATION FOR db_name USINGAPP_CTL_HEAP_SZ 1024)为数据库配置空间资源:1.确定坐标系(1)在控制中心里,有一个创建坐标系的窗口。
(具体选哪个坐标系?)2.确定参照系(1)确定度坐标系中的最大和最小坐标,如果有单位,确定最大和最小单位工程区域内的最东面的那个点的经度,最西面的那个点的经度,最北面的那个点的纬度,最南面的那个点的纬度。
(2)建议:指定一个比实际工程所用的范围更大点的范围,以免以后工程范围扩大。
可以在步骤(1)中确定值上加上它的5%-10%。
(3)确定偏移因子和比例因子。
确定一个比例因子,确保你用来表示坐标的所有数值乘以它以后都能变成整数。
一般选10的次幂。
选出小数部分最长的那个数确定10的多少次幂可以让它变成整数,那个选的数就是适合的比例因子。
但是,还要确定乘以以后的那个数可以被32位机表示。
如果超出,则要截断到乘以以后可以表示的最大的值,以确保精度。
DB2数据库表空间检查与维护一、表空间占满故障现象1、系统上线初期正常,稳定运行半年以后突然出现故障。
2、对数据库进行写入操作时失败:用户的流程计划不能正常提交,录入数据无法保存。
3、系统应用程序操作响应慢,甚至宕机(死机)。
4、DB2数据库能正常连接,select语句执行正常,insert语句执行失败。
二、表空间状态检查与查看1、使用DB2管理员账户查看表空间状态:db2 list tablespaces |more ,其中|more 用于分页显示输出结果,按空格键翻页。
结果如图1所示。
图1其中状态0x0000 表示表空间正常。
2、查看表空间及其表空间所属容器的详细信息:db2 list tablespaces show detail |more ,结果如图2所示。
图2剩余表空间=可用页数*页大小,如图2中SYSCATSPACE表空间的可用空间大小:=3532*4096(4K)=14M,即该表空间最多还能增加14M的数据,若占满后需要扩充表空间。
三、表空间占满解决方法1、改变容器大小:db2 alter tablespace idx_data resize(file 'd:\db2\datafile_netdb\idx_data' 32000)该命令是将表空间idx_data 的大小为1000MB(因为该表空间扩展数据库大小为32K),d:\db2\datafile_netdb\idx_data是该表空间文件存放位置。
执行结果如图3所示。
图32、增加新的容器:db2 alter tablespace idx_data add(file 'd:\db2\datafile_netdb\idx_data_ex1' 640) 该命令是将表空间idx_data 增加新的容器idx_data_ex1,大小为20MB(因为该表空间扩展数据库大小为32K),d:\db2\datafile_netdb\idx_data_ex1是该新增容器文件存放位置。
db2自动调整表空间的大小在DB2® 数据库系统中存在两种类型的基本表空间:系统管理的空间(SMS)和数据库管理的空间(DMS)。
与SMS 表空间相关联的容器是文件系统目录,而这些目录中的文件会随着表空间中对象的增长而增长。
文件会增加至达到其中一个容器上的文件系统限制或达到数据库的表空间大小限制(请参阅db2.udb.admin.doc/doc/r0001029.htm">SQL and XQuery limits)。
DMS 表空间由文件容器或原始设备容器组成,它们的大小是在将容器指定给表空间时设置的。
当容器中的所有空间都已被使用时,则认为表空间已满。
但是,与SMS 不同,您可以使用ALTER TABLESPACE 语句来添加或扩展容器,从而允许将更多的存储器空间提供给表空间。
DMS 表空间还具有称为“自动调整大小”的功能。
当可以自动调整大小的DMS 表空间中的空间被消耗时,DB2 数据库系统可能回扩展一个或多个文件容器。
SMS 表空间具有类似于自动增长的功能但术语“自动调整大小”专门用于DMS。
启用和禁用自动调整大小(AUTORESIZE)缺省情况下,不会对DMS 表空间启用自动调整大小功能。
下列语句创建不启用自动调整大小功能的DMS 表空间:CREATE TABLESPACE DMS1 MANAGED BY DATABASEUSING (FILE '/db2files/DMS1' 10 M)要启用自动调整大小功能,将AUTORESIZE YES 子句指定为CREATE TABLESPACE 语句的一部分:CREATE TABLESPACE DMS1 MANAGED BY DATABASE USING (FILE '/db2files/DMS1' 10 M) AUTORESIZE YES在已创建DMS 表空间之后,还可以通过在ALTER TABLESPACE 语句上使用AUTORESIZE 子句来启用或禁用自动调整大小功能:ALTER TABLESPACE DMS1 AUTORESIZE YESALTER TABLESPACE DMS1 AUTORESIZE NO有两个其他属性(MAXSIZE 和INCREASESIZE)与自动调整大小的表空间相关联。
DB2查看表空间和增加表空间容量Db2 connect to xxxDb2 “LIST TABLESPACES SHOW DETAIL”Tablespace ID = 7Name = TSASNAAType = Database managed spaceContents = All permanent data. Large table space.State = 0x0000Detailed explanation:[@more@]NormalTotal pages = 14800Useable pages = 14752Used pages = 12864Free pages = 1888High water mark (pages) = 12864Page size (bytes) = 8192Extent size (pages) = 32Prefetch size (pages) = 32Number of containers = 1增加表空间⼤⼩DB2数据库使⽤时,如果表空间满了,该如何扩容呢?下⽂将教给您DB2数据库表空间扩容的⽅法,供您参考,希望对您有所帮助。
1)直接添加⼀个容器的例⼦:db2 " ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000) "加容器之后DB2会有⼀个⾃动balance的过程,可能会持续⼏个⼩时⼀定要注意该选项,修改前确认该选项是否能满⾜业务需求!2)改变现有容器的⼤⼩(该⽅法不会触发balance,但如果表空间建⽴在裸设备上,则要扩冲裸设备空间):db2 " ALTER TABLESPACE TS1 RESIZE (FILE '/conts/cont0' 2000, DEVICE '/dev/rcont1' 2000, FILE 'cont2' 2000) "注意这种⽅式就是将原有的相应容器都改成⼤⼩是2000页db2 "ALTER TABLESPACE TS1 RESIZE (ALL 2000)"这种⽅式就是把表空间中所有的容器⼤⼩都改成2000页db2 " ALTER TABLESPACE TS1 EXTEND (FILE '/conts/cont0' 1000, DEVICE '/dev/rcont1' 1000, FILE 'cont2' 1000) "这种⽅式就是将相应的容器都扩⼤1000页,也就是增加1000页。
DB2数据库参数详解配置DB2数据库参数配置数据库配置发行版级别= 0x0c00数据库发行版级别= 0x0c00数据库地域= CN数据库代码页= 1208数据库代码集= UTF-8数据库国家/地区代码= 86数据库整理顺序= IDENTITY备用整理顺序(ALT_COLLATE) =数字兼容性= OFFVarchar2 兼容性= OFF数据库页大小= 4096动态SQL查询管理(DYN_QUERY_MGMT) = DISABLE对此数据库的发现支持(DISCOVER_DB) = ENABLE限制访问= NO缺省查询优化类(DFT_QUERYOPT) = 5并行度(DFT_DEGREE) = 1在算术异常时继续(DFT_SQLMATHWARN) = NO缺省刷新有效期(DFT_REFRESH_AGE) = 0缺省维护的选项(DFT_MTTB_TYPES)的表类型= SYSTEM保留的高频值的数目(NUM_FREQVALUES) = 10保留的分位点数目(NUM_QUANTILES) = 20十进制浮点舍入方式(DECFLT_ROUNDING) = ROUND_HALF_EVEN 备份暂挂= NO数据库是一致的= NO前滚暂挂= NO复原暂挂= NO启用的多页文件分配= YES恢复状态的日志保留= NO日志记录状态的用户出口= NO自调整内存(SELF_TUNING_MEM) = ON数据库共享内存大小(4KB)(DATABASE_MEMORY) = AUTOMATIC 数据库内存阈值(DB_MEM_THRESH) = 10 锁定列表的最大存储量(4KB)(LOCKLIST) = AUTOMATIC每个应用程序的锁定百分比列表(MAXLOCKS) = AUTOMATIC程序包高速缓存大小(4KB)(PCKCACHESZ) = AUTOMATIC共享排序的排序堆域值(4KB)(SHEAPTHRES_SHR) = AUTOMATIC 排序列表堆(4KB)(SORTHEAP) = AUTOMATIC 数据库堆(4KB)(DBHEAP) = AUTOMATIC目录高速缓存大小(4KB)(CATALOGCACHE_SZ) = 260日志缓冲区大小(4KB)(LOGBUFSZ) = 98实用程序堆大小(4KB)(UTIL_HEAP_SZ) = 23665缓冲池大小(页)(BUFFPAGE) = 250SQL 语句堆(4KB)(STMTHEAP) = AUTOMATIC缺省应用程序堆(4KB)(APPLHEAPSZ) = AUTOMATIC应用程序内存大小(4KB)(APPL_MEMORY) = AUTOMATIC统计信息堆大小(4KB)(STAT_HEAP_SZ) = AUTOMATIC检查死锁的时间间隔(毫秒)(DLCHKTIME) = 10000锁定超时(秒)(LOCKTIMEOUT) = -1更改的页阈值(CHNGPGS_THRESH) = 80异步页清除程序的数目(NUM_IOCLEANERS) = AUTOMATICI/O 服务器的数目(NUM_IOSERVERS) = AUTOMATIC索引排序标志(INDEXSORT) = YES顺序检测标志(SEQDETECT) = YES缺省预取大小(页)(DFT_PREFETCH_SZ) = AUTOMATIC跟踪修改的页数(TRACKMOD) = OFF容器的缺省数目= 1缺省表空间扩展数据块大小(页) (DFT_EXTENT_SZ) = 32最大活动应用程序数(MAXAPPLS) = AUTOMATIC活动应用程序的平均数目(AVG_APPLS) = AUTOMATIC每个应用程序的最大打开数据库文件数(MAXFILOP) = 32768日志文件大小(4KB)(LOGFILSIZ) = 1024主日志文件的数目(LOGPRIMARY) = 13辅助日志文件的数目(LOGSECOND) = 4已更改的至日志文件的路径(NEWLOGPATH) =日志文件路径= D:\DB2\NODE0000\SQL00005\SQLOGDIR\ 溢出日志路径(OVERFLOWLOGPATH) =镜像日志路径(MIRRORLOGPATH) =首个活动日志文件=磁盘上已满的块日志(BLK_LOG_DSK_FUL) = NO事务使用的最大主日志空间的百分比(MAX_LOG)= 01 个活动UOW 的活动日志文件的数目(NUM_LOG_SPAN) = 0组落实计数(MINCOMMIT) = 1软检查点前回收的日志文件的百分比(SOFTMAX) = 520启用的恢复的日志保留(LOGRETAIN) = OFF启用的日志记录的用户出口(USEREXIT) = OFFHADR 数据库角色= STANDARDHADR 本地主机名(HADR_LOCAL_HOST) =HADR 本地服务名称(HADR_LOCAL_SVC) =HADR 远程主机名(HADR_REMOTE_HOST) =HADR 远程服务名称(HADR_REMOTE_SVC) =远程服务器的HADR 实例名(HADR_REMOTE_INST) =HADR 超时值(HADR_TIMEOUT) = 120HADR 日志写同步方式(HADR_SYNCMODE) = NEARSYNCHADR 对等窗口持续时间(秒)(HADR_PEER_WINDOW) = 0 第一个日志归档方法(LOGARCHMETH1) = OFFlogarchmeth1 的选项(LOGARCHOPT1) =第二个日志归档方法(LOGARCHMETH2) = OFFlogarchmeth2 的选项(LOGARCHOPT2) =故障转移日志归档路径(FAILARCHPATH) =错误时重试日志归档次数(NUMARCHRETRY) = 5日志归档重试延迟(秒)(ARCHRETRYDELAY) = 20供应商选项(VENDOROPT) =启用的自动重新启动(AUTORESTART) = ON索引重新创建时间和重做索引构建(INDEXREC) = SYSTEM (RESTART) 在索引构建期间记录页(LOGINDEXBUILD) = OFF loadrec 会话的缺省数目(DFT_LOADREC_SES) = 1要保留的数据库备份的数目(NUM_DB_BACKUPS) = 12恢复历史记录保留时间(天数)(REC_HIS_RETENTN) = 366自动删除恢复对象(AUTO_DEL_REC_OBJ) = OFFTSM 管理类(TSM_MGMTCLASS) =TSM 节点名(TSM_NODENAME) =TSM 所有者(TSM_OWNER) =TSM 密码(TSM_PASSWORD) =自动维护(AUTO_MAINT) = ON自动数据库备份(AUTO_DB_BACKUP) = OFF自动表维护(AUTO_TBL_MAINT) = ON自动runstats (AUTO_RUNSTATS) = ON自动语句统计信息(AUTO_STMT_STATS) = OFF自动统计信息概要分析(AUTO_STATS_PROF) = OFF自动概要文件更新(AUTO_PROF_UPD) = OFF自动重组(AUTO_REORG) = OFF启用XML 字符操作(ENABLE_XMLCHAR) = YESWLM 收集时间间隔(分钟)(WLM_COLLECT_INT) = 0db2 => get db cfg for miaomiao数据库miaomiao 的数据库配置数据库配置发行版级别= 0x0c00数据库发行版级别= 0x0c00数据库地域= CN数据库代码页= 1208数据库代码集= UTF-8数据库国家/地区代码= 86数据库整理顺序= IDENTITY备用整理顺序(ALT_COLLATE) =数字兼容性= OFFVarchar2 兼容性= OFF数据库页大小= 4096动态SQL 查询管理(DYN_QUERY_MGMT) = DISABLE对此数据库的发现支持(DISCOVER_DB) = ENABLE限制访问= NO缺省查询优化类(DFT_QUERYOPT) = 5并行度(DFT_DEGREE) = 1在算术异常时继续(DFT_SQLMATHWARN) = NO缺省刷新有效期(DFT_REFRESH_AGE) = 0缺省维护的选项(DFT_MTTB_TYPES)的表类型= SYSTEM保留的高频值的数目(NUM_FREQVALUES) = 10保留的分位点数目(NUM_QUANTILES) = 20十进制浮点舍入方式(DECFLT_ROUNDING) = ROUND_HALF_EVEN 备份暂挂= NO数据库是一致的= NO前滚暂挂= NO复原暂挂= NO启用的多页文件分配= YES恢复状态的日志保留= NO日志记录状态的用户出口= NO自调整内存(SELF_TUNING_MEM) = ON数据库共享内存大小(4KB)(DATABASE_MEMORY) = AUTOMATIC数据库内存阈值(DB_MEM_THRESH) = 10锁定列表的最大存储量(4KB)(LOCKLIST) = AUTOMATIC每个应用程序的锁定百分比列表(MAXLOCKS) = AUTOMATIC程序包高速缓存大小(4KB)(PCKCACHESZ) = AUTOMATIC共享排序的排序堆域值(4KB)(SHEAPTHRES_SHR) = AUTOMATIC排序列表堆(4KB)(SORTHEAP) = AUTOMATIC数据库堆(4KB)(DBHEAP) = AUTOMATIC目录高速缓存大小(4KB)(CATALOGCACHE_SZ) = 260日志缓冲区大小(4KB)(LOGBUFSZ) = 98实用程序堆大小(4KB)(UTIL_HEAP_SZ) = 23665缓冲池大小(页)(BUFFPAGE) = 250SQL 语句堆(4KB)(STMTHEAP) = AUTOMATIC缺省应用程序堆(4KB)(APPLHEAPSZ) = AUTOMATIC 应用程序内存大小(4KB)(APPL_MEMORY) = AUTOMATIC 统计信息堆大小(4KB)(STAT_HEAP_SZ) = AUTOMATIC检查死锁的时间间隔(毫秒)(DLCHKTIME) = 10000锁定超时(秒)(LOCKTIMEOUT) = -1更改的页阈值(CHNGPGS_THRESH) = 80异步页清除程序的数目(NUM_IOCLEANERS) = AUTOMATIC I/O 服务器的数目(NUM_IOSERVERS) = AUTOMATIC索引排序标志(INDEXSORT) = YES顺序检测标志(SEQDETECT) = YES缺省预取大小(页)(DFT_PREFETCH_SZ) = AUTOMATIC跟踪修改的页数(TRACKMOD) = OFF容器的缺省数目= 1缺省表空间扩展数据块大小(页) (DFT_EXTENT_SZ) = 32最大活动应用程序数(MAXAPPLS) = AUTOMATIC活动应用程序的平均数目(AVG_APPLS) = AUTOMATIC每个应用程序的最大打开数据库文件数(MAXFILOP) = 32768日志文件大小(4KB)(LOGFILSIZ) = 1024主日志文件的数目(LOGPRIMARY) = 13辅助日志文件的数目(LOGSECOND) = 4已更改的至日志文件的路径(NEWLOGPATH) =日志文件路径= D:\DB2\NODE0000\SQL00005\SQLOGDIR\ 溢出日志路径(OVERFLOWLOGPATH) =镜像日志路径(MIRRORLOGPATH) =首个活动日志文件=磁盘上已满的块日志(BLK_LOG_DSK_FUL) = NO事务使用的最大主日志空间的百分比(MAX_LOG)= 01 个活动UOW 的活动日志文件的数目(NUM_LOG_SPAN) = 0组落实计数(MINCOMMIT) = 1软检查点前回收的日志文件的百分比(SOFTMAX) = 520启用的恢复的日志保留(LOGRETAIN) = OFF启用的日志记录的用户出口(USEREXIT) = OFFHADR 数据库角色= STANDARDHADR 本地主机名(HADR_LOCAL_HOST) =HADR 本地服务名称(HADR_LOCAL_SVC) =HADR 远程主机名(HADR_REMOTE_HOST) =HADR 远程服务名称(HADR_REMOTE_SVC) =远程服务器的HADR 实例名(HADR_REMOTE_INST) =HADR 超时值(HADR_TIMEOUT) = 120HADR 日志写同步方式(HADR_SYNCMODE) = NEARSYNCHADR 对等窗口持续时间(秒)(HADR_PEER_WINDOW) = 0 第一个日志归档方法(LOGARCHMETH1) = OFFlogarchmeth1 的选项(LOGARCHOPT1) =第二个日志归档方法(LOGARCHMETH2) = OFFlogarchmeth2 的选项(LOGARCHOPT2) =故障转移日志归档路径(FAILARCHPATH) =错误时重试日志归档次数(NUMARCHRETRY) = 5日志归档重试延迟(秒)(ARCHRETRYDELAY) = 20供应商选项(VENDOROPT) =启用的自动重新启动(AUTORESTART) = ON索引重新创建时间和重做索引构建(INDEXREC) = SYSTEM (RESTART) 在索引构建期间记录页(LOGINDEXBUILD) = OFF loadrec 会话的缺省数目(DFT_LOADREC_SES) = 1要保留的数据库备份的数目(NUM_DB_BACKUPS) = 12恢复历史记录保留时间(天数)(REC_HIS_RETENTN) = 366自动删除恢复对象(AUTO_DEL_REC_OBJ) = OFFTSM 管理类(TSM_MGMTCLASS) =TSM 节点名(TSM_NODENAME) =TSM 所有者(TSM_OWNER) =TSM 密码(TSM_PASSWORD) =自动维护(AUTO_MAINT) = ON自动数据库备份(AUTO_DB_BACKUP) = OFF自动表维护(AUTO_TBL_MAINT) = ON自动runstats (AUTO_RUNSTATS) = ON自动语句统计信息(AUTO_STMT_STATS) = OFF自动统计信息概要分析(AUTO_STATS_PROF) = OFF自动概要文件更新(AUTO_PROF_UPD) = OFF自动重组(AUTO_REORG) = OFF启用XML 字符操作(ENABLE_XMLCHAR) = YESWLM 收集时间间隔(分钟)(WLM_COLLECT_INT) = 0db2 =>修改对应的参数,使用命令:update db cfg [for dbname] using <参数名> <参数值>db2 => update db cfg using logretain onDB20000I UPDATE DATABASE CONFIGURATION命令成功完成。
DB2数据库系统文档中创软件工程股份有限公司金融事业部二○○二年一月目录§ 1 DB2数据库的安装 (3)§2 配置环境变量和修改相应文件 (7)§2.1设置环境变量 (7)§2.2配置HACMP (8)§3 设计物理数据库 (11)§3.1数据在磁盘阵列上的存放原则 (11)§3.2具体的分布情况如下表所示 (11)§4 建立数据库 (12)§4.1建立BANK2数据库 (12)§4.2创建BANK2数据库的表空间 (12)§4.3创建UDF (13)§4.4建立数据库表 (14)§4.5验证创建的正确性 (16)§5 数据库参数调整 (17)§5.1日志参数 (17)§5.2修改共享内存 (18)§6 常用文件说明 (20)§7 常用命令 (22)§7.1常用管理命令 (22)§7.2常用SQL语句 (25)§8 附录 (26)§8.1数据库配置文件 (26)§8.2实例配置文件 (28)§8.3备份方案 (30)§8.3.1 数据库的备份 (30)§8.3.2使用BACKUP命令注意事项 (32)§8.3.3 数据库的恢复 (32)§ 1 DB2数据库的安装1.注册为具有超级用户权限的用户(root)2.将标有“DB2 UDB V7.1 for AIX”的软件光盘插入驱动器3.输入如下命令,以创建一个目录来安装该 CD-ROM:# mkdir -p /cdrom 其中 cdrom 表示 CD-ROM 安装目录。
输入如下命令,来分配 CD-ROM 文件系统:# smitty fs4.选择文件系统5.选择添加/更改/显示/删除文件系统6.选择CDROM 文件系统7.选择添加 CDROM 文件系统8.在弹出窗口中,输入如下项作为安装点:/cdrom9.通过输入以下命令来安装 CD-ROM 文件系统: smit mountf10.在文件系统名称字段中输入值。
DB2alter新增删除修改列扫码加⼊QQ群。
免费获取⼀⼿资料。
还有福利发放哦SQL语句增加列、修改列、删除列1 添加字段语法: alter table 表名称 add 字段名称类型demo: alter table tableName add columnName varchar(50)2 更改字段类型(或者字段长度)语法:alter table 表名 alter column 字段名set data type 类型demo: alter table tableName alter column columnNamn set data type varchar(4000)注意:1. 更改字段类型是有操作限制的. 将字段改为⽐之前类型长度⼤的可以,如果要改⼩,必须先drop掉原来的column,然后再重新添加.2. 另外改为不同的类型,也需要先drop掉column.然后再重新添加;3 删除字段alter table 表名称 drop column 字段名4 为字段添加默认值alter table 表名称 alter column 字段名set default值Demo:1 alter table table_name altercolumn column_test set default'value';5 添加带默认值的字段Demo:1 alter table table_name addcolumn column_test vachar(20)not null with default'value';6 设置字段默认时间为当前时间Demo:1 alter table table_name altercolumn column_test set default current date;。
DB2数据库表空间检查与维护
一、表空间占满故障现象
1、系统上线初期正常,稳定运行半年以后突然出现故障。
2、对数据库进行写入操作时失败:用户的流程计划不能正常提交,录
入数据无法保存。
3、系统应用程序操作响应慢,甚至宕机(死机)。
4、DB2数据库能正常连接,select语句执行正常,insert语句执行失败。
二、表空间状态检查与查看
1、使用DB2管理员账户查看表空间状态:db2 list tablespaces |more ,
其中|more 用于分页显示输出结果,按空格键翻页。
结果如图1所示。
图1
其中状态0x0000 表示表空间正常。
2、查看表空间及其表空间所属容器的详细信息:
db2 list tablespaces show detail |more ,结果如图2所示。
图2
剩余表空间=可用页数*页大小,如图2中SYSCATSPACE表空间的可用空间大小:=3532*4096(4K)=14M,即该表空间最多还能增加14M的数据,若占满后需要扩充表空间。
三、表空间占满解决方法
1、改变容器大小:
db2 alter tablespace idx_data resize(file 'd:\db2\datafile_netdb\idx_data' 32000)
该命令是将表空间idx_data 的大小为1000MB(因为该表空间扩展数
据库大小为32K),d:\db2\datafile_netdb\idx_data是该表空间文件
存放位置。
执行结果如图3所示。
图3
2、增加新的容器:
db2 alter tablespace idx_data add(file 'd:\db2\datafile_netdb\idx_data_ex1' 640) 该命令是将表空间idx_data 增加新的容器idx_data_ex1,大小为
20MB(因为该表空间扩展数据库大小为32K),
d:\db2\datafile_netdb\idx_data_ex1是该新增容器文件存放位置。
执行结果如图4所示。
图4
3、表空间设为自增长:
db2 alter tablespace idx_data autoresize yes increasesize 10240 k maxsize none
该命令表示将表空间idx_data设为自增长,每次增加大小10MB,执行命令如图5所示。
图5
查看表空间是否为自增长且增长大小:
db2 get snapshot for tablespaces on netdb |more
执行结果如图6所示。
图6
若该表空间是为自增长,则【启用启动调整大小】选项为【是】,且【增加大小(字节)】这个选项对应的值为每次自增长的大小【10485760】,其单位为字节,即10(MB)*1024*1024=10485760.
四、表空间状态列表
0x0 Norma 正常 . 0x1 Quiesced: SHARE 静止态共享 .
0x2 Quiesced: UPDATE 静止态更新 .
0x4 Quiesced: EXCLUSIVE 静止态排它 .
0x8 Load pending 载入挂起 .
0x10 Delete pending 删除挂起 .
0x20 Backup pending 备份挂起 .
0x40 Roll forward in progress 正在回滚 .
0x80 Roll forward pending 回滚挂起 .
0x100 Restore pending 存储挂起 .
0x100 Recovery pending (not used) 恢复挂起 .
0x200 Disable pending
0x400 Reorg in progress 正在重组 .
0x800 Backup in progress 正在备份 .
0x1000 Storage must be defined 存储器未被指定 .
0x2000 Restore in progress 正在恢复 .
0x4000 Offline and not accessible 表空间不可访问 .
0x8000 Drop pending 删除挂起 .
0x2000000 Storage may be defined 存储器需被指定 .
0x4000000 StorDef is in 'final' state 存储器终止 .
0x8000000 StorDef was changed prior to rollforward 存储器被改变至回滚状态 .
0x10000000 DMS rebalancer is active 表空间的容器重新分布 .
0x20000000 TBS deletion in progress 表空间删除 .
0x40000000 TBS creation in progress 表空间建立 .
0x8 For service use only .。