YashanDB SWAP 表空间管理
数据库操作(例如 order by,hash join,统计信息收集等)首先会通过数据库虚拟内存(通过 VM_BUFFER_SIZE 参数控制)缓存计算的中间结果,但如果虚拟内存不足时,需要通过将虚拟内存交换到 SWAP 表空间来释放内存,必要时再将内存从 SWAP 表空间换入。
SWAP 表空间是非持久化表空间,只用于数据库虚拟内存的换入换出,因此持久化对象(例如表、索引等)不能创建在 SWAP 表空间。
SWAP 表空间空间不足时,可能会导致产生大量中间结果的操作失败,因此需要根据实际业务合理规划 SWAP 表空间大小或打开自动扩展。
分布式部署中,CREATE DATABASE 时内置了 SWAP 表空间,不允许手动创建新的 SWAP 表空间。
创建 SWAP 表空间
示例(单机部署)
示例(共享集群部署)
创建本地 SWAP 表空间
示例(共享集群部署)
为 SWAP 表空间添加数据文件
示例(单机部署)
示例(共享集群部署)
Note:
共享集群部署中,SWAP 表空间与本地 SWAP 表空间均支持添加 YFS 路径的文件,但只有本地 SWAP 表空间可以添加本地磁盘路径的文件。
为 SWAP 表空间调整数据文件大小
分布式部署/共享集群部署中无法使用此功能。
示例(单机部署)
为 SWAP 表空间删除数据文件
不允许删除默认 swap 表空间的数据文件。
示例(单机部署)
示例(共享集群部署)
Note:
共享集群部署中,必须全部实例在线才能删除文件。
删除(本地)SWAP 表空间
示例(单机、共享集群部署)
Note:
共享集群部署中,必须全部实例在线才能删除 SWAP 表空间。
查询当前正在使用的 SWAP 表空间名称
示例
切换 SWAP 表空间
示例
查询 SWAP 表空间信息
示例
查询 SWAP 表空间的数据文件信息
可以查询DBA_DATA_FILES
和DBA_TEMP_FILES
视图获取 SWAP 表空间数据文件的基本信息。
示例
此外,还可查询V$TEMP_EXTENT_POOL
动态视图获取当前 SWAP 表空间的 EXTENT 分配情况。
示例
版权声明: 本文为 InfoQ 作者【YashanDB】的原创文章。
原文链接:【http://xie.infoq.cn/article/ef2eb6a0e1d4fb82b3559cfe0】。文章转载请联系作者。
评论