1 系统表空间扩容

注:表空间监测或扩容方式很多,这里只提供一种方便使用的方法

1)查询SQL

注:需要输入百分比,如:90,就可查出使用率超过90%的表空间,

with t as
(select b.tablespace_name,
b.contents,
(b.currentbytes - nvl(a.free, 0)) / b.currentbytes * 100 ratio
from (select 'PERMANENT' contents,
tablespace_name,
sum(bytes) currentbytes,
sum(maxbytes) maxbyte
from dba_data_files
group by tablespace_name
union all
select 'TEMPORARY' contents,
tablespace_name,
sum(bytes) currentbytes,
sum(maxbytes) maxbyte
from dba_temp_files
group by tablespace_name) b,
(select tablespace_name, sum(bytes) free
from dba_free_space
group by tablespace_name
union all
select tablespace_name, sum(free_space) free
from dba_temp_free_space
group by tablespace_name) a
where a.tablespace_name(+) = b.tablespace_name
and (b.currentbytes - nvl(a.free, 0)) / b.currentbytes * 100 >
nvl(to_number('&百分比'), 80))
select case add_f.contents
when 'PERMANENT' then
'alter tablespace ' || add_f.tablespace_name || ' add datafile ''' ||
add_f.new_file || ''' size ' || nvl(to_number('&文件大小'), 4) || 'g;'
when 'TEMPORARY' then
'alter tablespace ' || add_f.tablespace_name || ' add tempfile ''' ||
add_f.new_file || ''' size ' || nvl(to_number('&文件大小'), 4) || 'g;'
end,
add_f.tablespace_name,
t.ratio
from (select t.tablespace_name,
t.contents,
substr(f.file_name, 1, instr(f.file_name, '/', -1)) ||
lower(t.tablespace_name) || (max(f.file_id) + 1) || '.dbf' new_file
from dba_data_files f, t
where f.tablespace_name = t.tablespace_name
group by t.tablespace_name,
t.contents,
substr(f.file_name, 1, instr(f.file_name, '/', -1))) add_f,
t
where add_f.tablespace_name = t.tablespace_name;

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

$ su - oraprod
$ sqlplus / as sysdba
SQL> alter tablespace APPS_TS_MEDIA add datafile '/oracle/PROD/ora/db/apps_st/data/apps_ts_media401.dbf' size 4g;

3)常见报错问题

a ORA-01654: 索引 GL.GL_BALANCES_N3 无法通过 16 (在表空间 APPS_TS_TX_IDX)

解决方法:增加 APPS_TS_TX_IDX空间大小

b ORA-01555: 快照过旧: 回退段号 18 (名称为 "_SYSSMU18_720684835$") 过小

解决方法:增加UNDO表空间大小

参考网址:

https://my.oschina.net/fuyong/blog/801767

http://blog.csdn.net/ghost241/article/details/50537063

2 临时表空间扩容

参考网址:http://www.cnblogs.com/vipsoft/archive/2012/11/28/2792431.html

备注:临时表空间的使用率跟正常的表空间使用率不一样,正常情况下,临时表空间的使用率也可能达到99%,没有参考意义。当某个报错的时候,就说明临时表空间真的不足了,需要进行扩容

1)查询临时表空间

SQL一:

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;

SQL二:

select tablespace_name,
file_name,
user_bytes/bytes,
bytes / 1024 / 1024 "file_size(M)",
autoextensible
from dba_temp_files t
where t.TABLESPACE_NAME = 'TEMP2';

注:查看临时表空间的数据文件命令及存放路径,便于下一步的表空间扩容

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

$ su - oraprod
$ sqlplus / as sysdba
SQL> alter tablespace temp add tempfile ‘/u01/app/oracle/oradata/orcl/temp02.dbf’ size 100m AUTOEXTEND ON NEXT 1G MAXSIZE 10g;

Oracle 表空间扩容的更多相关文章

  1. oracle表空间扩容

    oracle在使用中会发现,表空间不足的情况:以下介绍了如何1.查询表空间使用率.剩余量:2.如何扩展表空间容量: 1.表空间容量指标查询 SELECT TABLESPACE_NAME "表 ...

  2. oracle表空间扩容方法

    1.使用navicat连接要扩容的数据库,进入其他-表空间 2.添加数据文件和设置配置项即可

  3. oracle ORA-00060死锁查询、表空间扩容

    --查看被锁住的表 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects ...

  4. 【转】Oracle 表空间与数据文件

    --============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或 ...

  5. Oracle 表空间与数据文件

    -============================== --Oracle 表空间与数据文件 --============================== /* 一.概念 表空间:是一个或多 ...

  6. Oracle表空间维护总结

    1. 概念:表空间:最大的逻辑存储文件,与物理上的一个或多个数据文件对应,每个数据库至少拥有一个表空间,表空间的大小等于构成表空间的所有数据文件的大小总和,用于存储用户在数据库中存储的所有内容. 2. ...

  7. oracle表空间不足:ORA-01653: unable to extend table

    问题背景: oracle表空间不足报错是比较常见的故障,尤其是没有对剩余表空间做定期巡检的系统: 报错代码如下: oracle表空间不足错误代码:ORA-01653: unable to extend ...

  8. Oracle 表空间常用操作

    aliases: [Oracle表空间] tags:      [数据库,Oracle,Blog] summary: [Oracle表空间常用操作,包括查询.分析.扩容.删除.优化等] date:   ...

  9. Oracle表空间,用户,用户授权

    一:Oracle表空间 1,Oracle表空间与SQL Server文件组对比 SQL Server的文件组(文件组包括若干MDF,NDF数据文件)对我们来说并不陌生,前段时间我在博客“怎样玩转千万级 ...

随机推荐

  1. gulp connect.static is not a function

    npm install --save serve-static var serveStatic = require('serve-static');

  2. Webpack编译提示内存溢出解决方案

    在项目开发中,随着业务需求的复杂项目随之增大,再加上同一个文件被引用次数过于频繁在开发编译或者上线打包时经常会出现如下错误: 这个报错的意思就是Node内存不足所导致的,我们都知道 Node 是基于V ...

  3. 下载好的vue项目如何在自己电脑环境上运行,步骤!!

    本文链接:https://blog.csdn.net/qq_39309900/article/details/84837659首先第一步,需要安装node.js 下载地址:https://nodejs ...

  4. netty-1.从一个最简单的例子开始

    (原) 第一篇,从一个最简单的例子开始 1.netty是干什么,怎么用,这里不作介绍,先从一个例子来了解它, netty 5.0以上的版本被废弃了,以下例子从4.1.10.Final版本开始. 2.一 ...

  5. JS 获取和返填单选按钮Value值

    1.获取Radio值 $('input[name="sex"]:checked ').val(); 2.返填Radio值 $('input[name="sex" ...

  6. NTP服务及时间同步

    环境: centos7 server   192.168.2.171 client    192.168.2.173.192.168.2.174 整体思路:173.174同步171的时间,171定时同 ...

  7. 记一次Python导包经历

    最近由于需要写一个脚本调用另一个文件里面的一个方法,试了很久都导包失败,特此记录一下 问题背景 1)脚本文件为send_reward.py,要调用public_model_func.py里面的一个类方 ...

  8. 慎用javascript自动类型转换

    1.如果把非空对象用在逻辑运算环境中,则对象被转换为true.此时的对象包括所有类型的对象,即使是值为false的包装对象也被转换为true. 2.如果把对象用在数值运算环境中,则对象会被自动转换为数 ...

  9. promethus监控gpu并编写自定义grafana可视化页面模板

    ###监控gpu url:https://github.com/NVIDIA/gpu-monitoring-tools/tree/master/exporters/prometheus-dcgm 实际 ...

  10. 浏览器表单自动填充默认样式 - autofill问题解决

    这不知道是个什么神仙网站,解决办法写的这么清楚,页面有这么让人舒服 https://lhajh.github.io/css/chrome/2018/04/17/The-chrome-browser-f ...