随笔分类 -  oracle学习笔记

上一页 1 2 3 4 5 下一页
PL/SQL例外的介绍
摘要:PL/SQL例外的介绍PL/SQL预定义的例外及code如下:Exception Oracle Error SQLCODE Value 含义ACCESS_INTO_NULL ORA-06530 -6530 引用对象没有初始化直接为对象赋值CASE_NOT_FOUND ORA-06592 -6592 如果在when子句中没有case没有包含必须的分支且没有else子句时COLLECTION_IS_NULL ORA-06531 -6531 集合元素(嵌套表或varray)必须先初始化,没有则触发该错误CURSOR_ALREADY_OPEN ORA-06511 -6511 重新打开已经打开的游标DU 阅读全文
posted @ 2011-04-14 18:04 蓝紫 阅读(2070) 评论(0) 推荐(0) 编辑
PLSQL复合变量与参照变量
摘要:PLSQL复合变量与参照变量PLSQL复合变量 复合变量指用于存放多个值的变量。定义复合变量时,必须要使用PL/SQL的复合数据类型。PL/SQL包括PL/SQL记录、PL/SQL表、嵌套表及VARRAY等四种复合数据类型。1、PLSQL记录 每个PL/SQL记录一般都包含多个成员,当使用PL/SQL记录时,需要注意在定义部分定义记录类型和记录变量,然后在执行部分引用该记录变量。实例: DECLARE TYPE emp_record_type IS RECORD( name emp.ename%TYPE, salary emp.sal%TYPE, title emp.job%TYPE); em 阅读全文
posted @ 2011-03-30 13:49 蓝紫 阅读(5176) 评论(0) 推荐(0) 编辑
表分区索引介绍
摘要:分区表索引介绍局部索引:局部前缀索引(local prefixed index):在这些索引中,分区键在索引定义的前几列上。例如,一个表在名为LOAD_DATE 的列上进行区间分区, 该表上的局部前缀索引就是采用LOAD_DATE作为其索引列列表中的第一列。局部非前缀索引(local nonprefixed index):这些索引不以分区键作为其列列表的前几列。索引可能包含分区键列,也可能不包含。 这两类索引都可以进行分区消除,前提是查询的条件中包含索引分区键,它们都支持惟一性(只要局部非前缀索引包含分区键列)。 局部索引与表的分区数一致,如果新增一个分区,新增加的分区局部索引也会自动创建。全 阅读全文
posted @ 2011-03-24 11:57 蓝紫 阅读(3235) 评论(0) 推荐(0) 编辑
表分区介绍
摘要:表分区介绍(1)分区表的作用:在大量业务数据处理的项目中,可以考虑使用分区表来提高应用系统的性能并方便数据管理,本文详细介绍了分区表的使 用。在大型的企业应用或企业级的数据库应用中,要处理的数据量通常可以达到几十到几百GB,有的甚至可以到TB级。虽然存储介质和数据处理技术的发展也很快,但是仍然不能满足用户的需求,为了使用户的大量的数据在读写操作和查询中速度更快,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能。(2)使用分区的优点:增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;维护方便:如果表的某个分区出现故障,需要修复数据,只修复该分区即可;均衡I/O 阅读全文
posted @ 2011-03-24 11:47 蓝紫 阅读(6078) 评论(0) 推荐(0) 编辑
long\lob\bfile类型介绍
摘要:long类型介绍1、long类型无法在where子句中使用select * from all_views where test like '%HELLO%'--提示TEST标识符无效--查找使用long型的表和字段select table_name, column_name from dba_tab_columnswhere data_type in ('LONG', 'LONG RAW') AND owner = 'SYS' and table_name like 'DBA%';2、long类型可以在where子 阅读全文
posted @ 2011-03-10 16:49 蓝紫 阅读(2122) 评论(0) 推荐(0) 编辑
DMBS_SQL包介绍
摘要:转自http://hqhe-nj.javaeye.com/blog/427891在PL/SQL程序设计过程中,会遇到很多必须使用动态sql的地方,oracle系统所提供的DMBS_SQL包可以帮助你解决问题。(一)介绍DBMS_SQL系统包提供了很多函数及过程,现在简要阐述其中使用频率较高的几种:function open_cursor:打开一个动态游标,并返回一个整型; procedure close_cursor(c in out integer);关闭一个动态游标,参数为open_cursor所打开的游标;procedure parse(c in integer, statement i 阅读全文
posted @ 2011-03-10 16:39 蓝紫 阅读(818) 评论(0) 推荐(0) 编辑
oracle共享与专用模式的动态转换及区别
摘要:一直没对专用于共享的互换搞清楚,找到了这篇文章http://blog.csdn.net/tianlesoftware/archive/2010/06/26/5695784.aspx,让我实践了一把,确实明白了许多。以下大多是转自该链接的,将其收藏,供以后方便查找学习。共享与专用服务器的区别: 专用服务器(DEDICATED):一个客户端连接对应一个服务器进程 共享服务器(SHARE):多个客户端连接对应一个服务器进程,服务器端存在一个进程调度器来管理。它必须使用netservices.也就是说必须配置tns。它适合用于高并发,事物量小,如果这个时候采用了共享模式,可以大大减少由于高度并发对于O 阅读全文
posted @ 2011-03-08 15:30 蓝紫 阅读(6906) 评论(0) 推荐(0) 编辑
AWR介绍使用
摘要:2011年3月7日自动工作负载库(Automatic Workload Repository,AWR)AWR的由来: 10g之前的oracle:用户的连接将产生会话,当前会话记录保存在v$session中;处于等待状态的会话会被复制一份放在v$session_wait中。当该连接断开后,其原来的连接信息在v$session和v$session_wait中就会被删除;oracle10g及之后保留下了v$session_wait中的这些信息,并多了v$active_session_history(ASH)视图,记录每个活动session在v$session_wait中最近10次的等待事件。 ASH 阅读全文
posted @ 2011-03-07 17:36 蓝紫 阅读(34246) 评论(2) 推荐(2) 编辑
部分索引类型介绍\索引重建否\索引压缩
摘要:2011年3月2日 索引类型:索引键压缩 通过index_stats视图判断索引是否需要压缩: select opt_cmpr_count,opt_cmpr_pctsave from index_stats; --opt_cmpr_pctsave表示压缩后可节省的空间 --opt_cmpr_count表示应该压缩的列数即长度 压缩语法: create index index_name on t1(col1, col2, col3, col4) compress &1;--创建时压缩 alter index index_name rebuild compress &1;--重建时 阅读全文
posted @ 2011-03-02 16:37 蓝紫 阅读(954) 评论(0) 推荐(0) 编辑
自治事务
摘要:2011年2月21日 自治事务autonomous_transactioncreate table t (msg varchar2(25));--自治提交create or replace procedure Autonomous_Insert as pragma autonomous_transaction;begin insert into t values ('Autonomous Insert'); commit;end;--正常的nonautonomous_insert过程create or replace procedure NonAutonomous_Insert 阅读全文
posted @ 2011-02-21 11:52 蓝紫 阅读(688) 评论(0) 推荐(0) 编辑
hint使用
摘要:hint提示的相关介绍参考http://wenku.baidu.com/view/8df8aa68a98271fe910ef9f6.html;http://www.blogjava.net/wxqxs/archive/2008/08/13/221716.html介绍hint的使用之前先了解RBO和CBOOracle的优化器的RBO和CBO方式1、基于规则的优化方式(Rule-Based Optimization,简称为RBO) 优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则,对数据是不敏感的。它只借助少量的信息来决定一个sql语句的执行计划,包括: 1)sql语句本身 2) 阅读全文
posted @ 2011-01-26 16:53 蓝紫 阅读(3260) 评论(0) 推荐(0) 编辑
聚簇表
摘要:2011年1月26日 16:35:06聚簇表介绍 参考http://www.soft6.com/tech/16/163666.html聚簇原理: 聚簇是指:如果一组表有一些共同的列,则将这样一组表存储在相同的数据库块中;聚簇还表示把相关的数据存储在同一个块上。利用聚簇,一个块可能包含多个表的数据。概念上就是如果两个或多个表经常做链接操作,那么可以把需要的数据预先存储在一起。聚簇还可以用于单个表,可以按某个列将数据分组存储。 更加简单的说,比如说,EMP表和DEPT表,这两个表存储在不同的segment中,甚至有可能存储在不同的TABLESPACE中,因此,他们的数据一定不会在同一个BLOCK里 阅读全文
posted @ 2011-01-26 16:37 蓝紫 阅读(3269) 评论(0) 推荐(0) 编辑
常用的一些性能查询sql语句
摘要:常用的一些性能查询sql语句--查看表锁select * from sys.v_$sqlarea where disk_reads>100--监控事例的等待select event, sum(decode(wait_Time, 0, 0, 1)) "Prev", sum(decode(wait_Time, 0, 1, 0)) "Curr", count(*) "Tot" from v$session_Waitgroup by eventorder by 4--回滚段的争用情况select name, waits, gets, w 阅读全文
posted @ 2011-01-21 18:14 蓝紫 阅读(3738) 评论(1) 推荐(1) 编辑
生成Oracle Statpack步骤
摘要:生成Oracle Statpack步骤1、telnet到远程的数据库服务器CMD>telnet 远程数据库的IP2、切换到数据库的用户DQXXDBS01:/> su - oracle3、用超级用户进入数据库$ sqlplus "/as sysdba"4、查看参数,是否可以用job(可以用job进行自动的收集Statpack Report的数据)SQL> show parameter job_queue_processes5、该参数可以收集操作系统的信息SQL> show parameter timed_statistics6、为了创建表空间,表空间的 阅读全文
posted @ 2011-01-17 13:43 蓝紫 阅读(3471) 评论(0) 推荐(0) 编辑
append与nologging的使用
摘要:2011年1月14日select * from v$version;--10.2.0.1.0首先测试非归档下append,nologging,append+nologging的比较1.非归档模式 append,nologging,append+nologging 三种情况数据产生REDO的对比SQL> archive log list数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 567当前日志序列 569create table t as select * from dba_objects where owner= 阅读全文
posted @ 2011-01-14 15:22 蓝紫 阅读(9001) 评论(0) 推荐(0) 编辑
sql的跟踪与Tkprof工具
摘要:2011年1月14日 /2011-12-15增加修改sql跟踪方法介绍 一、sql_trace的介绍--打开trace文件设置,把sql trace设置为true,就会在udump目录中增加一个trc文件。alter session set sql_trace=true;show parameter sql_trace;(select * from v$parameter where name='sql_trace';)修改后不生效呢?show parameter sql_trace;其参数始终是FALSE show parameter sql_trace是从v$paramet 阅读全文
posted @ 2011-01-14 14:21 蓝紫 阅读(2377) 评论(0) 推荐(0) 编辑
oracle发生重启动的介绍
摘要:2011年1月13日 重启动发生的原因:where条件读取时采用一致读和更新时采取当前读版本不一致造成Oracle在执行DML语句时,会用到两种不同的方式去读取数据块:1. 一致读:在“找到”需要修改的数据行时,会采用 consistent read2. 当前读:在“获取”数据块来实际更新数据行时,会采用 current read 如更新这个语句update test set x=1 where y=1;首先Oracle会利用一致读找到所有y=1的数据行,因此就算读取期间有别的会话修改了某一行的y值(如从y=1变为 y=2),Oracle也会利用undo数据将该行的y列恢复到读取的那个时刻的值 阅读全文
posted @ 2011-01-13 16:46 蓝紫 阅读(1243) 评论(0) 推荐(0) 编辑
oracle-锁
摘要:关于锁1、TX锁(事务锁)create table test2 as select * from gwm_attribute where rownum<5;select * from test;update test2 set gwm_ano=gwm_ano+10;--如果有一个更新行没有提交或回滚,执行如下语句就会看到一个lmode为6,request为0的排他锁;如果在另一个会话中又对这个表执行更新,--就会陷入死锁,再执行如下语句就会看到出现两行记录,其中的lmode为0,request为6的就是一个请求排他锁的请求,如果阻止该会话的排他锁提交--或回滚,这个请求行就会消失。sel 阅读全文
posted @ 2011-01-10 14:36 蓝紫 阅读(1490) 评论(0) 推荐(0) 编辑
expdp\impdp及exp\imp
摘要:2011年1月6日数据泵文件expdp介绍EXPDP命令行选项1. ATTACH该选项用于在客户会话与已存在导出作用之间建立关联.语法如下ATTACH=[schema_name.]job_nameSchema_name用于指定方案名,job_name用于指定导出作业名.注意,如果使用ATTACH选项... 阅读全文
posted @ 2011-01-06 15:02 蓝紫 阅读(159085) 评论(5) 推荐(12) 编辑
Oracle表与索引的分析及索引重建
摘要:2010年12月31日 1.分析表与索引(analyze 不会重建索引)analyze table tablename compute statistics 等同于 analyze table tablename compute statistics for table for all indexes for all columnsfor table 的统计信息存在于视图:user_tables 、all_tables、dba_tablesfor all indexes 的统计信息存在于视图: user_indexes 、all_indexes、dba_indexesfor all colum 阅读全文
posted @ 2010-12-31 16:55 蓝紫 阅读(101200) 评论(3) 推荐(5) 编辑

上一页 1 2 3 4 5 下一页