如何检查文件的HWM?
2004-07-09 10:49
162 查看
SQL> declare 2 cursor c_dbfile is 3 select tablespace_name 4 ,file_name 5 ,file_id 6 ,bytes 7 from sys.dba_data_files 8 where status !='INVALID' 9 order by tablespace_name,file_id; 10 cursor c_space(v_file_id in number) is 11 select block_id,blocks 12 from sys.dba_free_space 13 where file_id=v_file_id 14 order by block_id desc; 15 blocksize binary_integer; 16 filesize binary_integer; 17 extsize binary_integer; 18 begin 19 select value 20 into blocksize 21 from v$parameter 22 where name = 'db_block_size'; 23 for c_rec1 in c_dbfile 24 loop 25 filesize := c_rec1.bytes; 26 <> 27 for c_rec2 in c_space(c_rec1.file_id) 28 loop 29 extsize := ((c_rec2.block_id - 1)*blocksize + c_rec2.blocks*blocksize); 30 if extsize = filesize 31 then 32 filesize := (c_rec2.block_id - 1)*blocksize; 33 else 34 exit outer; 35 end if; 36 end loop outer; 37 if filesize = c_rec1.bytes 38 then 39 dbms_output.put_line('Tablespace: ' 40 ||' '||c_rec1.tablespace_name||' Datafile: '||c_rec1.file_name); 41 dbms_output.put_line('Can not be resized, no free space at end of file.') 42 ; 43 dbms_output.put_line('.'); 44 else 45 if filesize < 2*blocksize 46 then 47 dbms_output.put_line('Tablespace: ' 48 ||' '||c_rec1.tablespace_name||' Datafile: '||c_rec1.file_name); 49 dbms_output.put_line('Can be resized uptil: '||2*blocksize 50 ||' Bytes, Actual size: '||c_rec1.bytes||' Bytes'); 51 dbms_output.put_line('.'); 52 else 53 dbms_output.put_line('Tablespace: ' 54 ||' '||c_rec1.tablespace_name||' Datafile: '||c_rec1.file_name); 55 dbms_output.put_line('Can be resized uptil: '||filesize 56 ||' Bytes, Actual size: '||c_rec1.bytes); 57 dbms_output.put_line('.'); 58 end if; 59 end if; 60 end loop; 61 end; 62 / Tablespace: DRSYS Datafile: /usr/oracle/data/oradata/cint208/drsys01.dbf Can be resized uptil: 4333568 Bytes, Actual size: 5242880 . Tablespace: INDX Datafile: /usr/oracle/data/oradata/cint208/indx01.dbf Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes . Tablespace: RBS Datafile: /usr/oracle/data/oradata/cint208/rbs01.dbf Can be resized uptil: 57155584 Bytes, Actual size: 57671680 . Tablespace: SYSTEM Datafile: /usr/oracle/data/oradata/cint208/system01.dbf Can be resized uptil: 280182784 Bytes, Actual size: 283115520 . Tablespace: TEMP Datafile: /usr/oracle/data/oradata/cint208/temp01.dbf Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes . Tablespace: TESTSPACE Datafile: /usr/oracle/data/oradata/cint208/testspace1.dbf Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes . Tablespace: TOOLS Datafile: /usr/oracle/data/oradata/cint208/tools01.dbf Can be resized uptil: 16384 Bytes, Actual size: 5242880 Bytes . Tablespace: USERS Datafile: /usr/oracle/data/oradata/cint208/users01.dbf Can be resized uptil: 23076864 Bytes, Actual size: 23592960 . PL/SQL procedure successfully completed. SQL> SQL> SQL>
相关文章推荐
- 如何检查投标文件以及常见错误?
- linux 进程(关于守护进程、检查一个进程是否活着、如何写一个进程号文件)
- C语言中如何检查一个文件是否存在以及权限等信息
- 如何利用C库检查一个路径下是否存在某文件
- 项目中有大量第三方js文件时导致Eclipse检查js很慢的问题(如何禁用Eclipse检查js)
- C语言,如何检查文件是否存在和权限的信息
- 如何检查SharePoint Portal Server 2003的安装文件的版本
- 如何检查文件正在被使用
- 如何检查谁删除了文件
- 1.如何检查本机中已安装字体 2.MessageDlg与Timer冲突 3.复制文件
- 如何找出数据文件的HWM
- 在VC里如何检查一个文件是否存在
- 如何找出数据文件的HWM
- 增量检查点如何更新控制文件?
- Win10如何用文件检查器检查修复系统的受损文件?Win10修复受损文件的技巧
- 如何检查和修复Microsoft Outlook 受损坏的PST 或OST文件?
- Ubuntu下如何检查文件的md5,sha-512码
- 解决方法:对性能监视器计数器注册表值执行系统配置检查失败。有关详细信息,请参阅自述文件或 SQL Server 联机丛书中的“如何在 SQL Server 2005 中为安装程序增加计数器注册表项值”
- 如何在Linux上实现文件系统的自动检查和修复?
- 增量检查点如何更新控制文件?