
Oracle
文章平均质量分 76
fw0124
这个作者很懒,什么都没留下…
展开
-
SQL*PLUS使用总结
sqlplus {[/][@] | / } [AS {SYSDBA | SYSOPER | SYSASM}] [EDITION=value]- 直接输入sqlplus并回车就是启动SQL*PLUS,输入user及password将使用户登陆到缺省的数据库。- 运行sqlplus user/password@SERVICE_NAME 将连接到指定的数据库。远程登录:sqlplus use原创 2011-07-27 16:50:48 · 3326 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(10)-SGA,PGA,UGA和memory_target
Oracle有3个主要的内存结构:系统全局区(System Global Area,SGA)是一个很大的共享内存段,几乎所有Oracle进程都要访问这个区中的某一点。进程全局区(Process Global Area,PGA)是一个进程或线程专用的内存,其他进程/线程不能访问。用户全局区(User Global Area,UGA):这个内存区与特定的会话相关联,保存会话的状态。如果使用原创 2011-10-23 23:03:39 · 1655 阅读 · 0 评论 -
Oracle的动态SQL
原文:http://space.itpub.net/26622598/viewspace-718134在PLSQL中使用EXECUTE IMMEDIATE语句处理动态SQL语句。语法如下:EXECUTE IMMEDIATE dynamic_string[INTO {define_variable[, define_variable]... | record}][USING [I转载 2011-10-05 21:19:09 · 12232 阅读 · 0 评论 -
Oracle Cursor的使用
When Oracle Database executes a SQL statement, it stores the result set and processing information in an unnamedprivate SQL area. A pointer to this unnamed area, called acursor, lets youretrieve the原创 2011-07-27 16:41:02 · 22940 阅读 · 0 评论 -
Oracle SQL Developer中进行存储过程调试
首先需要给用户添加必要的权限。grant debug connect session to tony;grant debug any procedure to tony;然后选中存储过程,点击右键,执行[编译以进行调试]。可以添加断点,菜单 [运行]〉调试xxx。原创 2011-04-01 17:26:00 · 16465 阅读 · 1 评论 -
Oracle并发控制、事务管理学习笔记
(a)基本概念锁的2种最基本、最简单的类型:排他锁(eXclusive lock,即X锁)、共享锁(Share lock,即S锁)。不同级别的锁定协议及其作用:申请的锁及其作用锁定协议修改时申请X锁读取时申请S锁作用操作结束释放事务结束释放操作结束释放原创 2011-03-06 18:27:00 · 9992 阅读 · 2 评论 -
《Oracle编程艺术》学习笔记(12)-Oracle的锁
以下是对Oracle锁定策略的总结:· Oracle只在修改时才对数据加行级锁。正常情况下不会升级到块级锁或表级锁。· 如果只是读数据,Oracle 绝不会对数据锁定。不会因为简单的读操作在数据行上锁定。· 写入器(writer)不会阻塞读取器(reader)。换种说法:读(read)不会被写(write)阻塞。这一点几乎与其他所有数据库都不一样。在其他数据库中,读往往会被写阻塞。原创 2011-10-23 23:26:54 · 2184 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(13)-Oracle的并发与多版本控制
事务隔离级别ANSI/ISO SQL 标准定义了4 种事务隔离级别,这些隔离级别是根据3个“现象”定义的1)脏读(dirty read) 能读取未提交的数据,也就是脏数据。2)不可重复读(nonrepeatable read) 如果在T1时间读取某一行,在T2时间重新读取这一行时,这一行可能已经被修改,被删除,或者被更新等等。3)幻像读(phantom read)原创 2011-10-24 00:21:25 · 1436 阅读 · 0 评论 -
Oracle的recyclebin
Oracle10G以前执行drop table后表就即被删除了。10G后引入了垃圾回收站的概念recyclebin。如果仍只是drop table xxx,表不会立即被删除,而是被暂时放入回收站。可以保障某些误操作后还可以将表还原。1.查看数据库是否开户recyclebin功能SQL> show parameter recyclebin;NAME转载 2012-07-31 22:03:16 · 2954 阅读 · 0 评论 -
Oracle UTL_FILE的使用
使用dbms_output输出有一个缺点是要到整个过程执行完毕才会把结果输出到屏幕,这样就无法在一个长时间运行的过程中通过dbms_output输出来随时监控执行状况。为此可以使用utl_file包来输出文件。utl_file.fopen 打开文件utl_file.put_line 输出文件utl_file.get_line 读取文件utl_file.fclose 关闭文件原创 2012-07-25 17:00:07 · 8628 阅读 · 0 评论 -
Oracle分析函数总结(3)- 数值分布 - cume_dist,percent_rank,ntile,percentile_disc,percentile_cont,ratio_to_report
分析函数的基本概念和语法 -> http://blog.youkuaiyun.com/fw0124/article/details/7842039下面这些函数计算某个值在一组有序数据中的累计分布(cumulative distribution)1) cume_dist()计算结果为相对位置/总行数。返回值(0,1]。例如在一个5行的组中,返回的累计分布值为0.2,0.4,0.6,0原创 2012-08-08 22:13:28 · 11514 阅读 · 0 评论 -
Oracle分析函数总结(2) - 排序 - rank,dense_rank,row_number,first,first_value,last,last_value,lag,lead
分析函数的基本概念和语法 -> http://blog.youkuaiyun.com/fw0124/article/details/78420391) rank(),dense_rank(),row_number()这几个函数区别是:a)rank()是跳跃排序,有两个第1名时接下来就是第3名;b)dense_rank()是连续排序,有两个第1名时接下来仍然跟着第2名;c)row_n原创 2012-08-08 16:44:14 · 5946 阅读 · 0 评论 -
Oracle分析函数总结(1) - 基本概念和语法
Analytic functions compute an aggregate value based on a group of rows. They differ from aggregate functions in that they return multiple rows for each group. The group of rows is called a window and原创 2012-08-08 16:43:50 · 9214 阅读 · 2 评论 -
《Oracle编程艺术》学习笔记(19)-数据库日志模式
数据库可以有两种LOG模式,ARCHIVELOG模式和NOARCHIVELOG模式。NOARCHIVELOG模式在线重做日志写满以后不会被归档,因此出现故障后无法恢复。可以使用select log_mode from v$database语句来查询,或者在sysdba权限下使用archive log list语句来查询当前的LOG模式。例如:sys@ORA11GR2> archiv原创 2011-10-24 20:22:33 · 1416 阅读 · 0 评论 -
exp/imp与expdp/impdp对比及使用优化
原文出自:http://blog.youkuaiyun.com/tianlesoftware/article/details/6093973关于exp/imp 和 expdp/impdp, 之前整理的2篇Blog如下:ORACLE 数据库逻辑备份 简单 EXP/IMPhttp://blog.youkuaiyun.com/tianlesoftware/archive/2009/10/23/4718366.asp转载 2012-02-23 13:02:59 · 4311 阅读 · 4 评论 -
《Oracle编程艺术》学习笔记(4)-DEDICATED SERVER,SHARED SERVER,TNS,LISTENER
实例和数据库之间的关系数据库可以由多个实例装载和打开,而实例可以在任何时间点装载和打开一个数据库。· 实例是一组后台进程(Unix/Linux下)/线程(Windows下)和共享内存。· 数据库是磁盘上存储的数据集合。· 实例“一生”只能装载并打开一个数据库。· 数据库可以由一个或多个实例(使用RAC)装载和打开。 专用服务器模式和共享服务器模式Oracle服务器处原创 2011-10-23 20:19:45 · 2544 阅读 · 0 评论 -
Oracle定时任务(2)-DBMS_JOB
Oracle 10g之前,可以使用dbms_job来管理定时任务。10g之后,Oracle引入dbms_scheduler来替代先前的dbms_job,在功能方面,它比dbms_job提供了更强大的功能和更灵活的机制/管理。DBMS_JOB包DBMS_JOB包中包含有许多过程和方法名称类型描述DBMS_JOB.ISUBMIT过程原创 2011-09-07 16:44:20 · 7728 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(24)-堆组织表和表压缩
执行CREATE TABLE语句时,默认得到的表类型就是堆组织表。其他类型的表结构需要在CREATE TABLE语句本身中指定它。堆组织表中,数据以堆的方式管理。增加数据时,会使用段中找到的第一个能放下此数据的自由空间。从表中删除数据后,允许以后的INSERT和UPDATE重用这部分空间。堆(heap)是一组空间,以一种随机的方式使用。因此,无法保证按照放入表中的顺序取得数据。有1个简单的原创 2011-10-24 21:49:06 · 1172 阅读 · 0 评论 -
Oracle的几个参数:DB_NAME,SID,INSTANCE_NAME,DB_DOMAIN,SERVICE_NAME
搞清概念:db_name,instance_name,ORACLE_SID,db_domain,global_name,service_name转载 2011-10-12 21:55:23 · 2000 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(23)-段
段就是占用存储空间的数据库对象,占用存储空间的每一个对象最后都会存储在一个段中,如表、索引、回滚段等。段的类型1)表段2)表分区段(table partition)或子分区段(subpartition)这种段类型用于分区,与表段很相似。分区表由一个或多个分区段(table partition segment)组成,组合分区表则由一个或多个表子分区段(tablesubpartitio原创 2011-10-24 21:44:41 · 1730 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(9)-Oracle中的文件-数据文件和存储体系(表空间/段/区段/块)
在 Oracle 中,可以用4 种文件系统机制存储数据。(一个数据库中可能包含下述所有类型文件)·“Cooked”操作系统(OS)文件系统这些文件存放在OS的文件系统中。可以使用OS工具来移动文件。Cooked 文件系统通常也会缓存,这说明在你读写磁盘时,OS会为你缓存信息。·原始分区(raw partitions,也称裸分区)这不是文件,而是原始磁盘。不能用OS工具查看其内容。它原创 2011-10-23 22:55:27 · 1550 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(1)-配置环境
1) SQL*Plus的login.sql 文件2)设置SQL*Plus的AUTOTRACE3)配置statspack4) AWR5) 一些数据字典查询原创 2011-10-23 19:36:11 · 1953 阅读 · 0 评论 -
Oracle数据库多语言支持
可以从Session, Instance, Database三个级别来对NLS参数进行设置。Session级别的设置覆盖Instance级别的设置,Instance级别的设置覆盖Database级别的设置。原创 2011-04-14 23:18:00 · 3257 阅读 · 0 评论 -
Oracle的INSERT ALL和MERGE语句
在Oracle中使用INSERT ALL向几个表中同时插入数据或者向1个表中插入多行数据。转载 2011-04-15 00:11:00 · 10970 阅读 · 0 评论 -
Oracle ROWNUM用法和分页查询总结
分页查询格式1在查询的最外层控制分页的最小值和最大值。查询语句如下:SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A )WHERE RN BETWEEN 21 AND 40分页查询格式2SELECT * FROM (SELECT A.*, ROWNUM RN FROM (SELECT * FROM TABLE_NAME) A WHERE ROWNUM <= 40)WHERE RN >=原创 2015-01-15 13:56:12 · 137539 阅读 · 9 评论 -
ORACLE的临时表(CREATE GLOBAL TEMPORARY TABLE)以及和SQLServer的不同点
1简介ORACLE数据库除了可以保存永久表外,还可以建立临时表temporary tables。这些临时表用来保存一个会话SESSION的数据,或者保存在一个事务中需要的数据。当会话退出或者用户提交commit和回滚rollback事务的时候,临时表的数据自动清空,但是临时表的结构以及元数据还存储在用户的数据字典中。In addition to permanent tables, Orac转载 2015-01-15 13:43:49 · 5726 阅读 · 1 评论 -
Oralce的转义字符
Oracle中对一些特殊字符处理的时候,需要进行转义。特殊字符包括:% 在Oracle中用来匹配0到多个字符。_ 在Oracle中用来匹配1个字符。& 在Oracle中用来作输入提示符。\ 默认的转义字符。' 单引号用来括起字符串,所以如果字符串中有',必须用两个连续的'来代替。首先来看看如果SQL文中包括特殊字符&的时候怎么处理。有4种办法:1) 先执行原创 2011-07-30 17:12:01 · 3260 阅读 · 0 评论 -
Oracle expdp impdp 参数介绍
一、创建逻辑目录,该命令不会在操作系统创建真正的目录,最好以system等管理员创建。 create directory dpdata as '/opt';二、查看管理理员目录(同时查看操作系统是否存在,因为Oracle并不关心该目录是否存在,如果不存在,则出错) select * from dba_directories;三、给scott用户赋转载 2012-02-21 16:30:26 · 8601 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(36)-数据类型-时间日期
固有数据类型DATE、TIMESTAMP和INTERVAL紧密相关。DATE和TIMESTAMP存储精度可变的固定日期/时间。INTERVAL可以存储一个时间量。1)DATE7字节的定宽日期/时间数据类型。总包含7个属性,包括:世纪、世纪中哪一年、月份、月中的哪一天、小时、分钟和秒。2)TIMESTAMP [(fractional_seconds_precision)]7字原创 2011-10-30 13:48:49 · 2707 阅读 · 1 评论 -
Oracle的REMOTE_LOGIN_PASSWORDFILE和REMOTE_OS_AUTHENT参数
对于sysdba和sysoper登陆来说,验证方式为口令文件验证或者操作系统验证。如果是操作系统认证,不需要指定用户名密码。但是操作系统的登陆用户必须为dba组。在windows下,dba组的名称为ora_dba,在unix下,dba组名称为dba。如果是口令文件验证,密码保存在口令文件中,在windows下,口令文件位于%ORACLE_HOME%/database下面,文原创 2012-11-30 17:17:09 · 6819 阅读 · 0 评论 -
Oracle的行列转换
首先准备如下表格tony@ORA11GR2> select empno,ename,job,sal,deptno from emp 2 order by deptno,job; EMPNO ENAME JOB SAL DEPTNO---------- -----------------原创 2012-09-04 23:10:47 · 33569 阅读 · 1 评论 -
Oracle定时任务(1)-DBMS_SCHEDULER
Oracle 10g之前,可以使用dbms_job来管理定时任务。10g之后,Oracle引入dbms_scheduler来替代先前的dbms_job,在功能方面,它比dbms_job提供了更强大的功能和更灵活的机制/管理。使用dbms_scheduler创建一个定时任务有两种形式1)创建1个SCHEDULER来定义计划,1个PROGRAM来定义任务内容,再创建1个JO原创 2011-09-06 15:51:03 · 19002 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(17)-DEFERRABLE约束
默认情况下,完整性约束在整个语句得到处理后进行检查。但是可以创建延迟约束,把这个约束延迟到COMMIT或另外某个时间才检查。可以指定为· DEFERRABLE INITIALLY IMMEDIATE:创建可延迟的约束,但是初始状态是在语句级检查。INITIALLY IMMEDIATE也可以不写。· DEFERRABLE INITIALLY DEFERRED: 创建可延迟的约束,而且初始原创 2011-10-24 00:36:28 · 1261 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(7)-Oracle中的文件-Trace文件
如果一个系统的执行效率比较低,一个比较好的方法是通过跟踪用户的会话并且使用tkprof工具使用排序功能格式化输出,从而找出有问题的SQL语句。例如首先从os上利用top命令找到当前占用cpu资源最高的一个进程的PID号9999;然后在数据库中根据PID号找到相应的sid和serial#select s.sid,s.serial# from v$session s,v$process p原创 2011-10-23 22:51:04 · 2935 阅读 · 1 评论 -
比较Oracle中的alter table t move和alter table t shrink space
alter table t move和alter table t shrink space都可以用来进行段收缩,降低高水位HWM,也都可以用来消除行链接(Row Chaining)和行迁移(Row Migration),但是有如下区别:1)使用alter table move,会把表格最多收缩到创建表格时的storage子句指定的初始大小,使用alter table shrink sp原创 2012-01-28 20:44:14 · 3039 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(14)-写一致性
先解释2个概念:· 一致读(Consistent read):“发现”要修改的行时,所完成的获取就是一致读。· 当前读(Current read):得到块来实际更新所要修改的行时,所完成的获取就是当前读。可以通过tkprof报告看到每条语句一致读和当前读的统计。tkprof:http://blog.youkuaiyun.com/fw0124/article/details/6899162用原创 2011-10-24 00:27:15 · 1609 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(8)-Oracle中的文件-警告日志文件
告警文件位于BACKGROUND_DUMP_DEST参数指定的目录下,文件名alert_.log。另外,11g之后,警告文件还另外生成一个xml版本,位于如下语句指定的目录下:select * from v$diag_info where name='Diag Alert';11g之后,可以通过ADRCI工具(位于$ORACLE_HOME/bin目录下)轻松查看警告日志文件。原创 2011-10-23 22:52:46 · 1526 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(5)-Oracle中的文件
与实例相关的文件有:· 参数文件(parameter file):这些文件告诉Oracle实例在哪里可以找到控制文件,并且指定某些初始化参数,这些参数定义了某种内存结构有多大等设置。· 跟踪文件(trace file):这通常是一个服务器进程对某种异常错误条件做出响应时创建的诊断文件。· 警告文件(alert file):与跟踪文件类似,但是包含“期望”事件的有关信息,并且通过一个集中原创 2011-10-23 20:22:38 · 817 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(2)-开发成功的Oracle应用
Thomas Kyte在《Oracle编程艺术》这本书中总结了他的成功经验,摘录如下:成功经验总结:· 基于数据库(或依赖于数据库)构建的应用是否成功,这取决于如何使用数据库。另外,从我的经验看,所有应用的构建都围绕着数据库。如果一个应用未在任何地方持久地存储数据,很难想象这个应用真的有用。· 应用总是在“来来去去”,而数据不同,它们会永远存在。从长远来讲,我们的目标并不是构建应用,而原创 2011-10-23 19:40:53 · 940 阅读 · 0 评论 -
《Oracle编程艺术》学习笔记(22)-表类型
Oracle中主要有9种表类型:1)堆组织表(heap organized table)这就是标准数据库表。数据以堆的方式管理。增加数据时,会使用段中找到的第一个能放下此数据的自由空间。从表中删除数据后,允许以后的INSERT和UPDATE重用这部分空间。堆(heap)是一组空间,以一种随机的方式使 用。2)索引组织表(index organized table)表按索引结构存储。原创 2011-10-24 20:48:12 · 945 阅读 · 0 评论