管道函数即是可以返回行集合(可以使嵌套表nested table 或数组 varray)的函数,我们可以像查询物理表一样查询它或者将其赋值给集合变量.KingbaseES 数据库可以用 setof 实现类似 Oracle 的pipelined 功能,C5版本开始,也支持pipeline. 一.Oracle pipelined 使用例子 create or replace type varchar_type as table of varchar(100);create or replace fu…
http://blog.csdn.net/luowangjun/article/details/5627102利用Oracle审计功能来监测试环境的变化 做过测试的人都应该会碰到这样的情况:测试发现的bug在开发机器上没有出现,显然这是环境差异的原因.相当多情况下,因为测试使用的数据库结构和开发使用的数据库结构不一致造成的.尤其是一些公司在提交测试版本的时候,注重应用程序的版本提交,往往忽略提交和程序匹配的数据库结构,在这种情况下,如果程序和数据库结构不匹配的话,系统稳定就怪了,就像window…
转自: http://www.linuxidc.com/Linux/2011-05/35797.htm //概况   //基本上,当你希望一个PLSQL(或者java或者c)程序作为数据源,而不是表,   //你可能会用到管道函数(pipelined function).   //pipelined function操作起来就像一张表   //一个pl/sql函数可能会用于数据仓库的数据库里面,转换大量的数据.   //这可能包括格式化一系列转换数据,它们是不同的函数执行后得到的结果.   //…
说明: KingbaseES V8R6版本中的兼容Oracle的exp-imp导入导出工具,支持完全模式.用户模式和表模式的导出功能. 本次案例数据库版本: test=# select version(); version ---------------------------------------------------------------------------------------------------------------------- KingbaseES V008R006…
熟悉oracle的人都知道ROWID可用于快速的数据访问,KingbaseES 由于自身MVCC机制的原因,ctid 作为 oracle rowid 的替代方案不合适,但currtid 还是基本可以满足rowid 的功能的.本文向大家介绍如何通过currtid 实现rowid 的功能. 一.Oracle ROWID Oracle ROWID 记录了tuple的物理存储位置,通过ROWID可以非常快速地访问tuple.因此,在极致性能的应用设计里,经常会使用到ROWID.典型的使用场景如下: de…
审计是对选定的用户动作的监控和记录,通常用于: u          审查可疑的活动.例如:数据被非授权用户所删除,此时安全管理员可决定对该 数据库的所有连接进行审计,以及对数据库的所有表的成功地或不成功地删除进行审计. u          监视和收集关于指定数据库活动的数据.例如:DBA可收集哪些被修改.执行了多少次逻辑的I/O等统计数据. ORACLE支持三种审计类型: u          语句审计,对某种类型的SQL语句审计,不指定结构或对象. u          特权审计,对执行相…
http://blog.itpub.net/9399028/viewspace-712457/审计(Audit) 用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的 SYS.AUD$ 表中,可通过视图dba_audit_trail查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)..默认情况下审计是没有开启的. 不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限…
oracle自动判断SQL性能功能. 11G的ADV,建议.SNAPSHOT,数据集合, 存储在oracle sys $_开头的表(10几条).  创建SNAPSHOT时选择天数, 默认14天. sql orderde by Gets. Gets per exac每执行一次读取缓存次数. executions 每小时执行次数(因为snapshot 每小时执行一次) 自动化调优建议. --语句修改, rewrite. --物理优化. --调整索引. 想象的索引不走. --gather, 不产生物理…
目前公司erp开发有一个脚本需求:对于收款合同审批单和收款合同(n:1),需要获取收款审批单中最新的一条审批记录来更新其对应的收款合同的相关信息. 难点主要在对相同类别的属性进行分组然后组内排序(分组排序加序号),这类问题大致的思路,对于同类别的进行分组,组内排序标号来获取最新一条的数据,有点类似Oracle的分析函数功能. 由于mysql没有实现分析函数功能,在查询网上许多帖子也都是互相复制的也没有说清楚,根据我所遇到等坑,在此记录,分享给大家,希望能对大家有所帮助. 审批单的表结构大致如下:…
Oracle 11g推出了审计功能,但这个功能会针对很多操作都产生审计文件.aud,日积月累下来这些文件也很多,默认情况下,系统为了节省资源,减少I/0操作,其审计功能是关闭的 一.审计功能关闭 1.查看审计功能是否开启?su – oraclesqlplus “/as sysdba”SQL> show parameter audit_trail NAME                                 TYPE        VALUE----------------------…
最近做数据分析,需要用到累加功能,发现强大的oracle还真有,用over(order by field) 例子: 数据表中最后一列就是累加的效果 累加sql: select t.acc_pedal_pos,count(*) num,sum(count(*)) over(order by t.acc_pedal_pos) accu_sum from  GT1117CARDATA t where t.acc_pedal_pos>0 group by t.acc_pedal_pos  order b…
http://blog.itpub.net/9399028/viewspace-712457/审计(Audit) 用于监视用户所执行的数据库操作,审计记录可存在数据字典表(称为审计记录:存储在system表空间中的 SYS.AUD$ 表中,可通过视图dba_audit_trail查看)或操作系统审计记录中(默认位置为$ORACLE_BASE/admin/$ORACLE_SID/adump/)..默认情况下审计是没有开启的. 不管你是否打开数据库的审计功能,以下这些操作系统会强制记录:用管理员权限…
有过SQL优化经历的人都知道,对于有些SQL性能问题,可能需要涉及到SQL层面的修改,这不仅麻烦,而且在已上线的系统还存在很大的风险.KingbaseES V8R6 提供了query mapping功能,用户可以通过SQL映射,可以避免直接修改SQL的过程. 以下以举例介绍query mapping 的功能及使用. 一.设置功能开关参数 query mapping 功能开启与否,是通过参数 enable_query_rule 控制的.设置 enable_query_rule = on ,开启qu…
KingbaseES 通过扩展插件支持了pivot 和unpivot 功能.以下以例子的方式介绍. 一.功能介绍 创建扩展: create extension kdb_utils_function; 具体功能: pivot(聚合函数 for 列名 in (类型)),其中 in ('') 中可以指定列名,还可以指定子查询 pivot(任一聚合函数 for 需转为列的值所在列名 in (需转为列名的值)) unpivot(新增值所在列的列名 for 新增列转为行后所在列的列名 in (需转为行的列名…
2). 检查Flashback 功能, 缺省时功能是关闭的. SQL> select name, current_scn, flashback_on from v$database; NAME    CURRENT_SCN  FLASHBACK_ON --------    -----------          ------------------ DBA      945715          NO 3). 启动Flashback功能 SQL>  alter database flas…
Oracle库中userinfo表borth字段是Date类型,age年纪字段是int类型.age字段要根据borth来自动计算 先说一下我遇到的问题: insert into的时候遇到日期转换类型错误 先看一下我的新增用户的实现类: public boolean addUser(UserInfo user) { boolean flag=false; int userno=this.getMaxUserNo(); //System.out.println(userno); String sql…
近期需要一个汇总统计,由于数据太多,数据量太大所以在java程序中实现比较困难.若用后台程序统计,数据不能保证实时,同时实现周期比较长.顾使用函数返回结果集的方式,在不增加临时表的情况下实时获取数据.需求为:多个端口流量每五分钟累计汇总一次.如果用程序实现则为讲所有数据取出做每五分钟统计,元数据获取带来的数据量将是10万条以上. 在数据库中做汇总统计只需要24*12=288条记录. 具体实现方式如下: /*打开日志输出*/ Set serveroutput on ; /*创建类型*/ creat…
语法概览 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZGJhbm90ZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" width="700" height="250" alt=""> Analytic-Function Analytic_Clause之PARTITION子句 An…
需求是将指定的批量sql语句执行的结果通过脚本导出成txt或者能用excel打开的文件. oracle导出文件可以通过spool命令实现,通过bat脚本登录sqlplus,然后引入sql文件即可,源码如下: chcp 936 --将当前dos命令的编码格式改为gkb mshta vbscript:msgbox("开始生成报表!",6,"生成报表")(window.close) --输出信息 sqlplus user/name@x.x.x.x:1521/实例名 @xx…
1.使用 create or replace package refcursor_pkg is -- Author : mr.yang -- Created : 5/14/2017 5:13:42 PM -- Purpose : type refcur_t is ref cursor return sys_product%rowtype; type refcur_t1 is ref cursor /*return sys_product%rowtype*/ ; type refcur_t2 is…
触发器以及序列CREATE OR REPLACE TRIGGER t_MSTB_BDS_DATA BEFORE INSERT ON MSTB_BDS_DATA FOR EACH ROW DECLARE INTEGRITY_ERROR EXCEPTION; ERRNO INTEGER; ERRMSG CHAR(200); DUMMY INTEGER; FOUND BOOLEAN; BEGIN SELECT SEQ_MSTB_BDS_DATA.NEXTVAL INTO :NEW.data_id FR…
substr(string dealstr, int startposition, int sublength) dealstr:截取字符串 startposition:串dealstr,起始位置0 sublength:字符串截取的长度 版权声明:本文博客原创文章,博客,未经同意,不得转载.…
Oracle日期时间类型有两类,一类是日期时间类型,包括Date, Timestamp with time zone, Timestamp with local time zone.另一类是Interval类型,主要有Interval year to month 和Interval day to second两种. KingbaseES也有类似的两类.其中的日期时间类型包括Timestamp with time zone, Timestamp without time zone,Date,Tim…
一.函数的属性 KingbaseES 函数在定义时有三种稳定性级别:volatile.stable 和 immutable.默认情况下,创建函数的稳定性为volatile.以下是这三种函数的区别: Volatile 函数可以做任何事情,包括修改数据库.在调用中,输入同样的参数可能会返回不同的结果,比如:currtid .在一个Query中,对于每一行都会重新计算该函数. Stable 函数不能修改数据库,单个Query中所有行给定同样的参数确保返回相同的结果.这种稳定级别允许优化器将多次函数调用…
  关键字: KingbaseES.卸载.删除功能   一.安装后检查 在安装完成后,可以通过以下几种方式进行安装正确性验证: 1. 查看安装日志,确认没有错误记录; 2. 查看开始菜单: 查看应用程序菜单中是否安装了KingbaseE菜单项,并且正确关联到对应的程序.开始菜单结构 如下: 3. 查看安装目录 4. 验证工具是否能连接数据库. 查看已安装数据库的版本信息,方式为: 在安装目录bin文件下,执行 ./kingbase –V; 在交互式终端(查询分析器或 ksql)中执行  sele…
该系列脚本结合日常工作,方便DBA做数据管理.迁移.同步等功能,以下为该系列的脚本,按照功能划分不同的包.功能有如下: 1)数据库对象管理(添加.修改.删除.禁用/启用.编译.去重复.闪回.文件读写.会话管理.表空用.用户/权限管理): 2)数据库分析: 3)数据库备份: 4)数据库同步: 5)数据库数据导出: 6)获取数据库对象源码: 7)数据库对比智能升级: ...... 更多功能请自行体验. 本系列包依赖于Oracle DBA管理包脚本系列系列(一)的脚本. EXEC PKG_DBMANA…
背景:客户现场的一次艰苦的调优过程(https://www.cnblogs.com/kingbase/p/16015834.html),让我觉得非常有必要让数据库用户了解函数的不同稳定性属性,及其对于SQL性能可能带来的影响.很多DBA.开发人员根本就不在意,或者根本就没意识到函数稳定性对于性能的影响,这就导致出现性能问题时没有头绪.以下的例子都是实际客户现场问题的提炼,为了让用户有直观的了解. 一.函数的三种稳定态 函数的稳定性状态,简单地说就是相同的输入参数情况下,函数返回值是否相同.稳定性…
今天,我特意从网上找了一些,以及自己平时总结的,关于错误编号和说明,平时我们在写项目的时候,往往是可能会出现下面这些错误,例如:违反唯一约束,无效的会话ID,等等.希望对大家有点帮助!可以看看,如果有错误,可以立马找到对应的数字,找到对应的错误. 1 ORA-00001: 违反唯一约束条件 (.) 2 ORA-00017: 请求会话以设置跟踪事件 3 ORA-00018: 超出最大会话数 4 ORA-00019: 超出最大会话许可数 5 ORA-00020: 超出最大进程数 () 6 ORA-0…
dotConnect for Oracle dotConnect for Oracle是一款为Microsoft .NET Framework提供直接Oracle数据库连接的数据发生器控件.它完全基于ADO.NET方法,因此您完全可以采用标准ADO.NET数据提供的方法来使用它. 下载与安装 https://www.devart.com/dotconnect/oracle/dcoracle.exe 完成后安装即可 EF配置 Oracle Data Provider for .NET (ODP.N…
oracle错误代码大全(超详细)   ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会话许可数 ORA-00020: 超出最大进程数 () ORA-00021: 会话附属于其它某些进程:无法转换会话 ORA-00022: 无效的会话 ID:访问被拒绝 ORA-00023: 会话引用进程私用内存:无法分离会话 ORA-00024: 单一进程模式下不允许从多个进程注册 ORA-000…