DB2数据库表空间修改文档

合集下载

DB数据库修改方法 Word 文档

DB数据库修改方法 Word 文档

导出:首先打开DB数据库:1、点击“外部数据”
2、点击导出栏“Excel”
3、点击“浏览”选择导出文件存储目录,然后“确定”
4、出现此画面,直接关闭。

然后去存储路径打开导出的文件进行修改。

导入:打开DB数据库
1、点击“外部数据”
2、导入数据时应首先关闭打开的数据表:如下图:右击“CMES”点击“关闭”。

3、此时再点击导入栏的“Excel”
4、选择导入文件的存储路径,选中“将数据库导入当前的数据库表中(I)”
5、点击“确定”
6、选择“第一行包含列标题”然后点击“下一步”。

7、直接点击“下一步”
8、选择“不要主键”,点击“下一步”
9、直接点击“完成”。

DB2表空间扩容

DB2表空间扩容

DB2表空间扩容步骤1.打开DB2的控制中心。

如下图:
2.在控制中心左边的树形结构中选择NETDB下面的表空间,如下图:
3.在右边打开的DB2-NETDB-表空间中选择需要扩容的那一个表空间,如下图:
4.找到我们需要扩容的表空间后,选择并双击得到下图的窗口-“改变表空间-NEWS_TAB”:
5.选择“容器”这个窗口,如下图:
6.选中“容器”并双击,得到“更改容器大小”这个窗口,在窗口中选择“更改容器大小”如下图:
7. 在输入栏中输入需要扩充的数值后,点确定完成更改。

如下图:
8.查看DB2表空间。

9.总容量扩充至需要的数值。

烟台项目刘潇宇。

DB2 DBA手册

DB2 DBA手册

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如何调整表空间大小

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及表空间和缓冲池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数据库性能调整的十个实用技巧

DB2数据库性能调整的十个实用技巧

本文著重介紹了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裡面取出的行數。

配置空间数据库(db2)

配置空间数据库(db2)

让数据库可以对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位机表示。

如果超出,则要截断到乘以以后可以表示的最大的值,以确保精度。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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 .。

相关文档
最新文档