![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Oracle
文章平均质量分 63
liyongjie
软件开发,数据库开发
展开
-
Oracle里Varchar的参数(byte和char)的区别测试
1 看一下语法图转载 2014-06-01 15:39:10 · 485 阅读 · 0 评论 -
使用UTL_MAIL包实现存储过程邮件发送
邮件通知预警和提示在当前系统中已经是一个比较常见的功能。各类型语言分别针对邮件提供了功能包和API接口方法,本篇介绍如何在PL/SQL代码中使用UTL_MAIL工具包发送邮件,同时还介绍配置中注意的细节要点。 1、安装UTL_MAIL包 UTL_MAIL是在Oracle10g推出的新邮件发送开发包。之前Oracle 8i开始,支持使用utl_smtp包进行RFC所定义的简原创 2012-04-13 09:05:47 · 2335 阅读 · 0 评论 -
oracle创建java外部例程
1,创建JAVA 外部例程:1)编制java代码2)将java代码加载数据库3)创建一个把pl/sql参数映射到java参数的pl/sql包装来发布java外部例程 将java代码加载数据库:方法一:create [or replace] [and {resolve | compile} [noforce] java{{source | resource} na原创 2012-04-12 14:30:04 · 350 阅读 · 0 评论 -
oracle constructor
创建一个对象,含有3个属性,1个构造函数create or replace type rectangle as object( length number, width number, area number, --定义一个构造函数,含有2个参数 constructor function rectangle(length number, width n原创 2012-04-12 14:07:25 · 728 阅读 · 0 评论 -
oracle record
一、oracle record结构类型,定义方式如下: 1,自定义type type_name is record(var1 datatype,var2 datatype2...);例子:declare type v_row is record(deptno number(2):=0,--指定默认值原创 2012-04-12 09:10:36 · 326 阅读 · 0 评论 -
oracle10g sql性能调优时,索引的使用
有表如下:create table test2(col1 int,col2 int,col3 int,col4 int,col5 int);alter table test2 add constraint pk_test2 primary key (col1, col2, col3);主键索引有三个字段:col1,col2,col3只有sql中where条件中出现组合索引的第一个列原创 2012-04-10 16:18:09 · 366 阅读 · 0 评论 -
分区索引--本地索引和全局索引比较
分区索引--本地索引和全局索引比较本文基于oracle10gR2分区索引分为本地(local index)索引和全局索引(global index)。其中本地索引又可以分为有前缀(prefix)的索引和无前缀(nonprefix)的索引。而全局索引目前只支持有前缀的索引。B树索引和位图索引都可以分区,但是HASH索引不可以被分区。位图索引必须是本地索引。下面就介绍本地索引以及全局索原创 2012-04-11 10:20:54 · 590 阅读 · 0 评论 -
oracle自动共享内存管理(ASMM)
oracle自动共享内存管理(ASMM)从Oracle 10g开始,Oracle提供了自动SGA的管理(简称ASMM,即Automatic Shared Memory Management)新特性。所谓ASMM,就是指我们不再需要手工设置shared pool、buffer pool等若干内存池的大小,而是为SGA设置一个总的大小尺寸即可。Oracle 10g数据库会根据系统负载的变化,自动调原创 2012-04-10 09:21:38 · 3706 阅读 · 0 评论 -
数据库性能优化有哪些措施?(
1、调整数据结构的设计。这一部分在开发信息系统之前完成,程序员需要考虑是否使用ORACLE数据库的分区功能,对于经常访问的数据库表是否需要建立索引等。2、调整应用程序结构设计。这一部分也是在开发信息系统之前完成,程序员在这一步需要考虑应用程序使用什么样的体系结构,是使用传统的Client/Server两层体系结构,还是使用Browser/Web/Database的三层体系结构。不同原创 2012-04-09 17:47:40 · 720 阅读 · 0 评论 -
Buffer和Cache的区别
Buffer和Cache的区别buffer与cache操作的对象就不一样。buffer(缓冲)是为了提高内存和硬盘(或其他I/0设备)之间的数据交换的速度而设计的。cache(缓存)是为了提高cpu和内存之间的数据交换速度而设计,也就是平常见到的一级缓存、二级缓存、三级缓存。cpu在执行程序所用的指令和读数据都是针对内存的,也就是从内存中取得的。由于内存读写速度慢,为了提高cpu和原创 2012-04-10 09:01:43 · 407 阅读 · 0 评论 -
Oracle10g忘记system,sys密码的解决办法。
SQL> conn /as sysdbaSQL> alter user system identified by "123456";SQL> alter user sys identified by "123456";原创 2012-03-22 10:45:15 · 278 阅读 · 0 评论 -
uestudio烈火版下载地址
http://www.cr173.com/soft/10772.html Name:www.cr173.comCode:FFDEY-KFIME-MKDLU-XMCPZ-KDJFB-MIKOW-MMKLQ-WRDPF原创 2012-03-22 11:07:08 · 501 阅读 · 0 评论 -
Oracle性能优化调整--调整缓冲区高速缓存
一.我们可以通过配置Shared Pool(保证用户在内存中查找到已经缓存的语句)改进性能; 还有一个重要的方法就是:使用户可以在内存找到他们所请求的数据!这就需要通过Database Buffer Cache(数据库缓冲区的高速缓存区)来实现。 Buffer Cache是SGA的一个组件,用来缓存用户最近在数据库中访问过的段数据块的副本。这些副本和它们在磁盘上的对应块是同步原创 2012-04-09 17:53:25 · 1759 阅读 · 0 评论 -
Oracle dbms_stats
Oracle dbms_stats. 第一部分:Gathering Optimizer Statistics 1. GATHER_DATABASE_STATS收集数据库中所有对象的统计信息 Parameters:--estimate_percent: 需分析的百分比(NULL means compute),默认值可以通过SET_PARAM来改变。The valid原创 2012-04-06 16:13:05 · 922 阅读 · 0 评论 -
Oracle表与索引的分析及索引重建
Oracle表与索引的分析及索引重建 1.分析表与索引(analyze 不会重建索引)analyze table tablename compute statistics等同于 analyze table tablename compute statistics for table for all indexes for all columnsfor table 的统计信息存原创 2012-04-06 15:38:36 · 278 阅读 · 0 评论 -
Oracle锁机制及锁的探讨
一、 Oracle锁机制1、什么是锁锁是控制“共享资源”并发存取的一种机制。注意这里说“共享资源”而不仅指“数据行”,数据库的却在行一级对表的数据加锁,但是数据库也在其它地方对各种资源的并发存取使用锁。比如说,如果一个存储过程在执行过程中,它会被加上某种模式的锁只允许某些用户执行它而不允许其他用户修改它。锁在数据库中被用来实现允许对共享资源的并发存取,同时保证数据的完整原创 2012-04-13 13:53:14 · 456 阅读 · 0 评论 -
oracle utl_smtp 邮件发送协议
最近想在Oracle中设置一个触发器,每天执行数据检测脚本之后,如果发现错误数据就自动发送邮件到我邮箱里,于是研究了一下在Oracle中发送邮件的方法。据说10g里可以使用UTL_MAIL包来简单得发送邮件了,但是觉得通用性不高,万一哪天换成9i了就要重写,于是还是决定用UTL_SMTP包来做。 先简单看一下官方文档上的例子。其实很简单: -----------------原创 2012-04-13 09:54:07 · 839 阅读 · 0 评论 -
索引组织表
索引组织表 索引组织表(IOT)不仅可以存储数据,还可以存储为表建立的索引。索引组织表的数据是根据主键排序后的顺序进行排列的,这样就提高了访问的速度。但是这是由牺牲插入和更新性能为代价的(每次写入和更新后都要重新进行重新排序)。 索引组织表的创建格式如下: create table indextable( id varchar2(10),原创 2012-04-16 17:12:00 · 234 阅读 · 0 评论 -
oracle中使用on delete cascade和on delete set null来建立外键
oracle中使用on delete cascade和on delete set null来建立外键 其面我们介绍了创建外键约束时如果使用oracle默认的创建方式,在删除被参照的数据时,将无法被删除,这一点在oracle9i中给了我们更多灵活的选择,我们可是使用on delete cascade和 on delete set null关键字来决定删除被参照数据时是否要将参照这个数转载 2014-06-16 22:27:37 · 356 阅读 · 0 评论 -
dbms_aw.eval_number
又发现一个有用的函数dbms_aw.eval_number,可以直接计算表达式,原创 2014-07-03 20:12:25 · 2073 阅读 · 0 评论 -
如何定位重要(消耗资源多)的SQL
select b.username 用户名,a.disk_reads 磁盘读取量,a.executions 执行时间,a.disk_reads/decode(a.executions,0,1,a.executions) 单位读取数,a.sql_text SQL语句from v$sqlarea a,dba_users bwhere a.parsing_user_id = b.user_i原创 2012-02-29 15:34:43 · 1017 阅读 · 0 评论 -
一列转多行
with a as (select '/ABC/AA/AD/ABD/JI/CC/ALSKD/ALDKDJ' id from dual)select regexp_substr(id,'[^/]+',1,rownum) id from aconnect by rownum转载 2014-06-09 22:25:02 · 284 阅读 · 0 评论 -
Oracle Job定时任务
Oracle Job定时任务 oracle job有定时执行的功能,可以在指定的时间点或每天的某个时间点自行执行任务。 一、查询系统中的job,可以查询视图--相关视图select *from dba_jobs;select *from all_jobs;select *from user_jobs;-- 查询字段描述/*字段(列)转载 2014-06-08 08:59:42 · 232 阅读 · 0 评论 -
truncate 、delete与drop区别
相同点:1.truncate和不带where子句的delete、以及drop都会删除表内的数据。 2.drop、truncate都是DDL语句(数据定义语言),执行后会自动提交。 不同点:1. truncate 和 delete 只删除数据不删除表的结构(定义)drop 语句将删除表的结构被依赖的约束(constrain)、触发器(trigger)、索引(index);转载 2014-06-04 16:54:39 · 157 阅读 · 0 评论 -
Oraclev事务的四大属性
事务的四大属性 数据库事务的属性 数据库事务的属性包括四大类,即ACID。ACID分别是四个英文单词的首写字母,这四个英文单词是Atomicity(原子性)、 Consistency(一致性)、Isolation(隔离性)、Durability(持久性)。1、原子性 Atomicity 事务的原子性指的是,事务中包含的程序作为数据库的逻辑工作单位,它所做的对数据转载 2014-06-01 15:03:08 · 316 阅读 · 0 评论 -
listagg函数
这是一个Oracle的列转行函数:LISTAGG()注:oracle 11.2才能用 先看示例代码:Sql代码 1.with temp as( 2. select 'China' nation ,'Guangzhou' city from dual union all 3. select 'China' nation ,'Shanghai' city fro转载 2013-11-05 20:17:05 · 1537 阅读 · 0 评论 -
wm_concat排序问题
select m, max(r)from (select m, wm_concat(n) over (partition by m order by n) r from t)group by m ;转载 2013-11-05 20:10:56 · 1614 阅读 · 0 评论 -
如何分析一个存储过程的性能
Oracle DBMS_PROFILER的使用方式(一) 安装:· 用 SYS身份登录数据库,执行脚本:%ORACLE_HOME% \RDBMS\ADMIN\profload.sql· 创建一个用于存放信息的 schema,并授予权限:CREATEUSER profiler IDENTIFIEDBY profiler DEFAUL转载 2013-05-28 22:22:09 · 761 阅读 · 0 评论 -
oracle常见预定义异常
oracle常见预定义异常:错误号 异常错误信息名称 说明 ORA-0001 DUP_VAL_ON_INDEX 试图破坏一个唯一性限制 ORA-0051TIMEOUT_ON_RESOURCE 在等待资源时发生超时 ORA-0061原创 2012-04-16 16:13:48 · 939 阅读 · 0 评论 -
oracle中实现continue,break
一,continue在oracle11g以前无法使用continue实现退出当前循环(11g中据说实现了),但是可以用以下方法模拟实现:declare --定义变量begin for i in 1..10 loop --真正的循环 for j in 1..1 loop --假循环,目的是模拟出continue效果 if i原创 2012-04-16 14:59:17 · 7587 阅读 · 1 评论 -
with admin option 和 with grant option的区别
在赋予user 权限或者role 时,常常会用到with admin option 和with grant option,而在使用中,可能会很容易出现混淆的情况,现把他们的相同点和不同点总结如下:相同点:- 两个都可以既可以赋予user 权限时使用,也可以在赋予role 时用GRANT CREATE SESSION TO emi WITH ADMIN OPTION;GR原创 2012-04-16 17:35:37 · 386 阅读 · 0 评论 -
触发器经典教程 Trigger
11.4触发器触发器是许多关系数据库系统都提供的一项技术。在ORACLE系统里,触发器类似过程和函数,都有声明,执行和异常处理过程的PL/SQL块。§11.4.1 触发器类型 触发器在数据库里以独立的对象存储,它与存储过程不同的是,存储过程通过其它程序来启动运行或直接启动运行,而触发器是由一个事件来启动运行。即触发器是当某个事件发生时自动地隐式运行。并且,触发器不能接收参数。所原创 2008-10-05 19:56:00 · 1563 阅读 · 0 评论 -
normal sysdba sysoper sys sysdba dba概念—区别
sys和system用户的区别【system】用户只能用normal和sysdba身份登陆em。【sys】用户具有“SYSDBA”或者“SYSOPER”权限,登陆em也只能用这两个身份,不能用normal。“SYSOPER”权限,即数据库操作员权限,权限包括: 打开数据库服务器 关闭数据库服务器 备份数据库 恢复数据库 日志归档 会话限原创 2012-04-06 10:33:57 · 358 阅读 · 0 评论 -
Oracle 表分析说明
Oracle 表分析说明一、 表分析概念1. 简单的说,就是收集表和索引的信息,CBO根据这些信息决定SQL最佳的执行路径。通过对表的分析,可以产生一些统计信息,通过这些信息oracle的优化程序可以优化。1) 收集统计信息的目的是为了使基于 CBO的执行计划更加准确。2) 分析的结果数据[all_tables]有什么用,要看Oracle初始化参数原创 2012-04-06 10:25:48 · 1029 阅读 · 0 评论 -
oracle授权语句
•授权语句•Grant•Revoke •语法•grant privileges on object to users;•示例•授指定表一个权限,给指定用户grant select on suppliers tosmithj;•授指定表多个权限,给指定用户grant select,insert,update,delte on suppliers tosmi原创 2012-03-27 11:41:52 · 1098 阅读 · 0 评论 -
oracle嵌套表
/* 定义数据库嵌套表 */CREATE TYPE vendor AS OBJECT( vendor_id NUMBER(8), vendor_code VARCHAR2(30), vendor_name VARCHAR2(100), vendor_address VARCHAR2(200));CREATE TYPE vendorl原创 2012-03-27 10:04:11 · 573 阅读 · 0 评论 -
oracle集合类型table
declare type t_tab is table of emp%rowtype; v_tab t_tab; i int := 0; v_count int;begin v_tab := t_tab();--用不带参数的构造函数初始化一个空表 dbms_output.put_line(v_tab.count); for rec in原创 2012-03-27 09:14:23 · 2655 阅读 · 0 评论 -
oracle type
Oracle 自定义TYPE 的几种用法 Oracle中的类型有很多种,主要可以分为以下几类: 1、字符串类型。如:char、nchar、varchar2、nvarchar2。 2、数值类型。如:int、number(p,s)、integer、smallint。 3、日期类型。如:date、interval、timestamp。 4、PL/SQL类型。如:pls_integer转载 2012-03-26 17:44:27 · 7170 阅读 · 0 评论 -
如果你错编译了存储过程,函数,触发器等程序而想恢复过来怎么办呢?
如果你错编译了存储过程,函数,触发器等程序而想恢复过来怎么办呢?那是有可能恢复的,方法是以sys登录查all_source在某个时间点的数据。例如要查P_ROW_COL在1分钟前的代码的SQL如下: select * from all_source AS OF TIMESTAMP SYSDATE-1/1440 where owner='LIYONGJIE' AND name='P_ROW_原创 2012-03-08 17:20:39 · 358 阅读 · 0 评论 -
Oracle异常知识
Oracle异常知识:1、异常的优点 如果没有异常,在程序中,应当检查每个命令的成功还是失败,如 BEGIN SELECT ... -- check for ’no data found’ error SELECT ... -- check for ’no data found’ error SELECT ... -- check for ’no原创 2012-03-23 16:44:21 · 260 阅读 · 0 评论