`
dengqsintyt
  • 浏览: 291684 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

oracle--查看表空间大小以及修改表空间大小

 
阅读更多

问题描述:

  1.修改表空间大小

  2.查看表空间大小及相关的sql。

 

今天用户反馈:系统无法访问,通过查看后台信息:报如下错误,截图如下:


 

从日志信息很明显的看出,表空间满了。于是就从网上搜索设置表空间的方法(因为以前没有怎么使用过oracle管理项目,借此机会,在解决问题的同时,也学习点这方面的知识)。

 

  一.修改表空间大小

解决以上问题的办法:通过增大表空间即可解决,如下:

使用dba用户登陆
   sqlplus  / as  sysdba;

执行如下命令:
SQL > ALTER TABLESPACE SYSTEM ADD DATAFILE '/u01/app/oracle/oradata/test/system02.dbf' SIZE 20480M AUTOEXTEND OFF;

注意:其中'/u01/app/oracle/oradata/test/system02.dbf'是你数据库的路径。这里我设置成大小为:20G。

 

  二.查看表空间大小及相关的sql

   在解决以上遇到问题的同时,通过整理,以下sql,作为一个管理人员,也应该是必备的。

 

1、查看表空间的名称及大小 
SQl > SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d  WHERE t.tablespace_name = d.tablespace_name  GROUP BY t.tablespace_name; 

2、查看表空间物理文件的名称及大小 
SQl > SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_space FROM dba_data_files ORDER BY tablespace_name; 

3、查看回滚段名称及大小 
SQl > SELECT segment_name, tablespace_name, r.status, (initial_extent / 1024) initialextent, (next_extent / 1024) nextextent, max_extents, v.curext curextent FROM dba_rollback_segs r, v$rollstat v WHERE r.segment_id = v.usn(+) ORDER BY segment_name; 

4、查看控制文件 
SQl > SELECT NAME FROM v$controlfile; 

5、查看日志文件 
SELECT MEMBER FROM v$logfile; 

6、查看表空间的使用情况 
SQl > SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name  FROM dba_free_space GROUP BY tablespace_name; 

SQl > SELECT a.tablespace_name, a.bytes total, b.bytes used, c.bytes free,(b.bytes * 100) / a.bytes "% USED ", (c.bytes * 100) / a.bytes "% FREE " FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c WHERE a.tablespace_name = b.tablespace_name AND a.tablespace_name = c.tablespace_name; 

7、查看数据库库对象 
SQl > SELECT owner, object_type, status, COUNT(*) count# FROM all_objects GROUP BY owner, object_type, status; 

8、查看数据库的版本  
SQl > SELECT version FROM product_component_version WHERE substr(product, 1, 6) = 'Oracle'; 

9、查看数据库的创建日期和归档方式 
SQl > SELECT created, log_mode, log_mode FROM v$database; 


 

 

 

 

  • 大小: 27.4 KB
分享到:
评论
1 楼 Noenemy 2017-07-14  
查看表空间的使用情况 


SELECT D.TABLESPACE_NAME, 
       SPACE || 'M' "SUM_SPACE(M)", 
       SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)", 
       ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%' 
          "USED_RATE(%)", 
       FREE_SPACE || 'M' "FREE_SPACE(M)" 
  FROM (  SELECT TABLESPACE_NAME, 
                 ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, 
                 SUM (BLOCKS) BLOCKS 
            FROM DBA_DATA_FILES 
        GROUP BY TABLESPACE_NAME) D, 
       (  SELECT TABLESPACE_NAME, 
                 ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE 
            FROM DBA_FREE_SPACE 
        GROUP BY TABLESPACE_NAME) F 
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) 
UNION ALL                                                           --如果有临时表空间 
SELECT D.TABLESPACE_NAME, 
       SPACE || 'M' "SUM_SPACE(M)", 
       USED_SPACE || 'M' "USED_SPACE(M)", 
       ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)", 
       NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)" 
  FROM (  SELECT TABLESPACE_NAME, 
                 ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, 
                 SUM (BLOCKS) BLOCKS 
            FROM DBA_TEMP_FILES 
        GROUP BY TABLESPACE_NAME) D, 
       (  SELECT TABLESPACE_NAME, 
                 ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE, 
                 ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE 
            FROM V$TEMP_SPACE_HEADER 
        GROUP BY TABLESPACE_NAME) F 
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) 
ORDER BY 1;

相关推荐

    ORACLE修改表空间大小

    ### ORACLE 修改表空间大小详解 #### 一、问题背景及原因分析 在Oracle数据库管理过程中,经常会遇到因表空间不足导致的各种问题。其中一种常见问题是ORA-01652错误,即“无法在指定表空间扩展临时段”。这通常...

    Oracle修改表空间大小.doc

    ### Oracle 修改表空间大小 #### 一、背景介绍 在使用Oracle 10g数据库管理系统进行数据管理的过程中,经常会遇到由于表空间限制而导致的数据导入失败问题。这是因为Oracle默认的表空间大小为400MB,当数据库中的...

    oracle-临时表空间

    此查询显示了每个表空间的空闲空间大小。 另外,也可以通过更详细的计算来获取表空间的总容量、已使用量以及剩余空间百分比等信息: ```sql SELECT A.TABLESPACE_NAME, A.BYTES TOTAL, B.BYTES USED, C.BYTES FREE...

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    以下将详细介绍如何在Oracle中创建表空间、临时表空间以及赋予用户对表空间的权限。 首先,我们来了解如何创建一个常规表空间: 1. **创建表空间**: 使用`CREATE TABLESPACE`语句来创建一个新的表空间。例如,...

    调整oracle内存及调整表空间大小方法

    ### 调整Oracle内存及调整表空间大小的方法 #### Oracle内存管理 Oracle数据库的内存管理对于确保数据库高效运行至关重要。内存配置不当可能导致性能下降甚至系统崩溃。在默认情况下,Oracle会根据系统的总内存自动...

    oracle创建表空间用户等

    本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自增长和修改其大小。 #### 一、创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成...

    Oracle本地管理表空间

    在本地管理表空间中,这些信息都通过位图记录在每个数据文件的头部,无需修改数据字典表,因此可以更高效地管理表空间内的空间使用。 #### 四、总结 通过采用本地管理表空间,Oracle能够在降低系统资源消耗的同时...

    oracle 查看表空间使用情况

    a.bytes / 1024 / 1024 "表空间大小(M)", (a.bytes - b.bytes) / 1024 / 1024 "已使用空间(M)", b.bytes / 1024 / 1024 "空闲空间(M)", ROUND(((a.bytes - b.bytes) / a.bytes) * 100, 2) "使用比" FROM ( ...

    ORACLE修改表空间方法

    1. **增加表空间大小**:如果你发现某个表空间已满,可以通过增加新的数据文件或扩大现有数据文件的大小来扩展表空间。例如,使用`ALTER TABLESPACE`语句添加新数据文件: ```sql ALTER TABLESPACE 表空间名 ADD ...

    Oracle修改表空间

    通过修改表空间文件大小或者添加表空间文件方式修改Oracle表空间

    Oracle的Temp表空间和UNDO表空间的处理

    4. **调整新表空间大小**(如果需要): ```sql ALTER DATABASE TEMPFILE '/u01/app/oracle/oradata/BXG/temp02.dbf' RESIZE 100M; ``` #### 二、UNDO表空间处理 UNDO表空间用于存储事务的回滚信息,以便在需要...

    脚本-Oracle释放过度使用的Undo表空间

    ### 关于Oracle释放过度使用的Undo表空间的知识点 在Oracle数据库管理中,Undo表空间扮演着极其重要的角色。它主要用于存储事务处理过程中产生的Undo记录,这些记录对于事务回滚、一致性读取以及恢复操作至关重要。...

    Oracle 表空间 收缩

    2. **移动表、索引等对象**:将block_id大于目标表空间大小的表、索引、分区表等对象移动到一个新的临时表空间中。 3. **收缩表空间**:在确保所有对象都已妥善处理后,执行收缩操作。 4. **移动对象回原表空间**:...

    oracle数据库表空间监控实用脚本

    1. **多表联接**:通过`dba_free_space`与`dba_data_files`联接,可以获取表空间内所有文件的总空间大小以及空闲空间大小。 2. **计算碎片率**:利用`(sum(free)*100/sum(bytes))`计算表空间的碎片率,其中`sum(free...

    Oracle 表空间查询与操作方法

    - 计算表空间的总大小、已用空间、剩余空间以及剩余比例,并进行汇总。 6. **查询当前用户的表信息** ```sql SELECT * FROM user_tables; ``` **解释**: - `user_tables` 表提供了当前用户所有的表的信息...

    ORACLE导入数据文件到指定的表空间

    通过`ALTER TABLESPACE`命令可以更改表空间的大小,或者使用`CREATE TABLESPACE`创建新的表空间。 6. **安全性和性能**:在导入大量数据时,考虑使用表锁定、并行导入、分区策略等技术以提高性能和降低对生产系统的...

    Oracle 表空间建立方法

    表空间可以进行各种修改操作,包括添加数据文件、调整大小、更改状态等。 ##### 添加数据文件 ```sql ALTER TABLESPACE tablespace_name ADD DATAFILE 'path/filename.xxx' SIZE xM MAXSIZE xM/UNLIMITED; ``` - `...

    ORACLE 表空间的部分操作

    本文将详细介绍Oracle中关于表空间的一些关键操作,包括创建、修改、管理和删除表空间的过程,以及如何处理表空间的在线与离线状态,数据文件的管理,以及表空间的扩展策略。 #### 一、建立表空间 创建表空间是...

    修改表空间大小

    在Oracle数据库中,修改表空间大小通常涉及以下操作: 1. 扩大表空间:可以添加新的数据文件(Datafile)到表空间,或者通过ALTER DATABASE DATAFILE命令增大已有数据文件的大小。 示例: ```sql ALTER ...

    Oracle-建表空间-用户-导入DMP-设置密码不过期等工具

    Oracle数据库管理系统是企业级广泛应用的关系型数据库,它提供了丰富的功能来管理数据,包括创建和管理表空间、用户、数据导入导出以及密码策略等。在"Oracle-建表空间-用户-导入DMP-设置密码不过期等工具"这个主题...

Global site tag (gtag.js) - Google Analytics