![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle 海量数据开发管理
文章平均质量分 67
daodao_道道
5年开发经验3年DBA管理经验最擅长数据库管理sql优化数据库开发数据库设计
展开
-
杀掉无法kill的进程
我们有时候会遇到这种情况 : 已经显示kill掉了,但是会话还在,还是占用资源,这个时候我们想在操作系统上进行kill,可以通过 alter system kill session '2067,39031'; 执行之后出现如下情况:SQL> select status,PADDR from v$session where sid ='2067';ST原创 2012-12-11 17:06:30 · 2829 阅读 · 0 评论 -
海量dml表的统计问题
对于dml频繁的统计一定要注意一点是必须分阶段实施统计,不可以一次性取很长时间的数据,因为数据库为了保证一致性,会在sql执行的时候记录一个起始时间点,然后对于之后所有修改过的块都会去回滚段去寻找,这样有两个问题:第一: 造成回滚段长时间占用,尤其是在分布式事务(比如dblink取数据),这个查询是以事务的方式进行占用回滚段的,回滚段不足会导致数据库正常的dml由于无回滚段使用而原创 2013-06-23 09:40:10 · 1665 阅读 · 2 评论 -
【脚本分享】表空间每天的使用情况
表空间近一个月的使用情况: 今天有网友问,如何查询近一个月的表空间使用情况:select a.name,b.*from v$tablespace a,(select tablespace_id,trunc(to_date(rtime,'mm/dd/yyyy hh24:mi:ss'))datetime,max(tablespace_usedsize*8/1024) use原创 2013-12-05 21:44:19 · 1278 阅读 · 0 评论 -
保留主表,删除一类表的索引和约束
最近为了清理索引表空间,需要删除一类表的索引和约束,保留这类表的数据: 相关脚本操作如下:先将要的表名放到临时表hch_temp_table;create table HCH_TEMP_TABLE( TABLE_NAME VARCHAR2(200));declare lv_sql varchar2(200); lv_sql1原创 2012-12-07 16:36:21 · 896 阅读 · 0 评论 -
如何收缩表空间中的数据文件?
我们知道,我们如果把一些对象删除之后,如何回收表空间中的数据文件:我们看如下的查询: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原创 2012-12-11 18:23:15 · 2229 阅读 · 0 评论 -
表空间迁移完之后,批量回收数据文件,释放表空间
如下图,表空间datasync_1_index已经完全空闲:现在要完全回收表空间datasync_1_Index,批量释放文件到asm存储空间去,操作如下:select 'alter database datafile ''' || a.FILE_NAME || '''resize ' || 8 || 'M;' from Dba_Data_Files a wher原创 2012-12-30 22:11:14 · 2156 阅读 · 0 评论 -
彻底理解move 操作
前几天群里有人问,move 操作,我这里做了几个实验,方便大家了解move 的基本操作。(1) oracle 的move 操作,rowid 如何变化?SQL> drop table daodao;表已删除。SQL> create table daodao (id int, name char(2000)) tablespace users;表已创建。SQL>原创 2013-03-21 11:32:05 · 3332 阅读 · 1 评论 -
表空间监控和自动添加数据文件存储过程
由于管理的库最近发生了表空间不够的问题,原本是做了每小时任务,低于30G就邮件报警的功能,但是那天由于一位同事临时导入大量数据,导致第二天空间不够。 为了防止这种问题的继续发生,做了表空间自动添加功能:说明: 首先做逻辑判断,如果当前的表空间小于配置的大小 如: 40G( 表空间的剩余和自动扩展文件的总大小),首先创建如下视图: create o原创 2012-12-10 17:44:30 · 4311 阅读 · 1 评论 -
2013年批量创建按月分表和视图方法
工作中碰到一批表是按照月分做的分表:需要参照12年为13年创建按月分表和按月分视图。这里有两种方法实现:方法1: plsql方式:首先建立表:hch_temp_templatecreate table HCH_TEMP_TEMPLATE( OWNER VARCHAR2(200), TABLENAME VARCHAR2(200), TABDESC原创 2012-12-17 17:42:46 · 1838 阅读 · 0 评论 -
ora04031报错导致的数据库重启
环境:OS:AIX Version 6.1oracle : 10.2.0.5 rac(节点rac2)一、问题描述 晚上22:40收到一条短信,数据库挂了,立马连上数据库,在日志里面发现:从日志里面看问题很明显:是由于ora04031导致数据库重启。二、分析与解决问题思路:ora04031错误导致后台进程LCK0挂了,进而导致数据库重启:查看当原创 2013-01-16 00:20:52 · 1317 阅读 · 0 评论 -
【自动化管理】自动维护管理表空间
create or replace procedure p_monit_tbs_1 as --created by huangchao,2011-09-13 --监控表空间增量 vMessage varchar(250); --下发短信 vDb_name varchar2(10); --数据库名 vTBS_FREE_GB nu原创 2013-03-01 15:15:03 · 2847 阅读 · 0 评论