一. 开发背景#
文件系统管理的数据卷,最大限制为2T,每个卷最多存放 60个数据文件.为了避免同学们在加数据文件时误操作违反该规定,同时为了简化操作开发了本功能.本程序为了通用性,同时兼顾了ASM存储与老架构的文件系统,使用时注意参数的代入.
本程序同时适用于新建表空间.
二. 流程图#
![]() |
三. 参数说明#
1. 函数头#
function add_tbs(tablespace_name varchar2, add_size_M number, force varchar2 default 'false', max_size_M_per_file number default 0, auto_extend varchar2 default 'true', next_size_M number default 100) return t_one_col_result_tab
pipelined;
2. 参数#
需要
增加或者
新建的表空间名,
大小写均可.
四 举例 #
1、不带force参数,超过60个文件是不能添加数据文件的。#
SQL> select * from table(dbmgr.autodb.add_tbs('lifedata',10)); OUTPUT ------------------------------------------------------------------------------------------------------------------------------------ 文件系统数据库 `
*************************************************
* 请使用“col output for a132”获取最佳显示效果 *
* 请使用 “set pages 200” 获取最佳显示效果 *
*************************************************
====================================================================================================================================
` `
卷信息: (**卷数据文件数不计算redo log以及temp文件**)
------------------------------------------------------------------------------------------------------------------------
|卷名 |卷数据文件数 | 卷大小(G) | 已使用(G) | 剩余(G) |使用率% |剩余率% |
------------------------------------------------------------------------------------------------------------------------
|/paic/bj/lbs/data | 152 | 2696 | 1942 | 754 | 72.03 | 27.97 |
|/paic/bj/lbs/data2 | 76 | 1951 | 1222 | 729 | 62.63 | 37.37 |
------------------------------------------------------------------------------------------------------------------------
====================================================================================================================================
` `
本次操作增加数据文件如下:
OUTPUT
----------------------------------------------------------------------------------------------------------------------------
|数据文件 | 初始大小(M) |自动扩展|最大可扩展到(M)| 每次扩展(M) |
----------------------------------------------------------------------------------------------------------------------------
====================================================================================================================================
添加数据文件遇到异常:
ERROR: 没有找到合适的DATA卷,请向存储组申请增加额外的DATA卷。
**Hint: 如果是未改造的旧存储架构,可以代入参数"force=>true"后重新执行过程。
----------------------------------------------------------------------------------------------------------------------------------
====================================================================================================================================
` `
表空间 <LIFEDATA> 概况 :
-------------------------------------------------------------------------------
| 当前大小(M) | 已使用(M) | 剩余(M) | 最大可扩展到(M) |当前剩余率% |最大剩余率% |
-------------------------------------------------------------------------------
| 1019100 | 1018134 | 966 | 1536000 | 0 | 34 |
-------------------------------------------------------------------------------
2、带force参数可以忽略60个文件的限制#
SQL> select * from table(dbmgr.autodb.add_tbs('lifedata',10,'true')); OUTPUT ------------------------------------------------------------------------------------------------------------------------------------ 文件系统数据库 `
*****************************************************
* 请使用“col output for a132”获取最佳显示效果 *
* 请使用 “set pages 200” 获取最佳显示效果 *
*****************************************************
====================================================================================================================================
` `
卷信息: (**卷数据文件数不计算redo log以及temp文件**)
------------------------------------------------------------------------------------------------------------------------
|卷名 |卷数据文件数 | 卷大小(G) | 已使用(G) | 剩余(G) |使用率% |剩余率% |
------------------------------------------------------------------------------------------------------------------------
|/paic/bj/lbs/data | 152 | 2696 | 1942 | 754 | 72.03 | 27.97 |
|/paic/bj/lbs/data2 | 76 | 1951 | 1222 | 729 | 62.63 | 37.37 |
------------------------------------------------------------------------------------------------------------------------
====================================================================================================================================
` `
本次操作增加数据文件如下:
OUTPUT
-----------------------------------------------------------------------------------------------------------------------
|数据文件 | 初始大小(M) |自动扩展|最大可扩展到(M)| 每次扩展(M) |
-----------------------------------------------------------------------------------------------------------------------
|/paic/bj/lbs/data2/oradata/lubj0/lifedata049.dbf | 100 | 是 | 32767| 100|
-----------------------------------------------------------------------------------------------------------------------
====================================================================================================================================
` `
表空间 <LIFEDATA> 概况 :
-------------------------------------------------------------------------------
| 当前大小(M) | 已使用(M) | 剩余(M) | 最大可扩展到(M) |当前剩余率% |最大剩余率% |
-------------------------------------------------------------------------------
| 1019200 | 1018134 | 1066 | 1568767 | 0 | 35 |