
oracle
文章平均质量分 63
wrh_csdn
热爱技术
展开
-
oracle 拆分类型为多行(regexp_substr) 与 多个行汇总合并(listagg(codecname,‘,‘)within group(order by endortype))到一个字段
oracle 拆分类型为多行(regexp_substr) 与 多个行汇总合并(listagg(codecname,',')within group(order by endortype))到一个字段原创 2022-08-22 15:42:19 · 867 阅读 · 1 评论 -
2021-10-19
ORACLE-MD5定义:create or replace function F_GET_MD5(input_string VARCHAR2) return VARCHAR2 ISraw_input RAW(128) := UTL_RAW.CAST_TO_RAW(input_string);decrypted_raw RAW(2048);error_in_input_buffer_length EXCEPTION;BEGINs...原创 2021-10-19 17:08:50 · 215 阅读 · 0 评论 -
ORA-01840: 输入值对于日期格式不够长
解决办法:原创 2021-07-22 09:58:42 · 14247 阅读 · 0 评论 -
连续年份判断
连续年份判断–存在不连续投保年份的被保险人create table tmp_wrh_no_insuredcode asselect distinct tt.insuredcode from (select mmmm.,(casewhen mmmm.aa is null then1 --起始第一条记录标识elsemmmm.startdate_yyyy - mmmm.aaend) flag --后一条记录年份减前一条记录年份from (select mmm.,lag(mmm.startd原创 2020-05-18 14:37:13 · 393 阅读 · 0 评论 -
oracle 查询最近执行过的 SQL语句
oracle 查询最近执行过的 SQL语句select sql_text,last_load_time from v$sql order by last_load_time desc; SELECT sql_text, last_load_time FROM v$sql WHERE last_load_time IS NOT NULL and sql_text like 'sele...转载 2018-07-26 11:30:14 · 10836 阅读 · 0 评论 -
oracle 分批提交插入900万数据的方法对比
1.使用循环追条插入方法15:54:40 SQL> declare 2 v_cnt number := 0; 3 begin 4 for i in 1000001 .. 9999999 loop 5 --定义从 1000001开始,9999999结束 6 in...原创 2018-06-26 17:13:40 · 14947 阅读 · 2 评论 -
ORACLE中record、varray、table和%type、%rowtype的使用详解
查看原文:http://www.ibloger.net/article/230.htmlIS TABLE OF :指定是一个集合的表的数组类型,简单的来说就是一个可以存储一列多行的数据类型。INDEX BY BINARY_INTEGER:指索引组织类型BULK COLLECT :指是一个成批聚合类型,简单的来说 , 它可以存储一个多行多列存储类型,采用BULK COLLECT可以将查询结果一次性地...转载 2018-06-26 15:43:38 · 1092 阅读 · 0 评论 -
oracle 限定用户执行alter命令的权限,即使 某些用户拥有执行alter命令的权限也会被拦截
CREATE OR REPLACE TRIGGER TR_AUDIT_ALTER BEFORE ALTER ON DATABASEBEGIN IF LOWER(USER) not in ('tjbb11','sys','tjbb12') --只有这几个用户可以执行alter命令,其他用户将被拦截 THEN raise_application_error (num ...原创 2018-06-15 17:49:05 · 2326 阅读 · 0 评论 -
oracle 限定用户执行ddl命令的权限,即使 某些用户拥有执行ddl命令的权限也会被拦截
CREATE OR REPLACE TRIGGER TR_AUDIT_DDL BEFORE DDL ON DATABASEBEGIN IF LOWER(USER) not in ('tjbb11','sys','tjbb12') --只有这几个用户可以执行ddl命令,其他用户将被拦截 THEN raise_application_error (num => ...原创 2018-06-15 17:41:17 · 3395 阅读 · 0 评论 -
oracle 创建schema 并且授权
create user base_auth_router identified by 123456 default tablespace TEST_DATA temporary tablespace TEMP profile default;-- grant/revoke role privileges grant connect to base_auth_router;grant reso...原创 2018-06-14 16:55:24 · 4761 阅读 · 0 评论 -
oracle 大批量删除数据分批commit
一切以代码说话,CREATE OR REPLACE PROCEDURE prc_del_big_rec(i_tablename IN VARCHAR2, i_condition IN VARCHAR2, i_count ...原创 2018-06-13 17:02:56 · 8558 阅读 · 0 评论 -
oracle 间隔分区 操作
oracle10g--11gR2分区表汇总八 分类: Linux操作系统2011-03-18 17:45:2011g(11.2.0.1)1. 建分区表10g中的用法在11仍可用,不再赘述,下面只是列出11gR2中特有的用法:1.1 interval (range分区的扩展)此用法可省去大量的分区创建工作,尤其是在数据不连续的情况下,更为有用,以前只能手动一个分区一个分区的创建好,才能使用...转载 2018-05-30 15:40:30 · 4510 阅读 · 0 评论 -
plsql调试存储过程单步不能进入断点解决
在左侧列表中,你先点add debug informaintion(添加调试信息),然后在点Test,就能单步调试了原创 2018-06-12 15:31:04 · 12826 阅读 · 0 评论 -
查询数据库当前连接数(session),进程数等操作
查询数据库当前连接数(session),进程数等操作 查询当前数据库连接数,进程数,启动数据库查询数据库当前进程的连接数: select count(*) from v$process; 查看数据库当前会话的连接数: elect count(*) from v$session; 查看数据库的并发连接数: select count(*) from v...转载 2018-08-22 11:41:38 · 28642 阅读 · 0 评论 -
关于物化视图增量刷新报ORA-12018 问题的解决方案
由于表之前采用的是全量刷新方式进行刷新,但是因为表的数据量越来越大,全量刷新的时候偶尔会出现失败的情况,因为同一个时点刷新的任务比较多,回滚段被占满了之后会出现报错,所以急需要解决这个问题。发现源表在源系统里是有主键的,所以决定采用增量刷新来解决刷新失败的问题。1.让DBA帮忙创建 MV LOGcreate materialized view log on HX_KPXT.FPGL_F...原创 2019-09-11 16:44:59 · 1724 阅读 · 0 评论 -
oracle分析函数系列之sum(col1) over(partition by col2 order by col3):实现分组汇总或递增汇总
oracle分析函数系列之sum(col1) over(partition by col2 order by col3):实现分组汇总或递增汇总rfb0204421 分享于 2012-06-182019阿里云全部产品优惠券(新购或升级都可以使用,强烈推荐)领取地址:https://promotion.aliyun.com/ntms/yunparter/invite.html语法:...翻译 2019-08-29 14:54:25 · 3069 阅读 · 0 评论 -
oracle查询A表中主键都被哪些表引用了
oracle查询A表中主键都被哪些表引用了 1 2 3 4 5 selectr.TABLE_NAME fromUSER_CONSTRAINTS p, USER_CONSTRAINTS r wherep.TABLE_NAME ='IAM_AUDIT_FINDING' andr.CONSTRAINT_TY...原创 2019-03-22 15:28:57 · 1178 阅读 · 1 评论 -
Oracle中查看正在运行的SQL进程
Oracle show full processlist复制代码代码如下:set linesize 400;set pagesize 400;set long 4000;col SQL_FULLTEXT format a100;col machine format a25;col username format a15;SELECT a.username,a.machi...原创 2019-03-08 10:03:19 · 9593 阅读 · 0 评论 -
ORA-01652:无法通过512(在表空间REPORT_TMP中)扩展 temp 段
ORA-01652:无法通过128(在表空间ZLTOOLSTMP中)扩展 temp 段客户端使用时报错:ORA-01652:无法通过128(在表空间ZLTOOLSTMP中)扩展 temp 段。查看临时表空间情况:select tablespace_name,file_name,bytes/1024/1024 MB,autoextensible fromdba_temp_files...原创 2019-03-08 09:56:07 · 1537 阅读 · 0 评论 -
物化视图刷新-落地表-调度过程
--1.create materialized view log on YWUSER.BIAUTOPRICEXOM with primary key; --在dblink远程表创建log--1.在ods用户下创建表,删表空间,主键,添加lastmodifydate 默认系统时间,注释create table BIAUTOPRICEXOM( autopricedemandno V...原创 2019-03-11 20:25:12 · 498 阅读 · 0 评论 -
oracle数据库定时任务dbms_job的用法详解
一、dbms_job涉及到的知识点1、创建job:? 1 2 3 4 5 6 variable jobno number; dbms_job.submit(:jobno, —-job号 'your_procedure;',—-执行的存储过程, ';'不能省略 next_date, —-下...转载 2019-03-10 20:14:42 · 1489 阅读 · 0 评论 -
ORA-00600: 内部错误代码
运行时报ORA-00600: 内部错误代码, 参数:[qcsgpvc3],[],[],[],[],[],[],[],[],[],[],[] ,上网搜了但大多数都不行。无心插柳柳成荫,就在无奈想要换个SQL方法时看到了一篇看起来挺有用的文章,上面说 “问题应该是Oracle在编译包体时,没有区分表的列和过程的参数的区别,从而引发了这个错误。而Oracle给出的建议也是,避免过程或...原创 2019-03-06 19:54:07 · 62443 阅读 · 1 评论 -
查看Oracle中存储过程长时间被卡住的原因
查看Oracle中存储过程长时间被卡住的原因1:查V$DB_OBJECT_CACHESELECT * FROM V$DB_OBJECT_CACHE WHERE name='CUX_OE_ORDER_RPT_PKG' AND LOCKS!='0';注意:CUX_OE_ORDER_RPT_PKG 为存储过程的名称。发现locks=22:按对象查出sid的值select /*+...转载 2019-03-08 16:14:36 · 3360 阅读 · 0 评论 -
查看是否有锁表和根据sid查看对应连接正在运行的sql
---查看是否有锁表Select l.session_id sid, s.serial#, l.locked_mode 锁模式, l.oracle_username 登录用户, l.os_user_name 登录机器用户名, s.machine 机器名, s.terminal 终端用户名, ...原创 2019-03-05 18:12:50 · 1408 阅读 · 0 评论 -
oracle 表空间大小和使用情况
SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", (total - free) "表空间使用大小", total / (1024 * 1024 * 1024) "表空间大小(G)", free / (1024 * 1024 * 1024) "表空间剩余...原创 2019-03-05 16:19:51 · 956 阅读 · 0 评论 -
Oracle Job的使用(定时执行)
Oracle Job的使用(定时执行)oracle中的job能为你做的就是在你规定的时间格式里执行存储过程,定时执行一个任务 。下面是一个小案例,定时每15分钟向一张表插入一条数据一 1.创建一张测试表-- Create tablecreate table A8( a1 VARCHAR2(500))tablespace DSP_DATA pctf...转载 2019-02-26 10:40:07 · 557 阅读 · 0 评论 -
创建物化视图 报错 ora-12060:预建表的形式与定义查询不匹配
如果以PREBUILD方式建立物化视图,除非指定了WITH REDUCED PRECISION语句(在on prebuilt table后面加上with reduced precision就可以了),否则列的精度必须满足SELECT表达式的精度;--1.在ods用户下创建表,删表空间,主键,添加lastmodifydate 默认系统时间,注释create table FPGL_FPXX(...原创 2019-02-15 16:37:08 · 1032 阅读 · 0 评论 -
查看scheduler_job的执行情况
select * from user_scheduler_job_run_details t where t.LOG_DATE>=date'2018-08-20' and t.STATUS<>'SUCCEEDED';执行结果:原创 2018-08-23 09:27:22 · 9915 阅读 · 0 评论 -
oracle 大数据处理方法bulk collect forall
PROCEDURE prc_trade_water_yesterday IS -- 来源大平台前一天的数据 CURSOR cur_tbl_n_txn IS SELECT ..., fd61 FROM tbl_n_txn tnt, (SELECT cups_no, MAX(cups_nm) cups_nm ...原创 2018-06-04 18:05:49 · 398 阅读 · 0 评论 -
Oracle树形统计--子节点汇总到父节点
create table t( id number, parent_id number, value number);insert into t values(1,0,0);insert into t values(2,1,0);insert into t values(3,1,0);insert into t values(4,2,100);insert into t values(...转载 2018-05-17 17:05:44 · 4590 阅读 · 2 评论 -
flashback 闪回回复数据
--1.造测试数据create table tmp_wrh_flashbak_test(id number not null,name varchar2(10)); insert into tmp_wrh_flashbak_test (id,name) select 1,'a' from dual union ...原创 2018-03-13 17:26:39 · 237 阅读 · 0 评论 -
null排序用法
order by ti.opr_id asc NULLS FIRSTorder by ti.opr_id desc NULLS FIRST原创 2017-09-07 09:43:44 · 685 阅读 · 0 评论 -
bulk collect limit和 forall 用法
CURSOR cur_tbl_n_txn_wk IS SELECT ...... ;TYPE type_array_tnt IS TABLE OF cur_tbl_n_txn_wk%ROWTYPE INDEX BY BINARY_INTEGER;v_tbl_n_txn_wk type_array_tnt;--批量每次fetch数量v_rows NUMBER := 10原创 2017-09-07 09:41:56 · 442 阅读 · 0 评论 -
取当前记录行的后一行记录和前一行记录lead()和lag()
Lead() 和 lag() lead(列名,n,m): 当前记录后面第n行记录的列名>的值,没有则默认值为m;如果不带参数n,m,则查找当前记录后面第一行的记录列名>的值,没有则默认值为null。 lag(列名,n,m): 当前记录前面第n行记录的列名>的值,没有则默认值为m;如果不带参数n,m,则查找当前记录前面第一行的记录列名>的值,没有则默认值为null。 --测试脚本转载 2017-09-07 09:40:05 · 4163 阅读 · 0 评论 -
计算两时间差
SELECT EXTRACT(DAY FROM (sysdate-to_date('2012-03-29 00:00:00','YYYY-MM-DD HH24:MI:ss')) DAY TO SECOND ) || ' days ' || EXTRACT(HOUR FROM (sysdate-to_date('2012-03-29 00:00:00','YYYY-MM-D转载 2017-09-07 09:36:58 · 268 阅读 · 0 评论 -
dbms_stats包的常用几个信息统计分析
1.分析表begindbms_stats.gather_table_stats ( ownname => 'TEST', tabname => 'STUDENT', estimate_percent => dbms_stats.AUTO_SAMPLE_SIZE, degree转载 2017-09-07 09:33:55 · 746 阅读 · 0 评论 -
exp和imp命令使用
--在命令行下执行,不能再pl/sql developer 下执行--exp和imp可以在客户端和服务器端使用--exp导出exp jiangzl/jiangzl@172.30.0.155 file= d:/tmp_wrh_test.dmp tables=jiangzl.tmp_wrh_test--imp导入(ignore=y 加这个选项就是追加导入,如果没有这转载 2017-09-07 09:30:33 · 2286 阅读 · 0 评论 -
创建dblink
需求两台数据库服务器(本地)和(远程192.168.1.59),本地用户orcl需要访问到远程服务器下mars的数据,这时就需要创建DBLink。方案①先确定用户是否有创建DBLink的权限:select *from user_sys_privswhere privilegelike upper('%DATABASELINK%');·转载 2017-09-07 09:27:04 · 474 阅读 · 0 评论 -
用Oracle自动发邮件
用Oracle自动发邮件 2013-01-18 16:21:16分类: Linux原文地址:用Oracle发邮件 作者:arron0754 最近有空研究了一下用Oracle自带UTL_SMTP发送邮件的方法,标准步骤如下:1.建立到SMTP Server的连接: UTL_SMTP.OPEN_CONNECTION2.执行初始握手信号: UTL_SMTP.EHL转载 2017-09-13 15:44:49 · 2857 阅读 · 0 评论 -
创建用户命令
create user test_sdkop_dev identified by 123456 default tablespace omms_data temporary tablespace tempnew profile default;-- grant/revoke role privileges grant connect to test_sdkop_dev;原创 2017-09-13 15:34:46 · 1207 阅读 · 0 评论