默认情况下,当增加表空间或者数据文件时,数据文件的自动扩展属性是关闭的。这给业务的连续性带来了一定的隐患。DBA有必要定期的查看表空间使用情况(只查看自动扩展关闭的表空间),脚本如下:
SELECT SUBSTR(max(A.TABLESPACE_NAME),1,16) "Tablespace",
TO_CHAR((MAX(A.BYTES)-nvl(sum(B.BYTES),0))*100/MAX(A.BYTES),'999.99')||'%' "USED USAGE"
from dba_data_files A, DBA_FREE_SPACE B
WHERE A.FILE_ID=B.FILE_ID(+)
and A.TABLESPACE_NAME NOT IN (select distinct C.TABLESPACE_NAME from dba_data_files C where c.AUTOEXTENSIBLE='YES')
group by a.file_id
order by 1,2;
需要注意的是,自动扩展属性的打开在带来便利性的同时,也要防止数据文件扩展过大,过大的数据文件,会给恢复带来不必要的麻烦,如恢复时间过长等。
分享到:
相关推荐
get_tablespace_usage.sh
这里,`new_tablespace_name`是你新表空间的名称,`new_tablespace_file_path.dbf`是新数据文件的路径,`SIZE`定义初始大小,`AUTOEXTEND`指定自动扩展,`NEXT`定义每次扩展的大小,`MAXSIZE`设置最大大小。...
DBA在日常工作中,最重要的一点就是查看表空间的使用情况,去了解是否有表空间满了的情况出现。 具体方法和步骤如下所示: 第一步:打开PLSQL 第二步:新建一个SQL窗口 第三步:输入代码: select a.tablespace_...
select tablespace_name "表空间名称",status "状态",extent_management "区管理方式",allocation_type "磁盘扩展管理方式",segment_space_management "段管理方式" from dba_tablespaces; 这将显示当前数据库中...
本文将对 Oracle Create Tablespace 语法进行详细的解释和分析,从 undo 表空间到表空间的创建,DATAFILE 的设置,MININUM EXTENT,BLOCKSIZE,logging clause,FORCE LOGGING,DEFAULT storage_clause 等方面。...
SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name) FROM DBA_TABLESPACES TS; ``` 4. 获取用户的DDL 获取用户的DDL主要是获取用户的所有权限和属性,包括默认表空间、临时表空间等: - 单个用户...
与传统的字典管理表空间(Dictionary-Managed Tablespace)不同,LMT 在每个数据文件中维护一个位图,用来记录该文件中各数据块是空闲还是已使用的状态。当范围被分配或释放时,Oracle 会更新这些位图值来反映块的新...
ERP管理系统资料:SAP专业教材资料T_Tablespace_Ext.doc
查看表空间大小及已经使用的百分比 复制代码 select a.tablespace_name,a.bytes/1024/1024 "Sum MB", (a.bytes-b.bytes)/1024/1024 "used MB", b.bytes/1024/1024 "free MB", round(((a.bytes-b.bytes)/a....
SELECT tablespace_name, file_name, bytes/1024/1024 "Size (MB)", ROUND(bytes/(1024*1024*1024),2) "Size (GB)" FROM DBA_DATA_FILES; ``` 3. **监控增长**:持续监控表空间的增长对于预防表空间满载至关重要...
SELECT UPPER(F.TABLESPACE_NAME) "表空间", D.TOT_GROOTTE_MB "总大小(M)", D.TOT_GROOTTE_MB-F.TOTAL_BYTES "已用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB-F.TOTAL_BYTES)/D.TOT_GROOTTE_MB*100, 2), '990...
其中使用了`ROLLUP`和`GROUPING`函数来实现对所有表空间或单个表空间的统计。 **示例查询:** ```sql SELECT Substr(Ta.Tablespace_Name, 1, 10) "空间名称", To_Char(Ta.Define_Size / 1048576, '999990.999') ...
- `temp_tablespace_name`: 临时表空间名称。 - `TEMPFILE`: 临时文件路径和文件名。 - `EXTENT MANAGEMENT`: 本地管理或字典管理。 ##### 创建撤销表空间 ```sql CREATE UNDO TABLESPACE undo_tablespace_name ...
本地管理的表空间使用位图来跟踪表空间的扩展和空闲空间,并且通常比字典管理的表空间性能更好,这是由于其减少了与数据字典对象相关的争用和锁定。以下是创建Oracle表空间的详细知识点: 1. 创建临时表空间: 临时...
根据提供的信息,我们可以详细解析与Oracle表空间使用率相关的知识点。 ### 一、查询表空间使用情况 #### SQL脚本解读: ```sql SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)...
1. **统计空闲空间**:使用`SYS.DBA_FREE_SPACE`视图来汇总每个表空间下的所有空闲块的大小。 2. **计算总空间**:通过`SYS.DBA_DATA_FILES`视图来获取每个表空间的数据文件大小。 3. **利用率计算**:将总空间减去...
1. **从`dba_tablespaces`表中选择表空间名称**:`ts.tablespace_name`。 2. **使用`DBMS_METADATA.GET_DDL`函数获取表空间的DDL脚本**:通过将表空间名称传递给`GET_DDL`函数,可以得到创建该表空间所需的DDL语句。...
假设需要将一个名为`EXPDAT.dmp`的DMP文件从用户`qfyx`的`qfyx_ts`表空间导入到新用户`qctyx`下的`qctyx_ts`表空间中,可以按照以下步骤操作: 1. **创建表空间和用户**: - 创建表空间`qctyx_ts`。 - 创建用户`...
### Oracle表空间使用情况分析 在Oracle数据库管理中,了解和监控表空间的使用情况是十分重要的。这有助于我们合理分配存储资源、优化性能并预防潜在的存储问题。本文将根据给定SQL查询脚本,深入解析Oracle表空间...