oracle执行过程,但是没有结果生成,表空间不足问题
2016-04-18 21:43
615 查看
这次在测试环境跑存储过程,但是在相应的表中没有出现数据,但是在前一次执行是有数据的。这一次应该是生成上一次相同的数据。所以
1:先看源表的数据是不是符合存储过程的筛选。
2:可以通过筛选,然后看错误日志
EXCEPTION
WHEN OTHERS THEN
–插入错误日志表
错误处理XXXX
–返回失败标志
RETURN FALSE;
这是异常处理逻辑
所以可以看错误表中的日志。看到提示是XXXX表空间已满
3:查看表空间的大小:
select
b.file_id “文件ID号”,
b.tablespace_name “表空间名”,
b.bytes/1024/1024||’M’ “字节数”,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||’M’ “已使用”,
sum(nvl(a.bytes,0))/1024/1024||’M’ “剩余空间”,
100 - sum(nvl(a.bytes,0))/(b.bytes)*100 “占用百分比”
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id;
4:扩容表空间:(需要有相应的权限,或者请DBA执行)
第一步:查看表空间的名字及文件所在位置:
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name
第二步:增大所需表空间大小
alter database datafile ‘表空间位置’resize 新的尺寸。
例如:alter database datafile ‘\oracle\oradata\test_2008.dbf’ resize 400m。
第三步:设置表空间自动扩展:alter database datafile ‘\oracle\oradata\anita_2008.dbf’ autoextend on next 100m maxsize 10000m
之后执行就可以生成数据了。
5:快速处理
可以删除一些无用的数据,然后也可以使空间增多。当然不要在生成环境执行。在测试环境并且需要尽快处理的时候可以用下这个方法。
1:先看源表的数据是不是符合存储过程的筛选。
2:可以通过筛选,然后看错误日志
EXCEPTION
WHEN OTHERS THEN
–插入错误日志表
错误处理XXXX
–返回失败标志
RETURN FALSE;
这是异常处理逻辑
所以可以看错误表中的日志。看到提示是XXXX表空间已满
3:查看表空间的大小:
select
b.file_id “文件ID号”,
b.tablespace_name “表空间名”,
b.bytes/1024/1024||’M’ “字节数”,
(b.bytes-sum(nvl(a.bytes,0)))/1024/1024||’M’ “已使用”,
sum(nvl(a.bytes,0))/1024/1024||’M’ “剩余空间”,
100 - sum(nvl(a.bytes,0))/(b.bytes)*100 “占用百分比”
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id;
4:扩容表空间:(需要有相应的权限,或者请DBA执行)
第一步:查看表空间的名字及文件所在位置:
select tablespace_name, file_id, file_name,round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name
第二步:增大所需表空间大小
alter database datafile ‘表空间位置’resize 新的尺寸。
例如:alter database datafile ‘\oracle\oradata\test_2008.dbf’ resize 400m。
第三步:设置表空间自动扩展:alter database datafile ‘\oracle\oradata\anita_2008.dbf’ autoextend on next 100m maxsize 10000m
之后执行就可以生成数据了。
5:快速处理
可以删除一些无用的数据,然后也可以使空间增多。当然不要在生成环境执行。在测试环境并且需要尽快处理的时候可以用下这个方法。
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解