ORACLE 实现异构服务的技术叫做透明网关( Transparent Gateway ),利用透明网关可以实现和 SQL SERVER 、 SYBASE 、 DB2 等多种数据库的互联。因此透明网关也是 Oracle 数据仓库和数据迁移中的一个重要组成部分。 透明网关的体系结构也很简单,在 ORACLE 和 SQL SERVER 之间使用 ORACLE 透明网关服务器实现互连互通,其中透明网
关于触发器的使用,有很多争议。 触发器的好处不言而喻是增强了数据的校验能力,能够有效地实现复杂的业务逻辑。在一定程度上走的比约束和check走的更远。 关于触发器的坏处,最典型的就是触发器的使用会导致系统性能下降,数据的不可控性,尤其是跨表检测,以及可能导致的触发器递归更加加深了数据的维护难度和不可控性。 本文无意讨论触发器的原理和好坏,旨在描述一个关于批量数据提交时的触发器
-- 区别 主键是一种约束,唯一索引是一种索引,两者在本质上是不同的。 主键创建后一定包含一个唯一性索引,唯一性索引并不一定就是主键。 唯一性索引列允许空值,而主键列不允许为空值。 主键列在创建时,已经默认为空值 + 唯一索引了。 主键可以被其他表引用为外键,而唯一索引不能。 一个表最多只能创建一个主键,但可以创建多个唯一索引。 主键更适合那些不容易更改的唯一标识,如自动递增列、身
-- 'u', 'U' - 返回全是大写的字符串 -- 'l', 'L' - 返回全是小写的字符串 -- 'a', 'A' - 返回大小写结合的字符串 -- 'x', 'X' - 返回全是大写和数字的字符串 -- 'p', 'P' - 返回键盘上出现字符的随机组合 SELECT trunc(dbms_random.value(1,101)), D
Oracle 分析函数——CUBE , ROLLUP CUBE 功能描述: 注意: ROLLUP 功能描述: 注意: 如果是 ROLLUP(A, B, C) 的话, GROUP BY 顺序 (A 、 B 、 C) (A 、 B) (A) 最后对全表进行 GROUP BY 操作。 如果是 GROUP BY CUBE(
环比就是现在的统计周期和上一个统计周期比较。例如 2008 年 7 月份与 2008 年 6 月份相比较称其为环比。 环比发展速度是报告期水平与前一时期水平之比,表明现象逐期的发展速度。如计算一年内各月与前一个月对比
Oracle 分析函数——数据分布函数及报表 函数CUME_DIST功能描述:计算一行在组中的相对位置, CUME_DIST 总是返回大于 0 、小于或等于 1 的数,该数表示该行在 N 行中的位置。例如,在一个 3 行的组中,返回的累计分布值为 1/3 、 2/3 、 3/3 SAMPLE :下例中计算每个部门的员工按薪水排序依次累积出现的分布百分比 SELECT dep
Oracle 分析函数——统计分析函数 方差和标准差: 样本中各数据与样本平均数的差的平方和的平均数叫做样本方差;样本方差的算术平方根叫做样本标准差。样本方差和样本标准差都是衡量一个样本波动大小的量,样本方差或样本标准差越大,样本数据的波动就越大。 数学上一般用 E{[X-E(X)]^2} 来度量随机变量 X 与其均值 E(X) 即期望的偏离程度,称为
Oracle 分析函数——函数RANK,DENSE_RANK,FIRST,LAST… RANK 功能描述:根据 ORDER BY 子句中表达式的值,从查询返回的每一行,计算它们与其它行的相对位置。组内的数据按 ORDER BY 子句排序,然后给每一行赋一个号,从而形成一个序列,该序列从 1 开始,往后累加。每次 ORDER BY 表达式的值发生变化时,该序列也随之增加。有同样值的行得到同样
Oracle 分析函数——SUM,AVG,MIN,MAX,COUNT SUM 功能描述:该函数计算组中表达式的累积和。 SAMPLE :下例计算同一经理下员工的薪水累积值 MIN 功能描述:在一个组中的数据窗口中查找表达式的最小值。 SAMPLE :下面例子中 dept_min 返回当前行所在部门的最小薪水值 MAX 功能描述:在
Oracle 分析函数——函数用法 Oracle 分析函数实际上操作对象是查询出的数据集,也就是说不需二次查询数据库 ,实际上就是 oracle 实现了一些我们自身需要编码实现的统计功能,对于简化开发工作量有很大的帮助,特别在开发第三方报表 软件 时是非常有帮助的。 Oracle 从 8.1.6 开始提供分析函数。 oracle 分析函数的语法: function_nam
Oracle 分析函数 Oracle 分析函数——函数列表 SUM : 该函数计算组中表达式的累积和 MIN : 在一个组中的数据窗口中查找表达式的最小值
阅读了一个帖子“有没有可能写出比Oracle 函数更快的外部存储过程”(http://www.itpub.net/thread-1117461-1-1.html )突发灵感,加上原来有一个需求,需要从BLOB字段(本来就是字符型的内容)中直接读取成为字符串,需要java 开发人员的支持,想了想与其求人不如求己,oracle.sql.BLOB的相关文档参看(http://www.princeton.
Oracle 的逻辑结构 ( 表空间、段、区间、块 ) ——表空间 关于数据库 、表空间和数据文件的关系 : l 一个 Oracle 数据库包含一个或多个逻辑存储单元—表空间,表空间用来存储数据的所有数据。 l Oracle 数据库的每一个表空间包含一个或多个数据文件,数据文件是一种与 Oracle 运行操作系统相关的物理结构。 l&nbs
Oracle 的逻辑结构 ( 表空间、段、区间、块 ) ——段 数据段是一系列区间 , 在这个特定逻辑存储结构存储的数据都在一个表空间内 . 例如对于每一种数据库 对象 ( 表、索引 ) ,数据库都会分配一个或一段区间构成其对象的数据段。 A segment is a set of extents that contains all the data for a spec
Oracle 的逻辑结构 ( 表空间、段、区间、块 ) ——区间 区间是数据库 存储空间分配的逻辑单位,由一些连续数据块组成。一个或多个区间又构成了一个段。当现有的空间部分被完全使用的时候, Oracle 就会为段分配一个新的区间。 An extent is a logical unit of database storage space allocati
以下脚本来自于互联网,具体出处已经找不到了,如有知道还请告知! 关于热点块的查询 ==== 查询当前数据库 最繁忙的 Buffer , TCH(Touch) 表示访问次数越高,热点快竞争问题就存在 ===== SELECT * FROM (SELECT addr, ts#, file#, dbarfil, dbablk, tch &nbs
关于 Oracle 的高水平线 high water mark 故名思义为高水平线 , 一般是相对一个表而言的 , 当一个表有数据不断的插入时 ,high water mark 值不断增高 , 对那些全表扫描的 select 查询是以 high water mark 为终点的 , 虽然表中可能只有一行记录 . 它是表的空间曾经扩充到的值 . 之所以对hwm产生了兴趣还是缘
关于Oracle Stream的安装 、配置和使用因项目预研需要,所以想找一个能够满足内外网数据库 同步方案,前面先是测试 了一下Oracle的高级复制功能,未果;才转而进行Oracle Stream的测试,大概是我水平太差了,前后测试了3.5遍总算把Oracle Stream运行正常起来了。错误的原因其实称不上原因,无他,读文档读的不细致,手误、本身对这方面也缺乏理论认识。关于Oracle流的原
参考文档:《Oracle ? Database Installation Guide 10g Release 2 (10.2) for Linux x86》小布老师视频讲座http://51CTO提醒您,请勿滥发广告!/v/bbk1041http://51CTO提醒您,请勿滥发广告!/v/bbk1042http://51CTO提醒您,请勿滥发广告!/v/bbk1040 软件列表: &n
Oracle 高级复制Step by Step实施起因某项目中遇到内外网数据库 同步的问题,假设电信机房和某机房网络物理隔绝,需要借助中间服务器进行数据库同步,这个中间服务器既可以是数据库服务器也可以是某种中间件或者某个程序。因为两头都是Oracle数据库,所以暂时先考虑使用数据库同步的机制来进行预研,当然仅仅是预研而已,距离实施还有一定距离,比如暂时只考虑数据库的单向同步,少量数据的双向同步采用
数据库审计方案(包括login,logout,DML,DDL等) /*===============================================================================||文件名:数据库审计事件记录脚本||说明:为了对数据库事件进行审计,而进行相关设计 ====================================
之前曾经指导 SQLServer2000 的全文检索功能,不过不太清楚它的实际操作步骤和功能,现特地作了一次完整的实验,对 SQLServer2000 的该功能,做了一番了解。 -- 验证全文检索服务是否安装 -- 通过储存过程 FULLTEXTSERVICEPROPERTY (返回有关全文服务级别属性的信息)来验证搜索服务(全文组件)是否安装。 -
原来总是对触发器的几种写法和执行先后顺序感到困惑,找了个时间把Oracle的官方文档看了一下,然后做了几个例子,终于有点明白了。:Types of Triggers触发器类型Row Triggers and Statement Triggers行级触发器和语句级触发器BEFORE and AFTER TriggersBEFORE和AFTER触发器INSTEAD OF TriggersINSTEAD
关于 SQLServer 死锁的诊断和定位 在 SQLServer 中经常会发生死锁情况,必须连接到企业管理 器— > 管理— > 当前活动— > 锁 / 进程 ID 去查找相关死锁进程和定位死锁的原因。 通过查询分析器也要经过多个系统表 (sysprocesses,sysobjects 等 ) 和系统存储过程 (sp_who,sp_who2,sp_lock 等 )
获取SQLServer 的最完整数据字典的SQL 语句 其实网上已经流传了很多关于获取 SQLServer 的数据字典的版本,不过我相信这个应该是最全的了,本语句包括了表、字段、字段类型、字段长度、是否为空、是否递增字段、索引名称、索引的定位、索引类型、主键、外键等;通过合理的裁剪可以很方便的生成相应的数据字典。 SELECT sysobjects.
前两天有同事问怎么样才能控制存储过程中的回滚和提交,以及如果某个环节发生错误之后怎么样退出该存储过程,想了两天才算是有点小眉目了。 Rollback to savepoint ;回滚之前所有做过的事情但不包括块和其他 savepoint 里面的事务 SavePoint 应该是个单独的事务点,他的失败不影响其他事务 Commit 能够提交之前所有的操作 -- Crea
项目原因导致出现两个开发环境,主数据库环境因需求变更每天都需要进行脚本的修改,而报表服务器的脚本也需要同步更新,需求变更很少会同步提醒的;人工判断太过于麻烦,我又是一个懒人;只好写个脚本自动进行识别并加以运行了。 这只是一个简单的版本比较工具,事实上变更是很难判断的,例如表中新增了一个字段,导致顺序发生变更,这个时候你很难判断是新增还是修改的;诸如字段类型的修改.因此只能去判断表是否存在,字段
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号