- 浏览: 19220 次
- 性别:
- 来自: 上海
最新评论
文章列表
数据库时间段合并
项目中遇到一个有意思的业务需求,涉及到时间区间的合并与拆分;简化描述一下:
假定系统中有两类用户:甲方,暂称债务人; 乙方,暂称为债权人
债务人和债权人之间可以生成许 ...
项目中Cognos8.4 安装在Windows 2003上,文章主要对cube的刷新脚本进行描述,希望能对大家有所帮助。
表3 报表文件组织结构及空间需求列表
目录名称
说明
初始空间
Oracle 时间相减时精度丢失问题
- 博客分类:
- Oracle
Oracle 时间相减时精度丢失问题
首先此问题发生于一个很巧然的需求(后面简单介绍);说巧然是因为发生的概率实在是非常小,但其在11g版本中也依然存在。
见下面SQL语句:
select (d1 - d2) * 24 * 60 * 60 as diff1,
(d2 - d3) * 24 * 60 * 60 as diff2,
floor(60 / 15) f,
floor((d1 - d2) * 24 * 60 * 60 / 15) f2,
floor((d2 - d3) * 24 * 60 * 60 / 15) ...
- 2013-06-22 00:05
- 浏览 1806
- 评论(0)
ORA-14551:不能在查询语句中执行dml语句,开始误以为函数里不能执行DML或DDL语句,后发现使用自治事务 可解决 。
目的: 输入查询,清空数据表并返回清空条数(可不要求返回)。
一:创建类型
create or replace type tab_desc as table of varchar(200);
二:创建清空函数
create or replace function func_trunc_tab(l_cursor in sys_refcursor)
return tab_desc
pipelined
-- ...
因版本控制不规范,项目中运营同事在部署前需手动备份数据库过程、函数代码,以支持失败时回滚; 这里写了个小程序,以简化备份操作:(只针对 Oracle)
一共分两个脚本:exp.bat 和 exp.conf(执行前,修改
数据库
连接信息和备份内容即可)
exp.bat
sqlplus dc_data/dc_data@crs116 @c:\exp\exp.conf
pause
其中 @c:\exp\exp.conf
表示 查找
exp.conf 配置文件
exp.conf
set trim ...
Oracle 级联删除约束后索引对象仍然存在
- 博客分类:
- Oracle
Oracle
数据库里可能因索引与约束建立的依赖关系不同,在级联删除约束后索引对象可能仍然存在
示例:
--
建表
create table test_tmp
as
select rownum as task_id from dual connect by rownum <= 10 ;
--
先建立索引
create unique index PK_TASK_ID on test_tmp(task_id);
- ...
-- oracle里分页,一般有三种思路:
-- 1.根据rowid来分
select *
from t_xiaoxi
where rowid in
(select rid
from (select rownum as rn, rid
from (select rowid as rid, cid from t_xiaoxi order by cid desc)
where rownum < 10000)
where rn > 9980)
...
当我们发出一条DML,(比如 update t set col1='A' where col1='B') 语句时,
其执行过程大概可以如下概括:
1: 在SGA 内存的share pool 里寻找相同的解析计划,找到就直接重用;如果没有,则生成新的执行计划。(所谓 解析计划简单理解就是针对SQL语句所引用的表进行表数据分布,表数据量以及列上的索引等相关信息的搜集)
2: 假设根据执行计划,得出col1='B' 的记录存放在10号数据文件的54号数据块里。
3: 服务器进程在buffer cache 里找一个可用undo数据块,如果没有发现,则到undo表空间里找一个 ...