oracle数据库
文章平均质量分 70
普通网友
这个作者很懒,什么都没留下…
展开
-
ORACLE锁机制
数据库是一个多用户使用的共享资源。当多个用户并发地存取数据时,在数据库中就会产生多个事务同时存取同一数据的情况。若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性。加锁是实现数据库并发控制的一个非常重要的技术。当事务在对某个数据对象进行操作前,先向系统发出请求,对其加锁。加锁后事务就对该数据对象有了一定的控制,在该事务释放锁之前,其他的事务不能对此数据对象进行更新操转载 2014-06-30 08:18:42 · 428 阅读 · 0 评论 -
ORACLE坏块总结
Oracle数据库出现坏块现象是指:在Oracle数据库的一个或多个数据块(一个数据块的容量在创建数据库时由db_block_size参数指定,缺省为8K)内出现内容混乱的现象。由于正常的数据块都有固定的合法内容格式,坏块的出现,导致数据库进程无法正常解析数据块的内容,进而使数据库进程报错乃至挂起,并级联导致整个数据库实例出现异常。 一.坏块的产生原因 坏块产生的原因大致有以下几种转载 2013-06-17 18:04:20 · 931 阅读 · 0 评论 -
Oracle 内存表的使用方法总结
一个应用场景:假设有一个1000万条记录的游标(多个表格,多个schema join在一起的一个游标),需要在此之上进行多项复杂的计算,如果重复打开该游标相当费时,可以只打开一次游标,然后内存表暂存数据,然后在内存表上进行处理。内存表概念 1、PL/SQL表类似于C语言中的数组。如果要声明一个PL/SQL表,要先定义该表类型,然后在声明属于该类型的变量。 2、理论上,数据库转载 2013-05-28 21:10:25 · 4350 阅读 · 0 评论 -
Oracle drop user xxx cascade
drop user ; 仅仅是删除用户,drop user ×× cascade ;会删除此用户名下的所有表和视图。userSpecify the user to be dropped. Oracle Database does not drop users whose schemas contain objects unless you specify CASCADE or转载 2012-11-14 13:34:59 · 1041 阅读 · 0 评论 -
Oracle CASE WHEN 用法介绍
1. CASE WHEN 表达式有两种形式--简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END转载 2012-11-06 16:49:58 · 550 阅读 · 0 评论 -
ORACLE DATE和TIMESTAMP数据类型的比较【转载】
1. DATE数据类型 这个数据类型我们实在是太熟悉了,当我们需要表示日期和时间的话都会想到date类型。它可以存储月,年,日,世纪,时,分和秒。它典型地用来表示什么时候事情已经发生或将要发生。DATE数据类型的问题在于它表示两个事件发生时间间隔的度量粒度是秒。这个问题将在文章稍后讨论timestamp的时候被解决。可以使用TO_CHAR函数把DATE数据进行传统地包装,达到表示成多种格转载 2012-10-26 15:15:29 · 911 阅读 · 0 评论 -
DBMS_LOB包使用和维护[转]
摘要:本文通过实例介绍了在ORACLE数据库中通过DBMS_LOB包使用和维护LOB数据类型的基本方法。 关键词:ORACLEDBMS_LOBLOB维护 中图分类号:TP31 1、引言 随着社会的发展,在现代信息系统的开发中,需要存储的已不仅仅是简单的文字信息,同时还包括一些图片和音像资料或者是超长的文本。比如开发一套旅游信息系统转载 2012-10-17 10:56:39 · 614 阅读 · 0 评论 -
ORA-29857: domain indexes and/or secondary objects exist in the tablespace tips
有时候,我们在删除tablespace的时候会出现错误:Oracle docs note this about ORA-29857:ORA-29857: domain indexes and/or secondary objects exist in the tablespaceCause: An attempt was made to drop a tablespace wh原创 2012-09-26 14:41:25 · 2294 阅读 · 0 评论 -
oracle的split函数
PL/SQL 中没有split函数,需要自己写。下面的函数,默认按照逗号“,”分割字符串,分割后,从数据库表格中可以取得字符数组的每一个值。create or replace type type_split as table of varchar2(3000);create or replace function split_customized(p_list varchar2,p_se转载 2012-09-19 16:36:13 · 911 阅读 · 0 评论 -
在Oracle中使用Java存储过程JSP(Java Stored Procedures)一些技术要点
1. 如果在Java method里面需要访问Oracle数据库,不用加载jdbc driver,因为其已经包含在了Oracle数据库中;2. 如果在Java class里面调用了第三方的类库,如JavaMail等,则需要将相应的JAR加载Oracle数据库中,加载方法如下:loadjava -user sys/password -resolve -synonym mail.jar原创 2012-08-25 19:03:36 · 1332 阅读 · 0 评论 -
用PL/SQL Java存储过程发送带附件的邮件(使用第三方Java API)
OverviewThis article shows how to send email using Java Stored Procedures (JSP) and the Sun Microsystems JavaMail package, attachments can also be sent. This article can be used as a guideline b转载 2012-08-25 19:09:34 · 1477 阅读 · 0 评论 -
Oracle 数据库 时间函数
1. 查询在某一个时间段内的记录:select * from my_tablewhere to_char(time_column,'yyyy-mm-dd') between '2013-07-01' and '2013-07-15'原创 2013-07-16 14:27:42 · 772 阅读 · 0 评论 -
Oracle 多行记录合并/连接/聚合字符串
String Aggregation TechniquesOn occasion it is necessary to aggregate data from a number of rows into a single row, giving a list of data associated with a specific value. Using the SCOTT.EMP table转载 2013-07-19 17:01:29 · 1747 阅读 · 0 评论 -
ORACLE数据库事务隔离级别
事务隔离级别:一个事务对数据库的修改与并行的另一个事务的隔离程度。两个并发事务同时访问数据库表相同的行时,可能存在以下三个问题:1、幻想读:事务T1读取一条指定where条件的语句,返回结果集。此时事务T2插入一行新记录,恰好满足T1的where条件。然后T1使用相同的条件再次查询,结果集中可以看到T2插入的记录,这条新纪录就是幻想。2、不可重复读取:事务T1读取一行记录,转载 2014-06-30 08:28:02 · 481 阅读 · 0 评论 -
ORACLE ORA-01653: unable to extend table 的错误
今天用PL SQL Developer往oracle数据库中导入数据时,突然报错,只能终止,错误的具体内容如下:ORA-01653: unable to extend table USER_DATA.JKHDFXJL by 128 in tablespace MSMS大概意思是说USER_DATA表空间不足了,于是google了一下,大概有了些眉目。出现这种表空间不足的问题一般有两转载 2014-05-06 15:51:57 · 987 阅读 · 0 评论 -
关于ora-01000:超出最大可打开的游标数 的一点理解
关于ora-01000:超出最大可打开的游标数 的一点理解 ORA-01000: maximum open cursors exceeded"怎么解决 ERROR at line 1: ORA-01000: maximum open cursors exceeded问题分析: 1.游标open后,出错了又没有close. 这个错误通常都是由于在程序代码中循环体内放入转载 2014-03-11 14:25:48 · 1012 阅读 · 0 评论 -
关于Oracle 10g的schedule job
转载自:http://www.blogjava.net/javabloger/archive/2008/03/14/186206.html常用操作:-- job 权限grant create job to somebody;-- job 创建begin dbms_scheduler.create_job ( job_name => 'AGENT_LIQU原创 2013-11-28 16:28:37 · 1161 阅读 · 0 评论 -
调度作业(Oracle Scheduler)
Oracle Scheduler可以帮助DBA或者数据库用户自动调度和运行各种类型的作业,比如数据库备份、收集优化器统计信息、生成各种报表或者执行业务流程等等,也可以把Schedule和Resource Manager结合起来通过时间窗口激活指定的Resource Plan,完成企业在资源管理和作业调度上的各种复杂需求,在10g之前可以通过DBMS_JOB工具来实现类似的功能,但毫无疑问,DB转载 2013-11-26 16:41:20 · 1481 阅读 · 0 评论 -
在触发器里面commit
Normally, the usage of a commit or a rollback is not recommended in triggers. But there are certain situations in which we have to use commit or rollback in triggers. One of the prevalent usages of转载 2013-10-24 18:15:19 · 1603 阅读 · 0 评论 -
在Oracle中使用JSON: PL/JSON
JSON (JavaScript Object Notation) is a lightweight data format that is very well suited for transmitting data over the Internet. Despite the reference to JavaScript in its name, JSON is a language-ind转载 2013-10-14 17:16:44 · 8502 阅读 · 0 评论 -
有用的PL/SQL第三方工具包
链接如下:https://code.google.com/p/plsql-utils/原创 2013-10-14 16:07:02 · 1073 阅读 · 0 评论 -
Oracle 列转行函数 Listagg()
这是一个Oracle的列转行函数:LISTAGG()先看示例代码:with temp as( select 'China' nation ,'Guangzhou' city from dual union all select 'China' nation ,'Shanghai' city from dual union all select 'China' nat转载 2013-09-26 13:22:34 · 2463 阅读 · 0 评论 -
Oracle 转义HTML特殊字符
1. htf.escape_scThis replaces characters that have special meaning in HTML with their escape sequences. The following characters are converted:& to & " to ": to >The procedur转载 2013-08-02 15:22:29 · 1997 阅读 · 0 评论 -
Oracle 中调用Java Stored Procedures
从Oracle 8i开始,Oracle数据库就全面引入了实用的Java虚拟机 – Oracle JVM。Oracle和Java之间的这种紧密关系,使得一个非常重要的技术,出现在Oracle开发人员面前:Java存储过程。通过Java存储过程,开发人员在创建数据库应用的时候,就可以充分利用Java提供的各种优势。本文将针对这个越来越受欢迎的技术进行讨论。其目标读者是,初懂Oracle的Java开发人转载 2012-08-24 19:32:38 · 1288 阅读 · 0 评论 -
ORACLE 产生随机数:DBMS_RANDOM
1.准备工作login sqlplus as sys then run the script $ORACLE_HOME/RDBMS/ADMIN/dbmsrand.sql 2.应用举例SELECT DBMS_RANDOM.RANDOM FROM DUAL; 再进一步的要求,比如,产生一个0-100的随机数,稍微变通一下就可以了: selec转载 2012-08-23 14:46:19 · 1133 阅读 · 0 评论 -
Oracle中GOTO的用法
Oracle中没有continue关键字,在loop中可以用goto语句实现同样的效果。create or replace procedure dd is i pls_integer; begin i:=0; loop >原创 2012-08-21 18:49:33 · 5172 阅读 · 0 评论 -
将excel中的数据通过PL/SQL导入ORACLE数据库中
详细地步骤: 1、打开MicroSoft Excel 2、文件(F)→新建(N)→工作簿→ 3、输入数据后,存盘为test.xls, 4、文件(F)→另存为(A)→ 保存类型为:制表符分隔,起名为text.txt,保存到C:\5、须先创建表结构: 连入SQL*Plus,以system/manager用户登录, SQL> conn sys转载 2012-04-13 13:59:48 · 638 阅读 · 0 评论 -
如何在oracle中创建Schema
转载自:http://hi.baidu.com/laolens/blog/item/451fd0090500be88d0581b54.html问题描述:请问怎么在oracle中create schema,怎么把从另一台服务器中的dat文件exp出去,然后imp进新建的schema. 步骤如下:1.建立两个表空间,一个是数据表空间(名字可定为user_data),另一个是临时转载 2012-02-17 15:24:57 · 4532 阅读 · 1 评论 -
SP2-0611: Error enabling STATISTICS report
SQL> set autotrace on SP2-0618: Cannot find the Session Identifier. Check PLUSTRACE role is enabledSP2-0611: Error enabling STATISTICS report 在asktom网上的回复可以使用如下方法设置:I believe you have sli转载 2012-02-08 16:13:51 · 1082 阅读 · 0 评论 -
11g sqlplus报错ORA-28002: the password will expire within 3 days 的解决方法
11g增加了登录时间的限制,在DEFAULT Profile里能查到,如下所示:SQL> select * from dba_profiles where profile='DEFAULT' AND RESOURCE_NAME='PASSWORD_LIFE_TIME';PROFILE RESOURCE_NAME转载 2012-02-08 11:01:20 · 1381 阅读 · 0 评论 -
深入理解oracle listener tnsname sqlnet
转载自:http://g.51cto.com/database/23073三个配置文件 listener.ora、sqlnet.ora、tnsnames.ora ,都是放在$ORACLE_HOME etworkdmin目录下。1. sqlnet.ora-----作用类似于linux或者其他unix的nsswitch.conf文件,通过这个文件来决定怎么样找一个连接中出现的连接转载 2012-02-03 19:30:49 · 1019 阅读 · 0 评论 -
Oracle Package
ref:http://blog.csdn.net/nuey1985/article/details/3323910包 (package) (1)包的意义 PL/SQL为了满足程序模块化的需要,除了块(block)和子程序结构外,还引入了包的构造。 包是一种数据库对象,将逻辑上相关的PL/SQL类型、对象和子程序组合成一个更大的单位。包有两个部分:包说明(spe转载 2012-01-17 19:19:07 · 1063 阅读 · 0 评论 -
Oracle 自定义Java函数
函数是执行某种功能的代码实体,用户调用函数输入适当的参数或者不输入参数,函数将执行计算过程,输出计算结果。Oracle提供了丰富的函数,用于扩展数据库的功能,如字符处理函数LOWER(),数学运算函数counter(*),等。虽然,Oracle定义了大量的函数,用于方便用户管理和维护数据库,但是毕竟现实的需求是多种多样的,所以Oracle允许用户自定义函数。用户可以通过PL/SQL和JAVA自定义原创 2012-01-16 16:27:01 · 1296 阅读 · 0 评论 -
Oracle dual解析
原文地址:http://hi.baidu.com/erzhou/blog/item/b3a9ce3f65a7ddca7d1e7139.html基本上oracle引入dual为的就是符合语法1. 我们先从名称来说,dual不是缩写词,本身就是完整的单词。dual名词意思是对数,做形容词时是指二重的,二元的。2. Oracle中的dual表是一个单行单列的虚拟表。3. Dual表是or转载 2012-01-13 17:24:07 · 668 阅读 · 0 评论 -
数据字典
1. 静态视图数据字典视图是静态视图,在数据库重新启动前,静态数据字典中的信息是不会变化的。SQL>conn scott/tigerSQL>select table_name from user_tables;SQL>select index_name from user_indexes;SQL>select * from use原创 2011-12-06 22:01:28 · 420 阅读 · 0 评论 -
学习ORACLE之PL/SQL
1. PL/SQL Hello World.create or replace procedure protest1isbegin loop dbms_output.put_line('hello1:-)'); dbms_output.put_line('hello2:-)');原创 2011-11-28 16:04:27 · 952 阅读 · 0 评论 -
ORACLE 11G EM 配置方法
ORACLE 11G EM 配置方法配置步骤如下:1. Create EM repos创建一个EM资料库emca -repos create重建一个EM资料库emca -repos recreate --------这个很主要,一般第一次不成功创建的时候,以后再创建都用这个命令就好了删除一个EM资料库emca -repos drop2. Conf原创 2012-05-02 11:33:36 · 6064 阅读 · 0 评论 -
oracle 特殊字符 转义
在Oracle中执行SQL语句时需要转义一些特殊字符,方法如下:1、转义字符 &在plsql里边执行:update userinfo set pageurl='myjsp?page=1&pagesize=10' where id='test'这条sql语句往数据库的pageurl字段放进去了一个url地址,但是执行的时候却并非那么理想,因为这其中有一个oracle的特殊字符,需要进转载 2012-07-18 13:10:21 · 1705 阅读 · 0 评论 -
oracle查看表之间的关联关系
select u1.CONSTRAINT_NAME, u1.TABLE_NAME as table_, u2.TABLE_NAME as reference_ from user_constraints u1, user_constraints u2 where u1.constraint_type='R' and u1.R_CONSTRAINT_NAME = u2.CON转载 2012-07-29 23:59:48 · 2745 阅读 · 0 评论 -
预防SQL注入攻击之我见
1、 SQL注入攻击的本质:让客户端传递过去的字符串变成SQL语句,而且能够被执行 2、 每个程序员都必须肩负起防止SQL注入攻击的责任。 说起防止SQL注入攻击,感觉很郁闷,这么多年了大家一直在讨论,也一直在争论,可是到了现在似乎还是没有定论。当不知道注入原理的时候会觉得很神奇,怎么就被注入了呢?会觉得很难预防。但是当知道了注入原理之后预防不就是很简单转载 2012-07-29 18:06:24 · 931 阅读 · 0 评论