精华内容
下载资源
问答
  • 表空间扩容
    千次阅读
    2021-04-30 09:58:15

    测试环境

    OS:RedHat 6.7

    Oracle:11.2.0.4

    [root@iccsdb01 ~]# su - oracle

    [oracle@iccsdb01 ~]$ sqlplus / as sysdba

    SQL*Plus: Release 11.2.0.4.0 Production on 星期四 5月 25 15:09:24 2017

    Copyright (c) 1982, 2013, Oracle.  All rights reserved.

    连接到:

    Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

    With the Partitioning, OLAP, Data Mining and Real Application Testing options

    SYS@icsdb >

    第一步:查看表空间的名字及文件所在位置:

    set linesize 200

    col FILE_NAME for a50

    col TABLESPACE_NAME for a20

    select tablespace_name,

    file_id,

    file_name,

    round(bytes / (1024 * 1024), 0) total_space

    from sys.dba_data_files

    order by tablespace_name;

    表空间扩容有三个方法:

    方法一:增大所需表空间大小:

    alter database datafile '表空间位置' resize 新的尺寸

    例如:

    alter database datafile '/ora_data/icsdb/system01.dbf' resize 500M;

    对于oracle数据库的表空间,除了用手动增加数据文件大小外,还可以增加数据文件数量等方式扩展表空间大小。

    方法二:增加数据文件个数

    alter tablespace 表空间名称 add datafile '新的数据文件地址' size 数据文件大小

    例如:

    alter  tablespace system add datafile '/ora_data/icsdb/system02.dbf' size 1G;

    方法三:设置表空间自动扩展。

    alter database datafile '数据文件位置' autoextend on next 自动扩展大小 maxsize 最大扩展大小

    例如:

    alter database datafile '/ora_data/icsdb/system02.dbf' autoextend on next 500m maxsize 10000m;

    查询表空间使用情况:

    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.bytes) * 100, 2) "used%"

    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

    order by ((a.bytes - b.bytes) / a.bytes) desc;

    更多相关内容
  • oracle 表空间扩容.txt

    2020-04-21 15:47:30
    直接划一个xxG的裸设备就行 然后执行alter tablespace xxx add datfile '***' size 30000M autoextend off; 建裸设备时,裸设备的大小要大于文件的大小,下面以是建设备system01的命令:
  • oracle空间容量查询,通过sql语句查询空间的名称和使用情况以及表空间扩容的几种方法
  • 表空间扩容

    千次阅读 2021-10-11 11:20:34
    一、查看表空间大小 查看临时表空间大小 set linesize 120 pagesize 999 column tbs_name format a20; select a.name "tbs_name", round(a.bytes /1024/1024 , 2) "tbs_size(mbytes)", round(((a.blocks - nvl...

    一、查看表空间大小

    查看临时表空间大小

    set linesize 120 pagesize 999
    column tbs_name format a20;
    select a.name "tbs_name",
           round(a.bytes /1024/1024 , 2) "tbs_size(mbytes)",
           round(((a.blocks - nvl(b.used_blocks,0))/a.blocks)*a.bytes / 1024/1024,2)             
           "tbs_free(mbytes)",
           round((nvl(b.used_blocks,0) / a.blocks)*a.bytes /1024/1024 ,2) "tbs_used(mbytes)",
           round((nvl(b.used_blocks,0) / a.blocks)*100,2) "percent %"
    from (select t.NAME, sum(f.BYTES) as bytes, sum(f.BLOCKS) as blocks
           from v$tempfile f, v$tablespace t
           where t.TS#=f.TS#
           group by t.name) a,
           (select TABLESPACE_NAME, sum(USED_BLOCKS) as used_blocks
           from gv$sort_segment
           group by TABLESPACE_NAME)b
    where a.name = b.tablespace_name(+)
    order by length(a.name), a.name;

    查看非临时表空间大小
     

    set linesize 200
    
    select a.tablespace_name,
           trunc(sum(a.tots)/1024/1024,2)tot_size_mb,
           round(sum(a.sumb)/1024/1024,2)tot_free_mb,
           round(sum(a.sumb)*100/sum(a.tots),2) pct_free,
           round(sum(a.largest)/1024/1024,2)max_free_mb
    from (select tablespace_name,
            0 tots,
            sum(bytes)sumb,
            max(bytes)largest,
            count(*)chunks
          from dba_free_space a
          group by tablespace_name
          union 
          select tablespace_name, sum(bytes) tots,0,0,0
          from dba_data_files
          group by tablespace_name)a
    group by a.tablespace_name order by 4;

    二、查看表空间路径

    临时表空间

    select * from dba_temp_files;

    非临时表空间

    select * from dba_data_files;

    三、表空间扩容

    数据文件的大小是由db_block_size决定的,oracle默认的一般都是8kb大小,Oracle表空间数据文件每个数据文件最多只能包含2^22个数据块。所以就是8K*2^22 = 32G。

    这里为了方便就取30G,方便取整。

    如果需要添加的容量没超过30G,那就只需要添加一次。

    如果超过了30G,可以分成多次来添加。

    也可以利用脚本在后台批量执行:

    这里以扩容120G为例

    我们可以先把下面的内容放入脚本中,然后执行脚本。

    sqlplus "/ as sysdba" <<EOF
    set timing on
    alter tablespace  tablespacename(此处为表空间名称)add datafile '+DATA'(此处为表空间路径) size 30G autoextend off;
    alter tablespace  tablespacename(此处为表空间名称)add datafile '+DATA'(此处为表空间路径) size 30G autoextend off;
    alter tablespace  tablespacename(此处为表空间名称)add datafile '+DATA'(此处为表空间路径) size 30G autoextend off;
    alter tablespace  tablespacename(此处为表空间名称)add datafile '+DATA'(此处为表空间路径) size 30G autoextend off;
    EOF
    
    nohup sh tab_create.sh &

    临时表空间的扩容速度要比非临时的快,可以不用脚本直接在sqlplus里面执行扩容语句

    alter tablespace  tablespacename(此处为表空间名称)add tempfile '+DATA'(此处为表空间路径) size 30G autoextend off

    需要注意的是

    临时表空间的是tempfile,非临时表空间的是datafile。

    展开全文
  • oracle临时表空间扩容

    千次阅读 2021-05-07 07:36:05
    查看临时表空间select *from (Select a.tablespace_name,to_char(a.bytes / 1024 / 1024, ‘99,999.999‘) total_bytes,to_char(b.bytes / 1024 / 1024, ‘99,999.999‘) free_bytes,to_char(a.bytes / 1024 / 1024 ...

    查看临时表空间

    select *

    from (Select a.tablespace_name,

    to_char(a.bytes / 1024 / 1024, ‘99,999.999‘) total_bytes,

    to_char(b.bytes / 1024 / 1024, ‘99,999.999‘) free_bytes,

    to_char(a.bytes / 1024 / 1024 - b.bytes / 1024 / 1024,

    ‘99,999.999‘) use_bytes,

    to_char((1 - b.bytes / a.bytes) * 100, ‘99.99‘) || ‘%‘ use

    from (select tablespace_name, sum(bytes) bytes

    from dba_data_files

    group by tablespace_name) a,

    (select tablespace_name, sum(bytes) bytes

    from dba_free_space

    group by tablespace_name) b

    where a.tablespace_name = b.tablespace_name

    union all

    select c.tablespace_name,

    to_char(c.bytes / 1024 / 1024, ‘99,999.999‘) total_bytes,

    to_char((c.bytes - d.bytes_used) / 1024 / 1024, ‘99,999.999‘) free_bytes,

    to_char(d.bytes_used / 1024 / 1024, ‘99,999.999‘) use_bytes,

    to_char(d.bytes_used * 100 / c.bytes, ‘99.99‘) || ‘%‘ use

    from (select tablespace_name, sum(bytes) bytes

    from dba_temp_files

    group by tablespace_name) c,

    (select tablespace_name, sum(bytes_cached) bytes_used

    from v$temp_extent_pool

    group by tablespace_name) d

    where c.tablespace_name = d.tablespace_name)

    order by tablespace_name ;

    ----------------------------------------------

    查看临时表分区

    SELECT *

    FROM (SELECT USERNAME,

    SESSION_ADDR,

    SQL_ID,

    CONTENTS,

    SEGTYPE,

    BLOCKS * 8 / 1024 / 1024 GB

    FROM V$SORT_USAGE

    ORDER BY BLOCKS DESC)

    WHERE ROWNUM <= 200;

    --------------------------------------------

    查看表空间使用率

    SELECT a.tablespace_name "表空间名称",

    total / (1024 * 1024) "表空间大小(M)",

    free / (1024 * 1024) "表空间剩余大小(M)",

    (total - free) / (1024 * 1024 ) "表空间使用大小(M)",

    total / (1024 * 1024 * 1024) "表空间大小(G)",

    free / (1024 * 1024 * 1024) "表空间剩余大小(G)",

    (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",

    round((total - free) / total, 4) * 100 "使用率 %"

    FROM (SELECT tablespace_name, SUM(bytes) free

    FROM dba_free_space

    GROUP BY tablespace_name) a,

    (SELECT tablespace_name, SUM(bytes) total

    FROM dba_data_files

    GROUP BY tablespace_name) b

    WHERE a.tablespace_name = b.tablespace_name

    ---------------------------------------------------------

    1.查看临时表空间的数据文件及存放路径

    select tablespace_name,

    file_name,

    user_bytes/bytes,

    bytes / 1024 / 1024 "file_size(M)",

    autoextensible

    from dba_temp_files t

    where t.TABLESPACE_NAME = ‘TEMP‘;

    5fdfd7b7562f0383d35f9e36d2e92c65.png

    2.

    登录数据库服务器,执行扩容语句,如下

    SQL> alter database tempfile ‘/u01/app/oracle/oradata/orcl/temp01.dbf‘ resize 4G;

    原文:https://www.cnblogs.com/liqing1009/p/14478398.html

    展开全文
  • oracle表空间扩容

    千次阅读 2021-11-12 14:38:56
    开发人员在导入和数据时,反馈无法导入,提示ORA-27044:Unable to wirte the header block of file Linux X86_64 Error 2:NO such file director 查看了操作系统各路径文件空间,发现空间不足,查看了下因为...

    开发人员在导入表和数据时,反馈无法导入,提示ORA-27044:Unable to wirte the header block of file

    Linux X86_64 Error  2:NO such file director

    查看了操作系统各路径文件空间,发现空间不足,查看了下因为之前上一任技术负责人在安装oracle时,存储数据文件没有专门创建一个大空间文件来存储,使用的是默认,导致随着时间推移,这两年各种数据库实例越来越多,最终空间不足

    加上home的空间也不足,开发人员也在申请需要扩容空间用于存储备份一些文件等,同样需要扩容干脆在home目录下扩容100G空间专门存储数据与表空间和备份文件

     

     扩容100G,直接挂载在home目录下

     扩容成功:

    接下来就是转移占用空间比较大的表空间和数据问题到新空间

    加上开发新要构建的数据库表空间也直接构建新路径,

    能成功新增,且是在新的目录下:

     

     

    oracle迁移表空间数据文件
    一、迁移非关键数据表空间数据文件方案:

    1.alter tablespace BATRISKTS offline;
    2.cp 原数据文件  新路径/数据文件
    3.alter tablespace BATRISKTS rename datafile '原数据文件' to '新数据文件';
    4.alter tablespace BATRISKTS online;

     

     

    展开全文
  • 一、系统表空间扩容方法方法1:在innodb_data_file_path参数后面加上autoextend参数innodb_data_file_path=ibdata1:12M:autoextend方法2:在innodb_data_file_path参数后面加上一个新的数据文件innodb_data_file_...
  • 数据库表空间扩容

    千次阅读 2019-03-10 21:14:27
    数据库表空间扩容 查看数据库空间大小 SELECT a.tablespace_name &quot;空间名&quot;, total &quot;空间大小&quot;, free &quot;空间剩余大小&quot;, (total - free) &...
  • oracle数据库表空间扩容问题

    千次阅读 2021-08-24 10:23:40
    1.查看表空间使用率 SELECT B.FILE_NAME 物理文件名, B.TABLESPACE_NAME 表空间名称, B.BYTES/1024/1024 大小M, (B.BYTES-SUM(NVL(A.BYTES,0)))/1024/1024 已使用M, SUBSTR((B.BYTES-SUM(NVL(A.BYTES,0)))/(B...
  • Oracle|表空间扩容

    2020-12-29 18:00:54
    生产环境遇到数据量暴增或累计数据达到某种程度后,表空间和索引空间的使用量就需要扩容。 1、查询表空间使用情况 SELECT FILE_NAME "文件名称", TABLESPACE_NAME "表空间", BYTES / 1024 / 1024 / 1024 "文件最小...
  • DB2表空间扩容方法(linux)

    千次阅读 2022-02-11 15:22:13
    DB2表空间扩容方法
  • 方法一:管理界面em命令:ALTER TABLESPACE "TBS_NAME"ADD DATAFILE 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ex_data'SIZE 10240M ...注:该命令修改原来的表空间。数据文件名:ex_dataOracle目录:C:\ORACLE\...
  • Oracle之表空间扩容(Asm存储) 此操作适应于表空间扩容的操作 create tablespace zqj datafile '+DATA/ORCL/DATAFILE/zqj01.dbf' size 2G autoextend on; 在zqj空间中增加一个数据文件 alter tablespace SYSTEM...
  • oracle表空间文件扩容

    千次阅读 2021-11-18 17:33:45
    找到了问题,坚信一个数据库肯定不会就只支持32G,来分析下表空间,看看怎么给它扩容? oracle表空间 Oracle的表空间与数据文件是成对出现的,每一个数据文件对应一个表空间,一个表空间可以包含多个数据文件。...
  • oracle数据库总结(四)--表空间扩容

    千次阅读 2018-07-23 17:33:49
    1、查询当前用户的所属表空间 select * from user_users; 2:查看所有表空间的总共大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by ...
  • db2 表空间扩容

    千次阅读 2018-07-02 17:15:00
    DB2表空间扩容 1 - Detect what tablespace has size issues db2 list tablespaces show detail 2 - Check the percentage of use from the tablespace db2 list tablespace containers for <...
  • ORACLE扩容表空间

    2021-11-22 16:15:01
    查看表空间的名称和文件所在位置 SELECT tablespace_name, file_id, file_name, round( bytes / ( 1024 * 1024 ), 0 ) total_space FROM sys.dba_data_files ORDER BY tablespace_name 查询表空间信息 ...
  • DB2表空间扩容方法

    千次阅读 2021-05-15 15:08:46
    下文将教给您DB2数据库表空间扩容的方法,供您参考,希望对您有所帮助。1)直接添加一个容器的例子:db2 " ALTER TABLESPACE PAYROLL ADD (DEVICE '/dev/rhdisk9' 10000) "加容器之后DB2会有一个自动balance的过程,...
  • Oracle表空间解析及使用
  • 数据库服务:数据库表空间扩容

    千次阅读 2018-08-23 16:33:33
    数据库表空间扩容是我们在运维过程中经常需要做的事情,本文分享一次在扩容表空间中遇到的情况以及针对本次情况的一些想法。   记一次在运维过程中遇到的问题,在最近的一次表空间扩容中遇到的问题,该表表空间...
  • oracle数据库表空间容量查询及扩容

    千次阅读 2022-03-17 17:07:45
    -- 查询表空间使用情况(单位:M) SELECT a.tablespace_name "表空间名", total / (1024 * 1024) "表空间大小(M)", free / (1024 * 1024) "表空间剩余大小(M)", (total - free) / (1024 * 1024) "表空间使用大小...
  • 文章目录Oracle数据库查询表空间使用情况、扩容表空间命令脚本(dba、ETL必备)前言一、查看数据库每个表空间的大小二、查看数据库剩余表空间大小三、检查系统中所有表空间总体空间四、查询oracle表空间使用情况(重点...
  • oracle数据库表空间扩容

    千次阅读 2014-06-11 15:22:58
    --查看每个表空间文件当前设定的总大小 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 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,947
精华内容 55,578
关键字:

表空间扩容

友情链接: demo.rar