Oracle(表空间) 数据文件自动增加
2011-11-10 09:42
375 查看
--------执行此脚本之前需要创建名称为 datafile_no 的序列 最小值为1 增长量为1 最大值为 10000000
--------默认为在表空间HIS_DATA下创建数据文件。
--------过程创建之后需要进行编译,编译成功后,创建job进行调用。间隔时间为 trunc(sysdate+1,'DD')+1/24 每天调用。
--------并且调用时间必须在同步数据的job运行前前两小时执行。
Create Or Replace Procedure Temp_1 Is
Tablespacename Varchar(500);
Free Number(10);
Vs_Sql Varchar2(500);
Data_File_No Number(4);
Begin
Free := 0;
Select Tablespace_Name, Fz
Into Tablespacename, Free
From (Select a.Tablespace_Name, a.Bytes / 1024 / 1024 "总共MB", (a.Bytes - b.Bytes) / 1024 / 1024 "使用MB",
b.Bytes / 1024 / 1024 "空闲MB", Round(((a.Bytes - b.Bytes) / a.Bytes) * 100, 2) Fz ------使用百分比
From (Select Tablespace_Name, Sum(Bytes) Bytes From Dba_Data_Files Group By Tablespace_Name) a,
(Select Tablespace_Name, Sum(Bytes) Bytes, Max(Bytes) Largest From Dba_Free_Space Group By Tablespace_Name) b
Where a.Tablespace_Name = b.Tablespace_Name)
Where Tablespace_Name = 'HIS_DATA'; ----默认表空间名称
If Free >= 80 Then
Select Data_Src.Datafile_No.Nextval Into Data_File_No From Dual;
Vs_Sql := 'alter tablespace HIS_DATA add datafile ''D:/ORACLE/PRODUCT/10.2.0/ORADATA/DBHOUSE/HIS_DATA' || Data_File_No || '.dbf'' size 5M autoextend on next 5m maxsize unlimited';
-----alter中的路径需要根据本地数据库的安装路径修改
Execute Immediate Vs_Sql;
End If;
End Temp_1;
--------默认为在表空间HIS_DATA下创建数据文件。
--------过程创建之后需要进行编译,编译成功后,创建job进行调用。间隔时间为 trunc(sysdate+1,'DD')+1/24 每天调用。
--------并且调用时间必须在同步数据的job运行前前两小时执行。
Create Or Replace Procedure Temp_1 Is
Tablespacename Varchar(500);
Free Number(10);
Vs_Sql Varchar2(500);
Data_File_No Number(4);
Begin
Free := 0;
Select Tablespace_Name, Fz
Into Tablespacename, Free
From (Select a.Tablespace_Name, a.Bytes / 1024 / 1024 "总共MB", (a.Bytes - b.Bytes) / 1024 / 1024 "使用MB",
b.Bytes / 1024 / 1024 "空闲MB", Round(((a.Bytes - b.Bytes) / a.Bytes) * 100, 2) Fz ------使用百分比
From (Select Tablespace_Name, Sum(Bytes) Bytes From Dba_Data_Files Group By Tablespace_Name) a,
(Select Tablespace_Name, Sum(Bytes) Bytes, Max(Bytes) Largest From Dba_Free_Space Group By Tablespace_Name) b
Where a.Tablespace_Name = b.Tablespace_Name)
Where Tablespace_Name = 'HIS_DATA'; ----默认表空间名称
If Free >= 80 Then
Select Data_Src.Datafile_No.Nextval Into Data_File_No From Dual;
Vs_Sql := 'alter tablespace HIS_DATA add datafile ''D:/ORACLE/PRODUCT/10.2.0/ORADATA/DBHOUSE/HIS_DATA' || Data_File_No || '.dbf'' size 5M autoextend on next 5m maxsize unlimited';
-----alter中的路径需要根据本地数据库的安装路径修改
Execute Immediate Vs_Sql;
End If;
End Temp_1;
相关文章推荐
- Oracle监视表空间,并自动增加数据文件脚本
- ORACLE ASM环境中删除和创建表空间、增加表空间数据文件
- Oracle 表空间增加数据文件 修改数据文件容量上限
- oracle 查看数据文件、删除文件、增加临时空间大小
- oracle增加表空间数据文件大小
- ORACLE ASM环境中删除和创建表空间、增加表空间数据文件
- oracle增加表空间数据文件大小
- Oracle 为表空间增加数据文件
- 修改表空间(改变大小,增加数据文件,修改自动扩展性,移动数据文件,重命名,删除)
- ORACLE自动扩展表空间添加数据文件
- 《Oracle编程艺术》学习笔记(9)-Oracle中的文件-数据文件和存储体系(表空间/段/区段/块)
- Oracle 表空间与数据文件
- Oracle误删表空间数据文件报错
- Oracle的学习四:数据库管理员、逻辑备份与恢复、数据字典、动态性能视图、管理表空间与数据文件
- oracle的表空间和数据文件
- oracle存储结构: 表空间/数据文件/段/分区/块
- Oracle 表空间与数据文件
- oracle中的sys用户(修改密码)/////Oracle删除表空间的同时删除数据文件 ///// Oracle中如何保证用户只有一个session登录
- 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件
- ORACLE 中SCHEMA的概念以及数据库,表空间,数据文件等的区别