`
tianyihuyidao9
  • 浏览: 165943 次
  • 性别: Icon_minigender_1
  • 来自: 济南
文章分类
社区版块
存档分类
最新评论

表空间管理,缓冲池配置,explain解释表等详解

 
阅读更多
db2 create bufferpool mybp1 immediate size -1 pagesize 8k
-1表示size由db cfg的默认配置参数buffpage指定


db2 create bufferpool mybp2 immediate size automatic pagesize 8k
automatic表示由数据库自动进行bufferpool大小的调整,前提是db cfg 参数self_tuning_mem=on,database_memory=automatic
该设定在syscat.bufferpools中的npages中显示为-2


db2 create bufferpool mybp2 immediate size 200 automatic pagesize 8k
200只是在创建时给定一个初始值,bufferpool在实际运行过程中还是由automatic决定,因为你通过db2look导出bufferpool的DDL,显示为:db2 create bufferpool mybp2 immediate size  automatic pagesize 8k
根本就没有200


db2 create bufferpool mybp3 immediate size 1000 pagesize 8k
bufferpool大小固定为1000个页面,该设定在syscat.bufferpools中的npages中显示为1000.

  对于要用explain生成全面解释数据和解释快照数据的需求,需要explain系列表来存储该信息。/home/db2inst1/sqllib/misc/EXPLAIN.DLL可以用来创建explain系列表。但是,该表必须创建在与授权用户同名的模式下,如testuser授权用户有2个模式testuser、test,则explain系列表要创建在testuser模式下,因为在生成全面解释数据和解释快照数据的时候,数据是被写往该授权用户同名模式下的explain系列表,如果explain系列表不在testuser模式下,而在test模式下,会报找不到explain系列表的错误。



14.DROPPED TABLE RECOVERY
指明被删除的表是否可以被恢复,通过使用”ROLLFORWARD DATABASE …RECOVER DROPPED TABLE”。
ON,指定被删除的表,可以恢复。这是V8之后是默认值。
OFF,被删除的表不能恢复。V7的默认值。

表空间日常管理命令
本例创建的表空间pagesize大部分为32kb,故
1、创建pagesize为32kb的bufferpool
create bufferpool bp32k size 2000 pagesize 32k
2、查看bufferpool属性
select * from syscat.bufferpools
3、更改缓冲池大小
alter bufferpool bp32k size 2000


4、创建数据页为32kb数据块为1024kb预取值为默认,且不使用文件系统缓存的大型DMS表空间


create large tablespace tbs_data pagesize 32k managed by database using (file '/database/tbs_data/cont0' 100M,file '/database/tbs_data/cont1' 100M) extentsize 32 prefetchsize automatic bufferpool bp32k no file system caching


5、创建 数据页为32kb的SMS系统临时表空间
create temporary tablespace tbs_temp pagesize 32k managed by system using ('/database/tbs_temp') bufferpool bp32k



6、创建 数据页为32kb的SMS用户临时表空间

create user temporary tablespace tbs_user_temp pagesize 32k managed by system using('/database/tbs_usertemp') bufferpool bp32k
7、创建 数据页为32kb的自动存储管理表空间
create tablespace tbs_index pagesize 32k bufferpool bp32k

8、创建初始大小为100MB,增量为100MB,最大大小为100GB的 自动存储管理表空间
create tablespace tbs_data2 initialsize 100M increasesize 100M maxsize 100G
9、查看表空间信息
list tablespaces
list tablespaces show detail
db2pd -d testdb -tablespaces
get snapshot for tablespaces on testdb
也可以查看sysibmadm.snaptbsp和sysibmadm.snapcontainer这两个视图
10、查看表空相关的容器信息
list tablespace containers for 7    #tablespace id
list tablespace containers for 7 show detail
11、如果DMS表空间对应的存储中还有未分配空间,可通过alter tablespace的extend、reduce或resize选项扩展已有表空间容器的大小。其中extend用来扩展容器大小,reduce用来缩减已有容器大小,resize重新设定容器大小。对于reduce和resize,需确保更改后的表空间有足够空间,否则DB2拒绝操作。
alter tablespace tbs_data extend (file '/database/tbs_data/cont0' 10M)
12、如果表空间容器已经没有剩余空间,可通过add选项增加容器,当然必要的情况下也可以通过drop选项删除容器。对于add和drop操作会在容器间发生数据重新平衡(rebalance)。如果数据量很大,rebalance时间有可能很久,对系统可能造成很大影响。

alter tablespace tbs_data add(file '/database/tbs_data/cont2' 100m)
13、如果使用begin new strip set选项则会在现有容器空间用完时使用新增容器,该选项使数据不会在容器间做rebalance,但会造成数据偏移。
alter tablespace tbs_data begin new stripe set (file '/database/tbs_data/cont3' 100m)

14、查看自动存储管理表空间路径
db2pd -d testdb -storagepaths
15、对于自动存储管理表空间,无法在表空间级进行容器更改,只能在数据级别,因为自动存储路径是在建库时指定的。可以使用add storage on选项为数据库添加新的存储路径。在v9.7版本之前,自动存储路径只能增加,不能删除。新增加的存储路径不会备表空间立即使用,只有在已有存储路径文件系统空间满了,才会使用新增路径,增加路径只是为了解决容量问题。v9.7版本之后,只要对使用自动存储管理的表空间执行rebalance,则该表空间可以立即使用新增存储路径。

alter database testdb add storage on '/database/czm'
alter tablespace 7 rebalance


16、将DMS表空间转换成自动存储管理表空间
alter tablespace tbs_data managed by automatic storage
alter tablespace tbs_data rebalance
分享到:
评论

相关推荐

    DB2数据库性能优化技巧详解.docx

    如果命中率低,可以通过增加缓冲池大小、分配多个缓冲池(针对不同表空间和表类型)或者调整内存分配来优化。 其次,SQL优化是另一个关键环节。低效的SQL语句可能导致整个系统的性能急剧下降,尤其是在大型应用中。...

    Mysql 调优详解与实践案例

    - **配置优化**:调整MySQL服务器的配置参数,如内存分配、缓冲池大小等。 - **硬件优化**:提升硬件性能,如更快的磁盘、更多的内存等。 - **架构优化**:采用读写分离、分区、分片等技术来提高并发处理能力。 总...

    mysql数据库文档详解

    优化包括查询优化(使用EXPLAIN分析查询计划)、索引优化、内存配置优化(如缓冲池大小调整)以及硬件层面的优化。 通过上述内容,我们可以深入理解MySQL数据库的基础知识和核心功能。无论是初学者还是高级用户,都...

    Oracle数据库操作面试题及详解.docx

    4. 本地管理表空间(LMT)和字典管理表空间(DMT)主要区别在于段空间管理方式,ASSM(Automatic Segment Space Management)是LMT的一种特性,简化空间管理。 5. 回滚段保存事务的撤销信息,用于回滚和并发控制。 6...

    详解MySQL性能优化(二)

    此外,监控数据库性能,调整参数配置,如缓冲池大小、日志文件大小等,也是必不可少的步骤。 总的来说,MySQL性能优化是一个持续的过程,需要根据系统的具体需求和负载情况进行调整。通过合理的Schema设计、事务...

    MySQL性能优化详解.docx

    - **调整MySQL配置**: 根据服务器的硬件资源和应用需求,调整MySQL的各项参数,如缓冲池大小、最大连接数等,以提高性能。 #### 四、存储引擎优化 MySQL支持多种存储引擎,每种引擎都有其特点和适用场景。例如,...

    ORACLE_DBA面试

    - **组件包括**:数据缓冲区、重做日志缓冲区、共享池、大池、Java池、流池等。 - **配置方法**: - 了解目标负载类型,对于中型在线事务处理(OLTP)环境,应确保数据缓冲区足够大以支持频繁的读写操作。 - 调整...

    十大DB2优化技巧

    确保正确配置缓冲池大小,避免过多的磁盘I/O。使用`db2pd -db DBNAME -bufferpools`命令来检查缓冲池的使用情况,如命中率、缓冲区利用率等。 6. **表和索引统计信息**:保持表和索引统计信息的最新状态有助于优化...

    史上最详细的一线大厂Mysql面试题详解.zip

    - 调整缓冲池大小,优化InnoDB缓存策略。 - 通过分区、分表、读写分离等手段提高并发能力。 9. 备份与恢复: - 使用mysqldump进行逻辑备份。 - 使用xtrabackup等工具进行物理备份。 - 熟悉如何在崩溃或硬件...

    MySQL DBA性能调优 全攻略

    - **InnoDB缓冲池**:InnoDB缓冲池是用于缓存数据和索引的重要结构。 - 设置`innodb_buffer_pool_size`为总内存的60%~80%,可以大幅提高性能。 - `innodb_buffer_pool_instances`参数可以设置为多个实例,以充分...

    DB2 性能优化快速入门

    - **页面大小**: 缓冲池支持4K、8K、16K、32K四种不同的页面大小,对应不同的表空间。 - **命中率计算**: 缓冲池的命中率计算公式为:\(命中率 = (1 - ((数据物理读 + 索引物理读) / (数据逻辑读 + 索引逻辑读))) ...

    Oracle语句优化53个规则详解

    这要求数据库管理员合理配置SGA的共享池大小,以容纳更多语句。同时,多表连接查询可能无法享受高速缓冲。 此外,还有一些其他优化技巧: 4. 使用绑定变量:绑定变量能减少硬解析,提高语句的复用率,尤其是在动态...

    oracle相关

    1. 数据库实例(Database Instance):Oracle数据库运行时的内存结构,包括数据缓冲区、重做日志缓冲区、共享池等。 2. 表空间(Tablespace):存储数据库对象(如表、索引)的空间单位,可以包含一个或多个数据文件...

    mysql性能优化与架构设计

    9. 内存优化:了解缓冲池、排序区、临时表空间等内存结构,以及如何调整相关参数以优化内存使用。 10. 并发控制与锁机制:解析InnoDB的行级锁和MVCC机制,以及死锁检测和解决方法。 架构设计篇: 11. 分区与分片:...

    mysql性能优化

    - **innodb_buffer_pool_size**:InnoDB缓冲池的大小,通常应设为服务器总内存的75%左右。 - **innodb_log_file_size**:InnoDB日志文件的大小,合理设置有助于提高事务处理的速度。 - **max_connections**:最大...

    DB2性能调整培训资料

    - **Bufferpool(缓冲池)**: 缓冲池是DB2内存管理的核心部分,合理配置能够显著提升数据访问速度。 - **Cache(缓存)**: 利用缓存技术可以减少磁盘访问次数,提高系统响应速度。 - **Sort(排序)**: 高效的排序...

    mysql详细参数

    - **innodb_buffer_pool_size**:设置InnoDB缓冲池的大小。这是InnoDB最重要的参数之一,合理的设置可以显著提升性能。 - **innodb_log_file_size**:设置InnoDB日志文件的大小。这对于确保事务的持久性和恢复能力...

    2023年mysql面试题.zip

    - **缓存与缓冲池**:讨论MySQL的内存管理,包括查询缓存、InnoDB缓冲池的作用。 - **慢查询日志**:如何开启慢查询日志,找出并优化低效查询。 - **分区与分片**:了解如何通过分区和分片来提升大规模数据的查询...

    Mysql性能调优专题.zip

    它使用B+树作为索引的数据结构,并有缓冲池来缓存数据和索引,以提高读取效率。MySQL 8.0中,InnoDB引擎新增了例如自增锁优化、更好的行格式以及增强的崩溃恢复功能等特性。 2. **MySQL事务隔离级别与锁机制**:...

Global site tag (gtag.js) - Google Analytics