oracle
文章平均质量分 66
thinkpadshi
这个作者很懒,什么都没留下…
展开
-
PL/SQL DEVELOPER 使用的一些技巧
1,登录后默认自动选中My Objects 默认情况下,PLSQL Developer登录后,Brower里会选择All objects,如果你登录的用户是dba,要展开tables目录,正常情况都需要Wait几秒钟,而选择My Objects后响应速率则是以毫秒计算的。Tools菜单 --> Object Brower Filters,会打开Brower Folders的定单窗口转载 2013-04-22 18:18:43 · 1090 阅读 · 0 评论 -
oracle笔记整理10——性能调优之临时表与物化视图
1. 临时表1) 概念a) 临时表跟永久表最大的区别就是表中的数据不会永远的存在b) Oracle临时表分为会话级临时表和事务级临时表。c) 会话临时表,结束或中断会话时清空数据。create global temporary table XXX()on commit preserve rows;d) 事务临时表,commit之后清空数据。on commit delete rows;原创 2016-01-14 11:28:41 · 6187 阅读 · 0 评论 -
oracle笔记整理9——性能调优之索引、表分区、索引分区
1. 索引1) 需要建索引的列a) where从句中频繁使用的关键字。 b) sql语句中频繁用于表连接的字段。 c) 可选择性高(重复值少)的字段。2) 索引限制条件a) where条件中索引列上使用了否定操作符(比如:<>,!=,is null,is (not) null),将不会使用索引,直接全表扫描,此时可以把部分否定操作符换成or形式或者union all的形式来执行。 or原创 2016-01-14 11:22:54 · 2996 阅读 · 0 评论 -
oracle笔记整理8——生产批量操作语句、oracle系统包、创建用户并授权、变量属性
1) 生成批量操作语句select ‘drop table’||t.table_name||’;’from user_tables t where t.table_name like ‘LC_%’; 或者也可以用for循环来替代实现;2) oracle系统包a) 分析统计表信息dbms_stats.gather_table_stats(‘用户名’,’表名’);b) 停止视图化jobdbms_s原创 2016-01-02 15:01:24 · 981 阅读 · 0 评论 -
oracle笔记整理7——with as、case when、merge into、分析函数over()
1) with asa) WITH AS短语,也叫做子查询部分(subquery factoring),可以定义一个SQL片断,该SQL片断会被整个SQL语句所用到。b) 当查询中多次用到某一部分时,可以用Oracle with语句创建一个公共临时表。因为子查询在内存临时表中,避免了重复解析,所以执行效率会提高不少。临时表在一次查询结束自动清除。c) 应用:需多次调用;union all中;d原创 2016-01-02 14:57:45 · 5176 阅读 · 0 评论 -
oracle笔记整理6——常见函数、scott解锁、length与lengthb、char与varchar
1) 常见函数a) 当月最后一天:last_day(sysdate)b) trunc(sysdate,’yy’):当年第一天 trunc(sysdate,’mm’):当月第一天 trunc(sysdate,’dd’):当前时间,精确到日 trunc(sysdate,’d’):上周末 trunc(sysdate,’hh’):当前时间,精确到小时 trunc(sysdate,’mi’):当原创 2016-01-02 14:52:39 · 757 阅读 · 0 评论 -
oracle笔记整理5——delete与truncate,rowid与rownum,删除重复记录
1) delete与truncatea) delete一行一行删除,并且记录日志,truncate释放用于存储表数据的数据页(extent)来删除数据,在日志中只记录页的释放,故无法rollback,也无法flashback,从物理结构上来说,truncate之后,表所在的段头信息(segment header)被摧毁,导致段-区-数据块之间的路径被截断,无法查询到数据块上的数据,感觉就跟删除了一原创 2016-01-02 14:45:09 · 2821 阅读 · 0 评论 -
oracle笔记整理16——表空间利用率、锁表、锁包、dbms_job操作
1.表空间使用率查询语句select * from (select a.TABLESPACE_NAME Tablespace_Name, sum(a.bytes / 1024 / 1024) total_size, sum(nvl(b.free_space1 / 1024 /原创 2016-01-18 18:40:46 · 1282 阅读 · 0 评论 -
ORA-1555,oracle读一致性
ORA-1555通常是一个偶然出现的错误。有时在发生了该错误以后,重新运行该任务就有可能不再碰到类似的错误。这个错误最麻烦的是它并不会立刻发生,运行时间长的任务在错误失败以前可能已经运行了一段时间了(可能几个小时)。只是简单地重新运行该任务并不能保证它能成功,可能在运行了一段时间以后仍然失败。 1 原因分析 ORA-1555错的根本原因是因为oracle要保证读一致性。读一致性是指当有多个用户对转载 2015-12-16 20:35:53 · 1277 阅读 · 0 评论 -
oracle笔记整理15——性能调优之trace文件跟踪
1) sql_trace方式a) show parameter sql_trace;–查看trace状态,默认为falseb) alter session set sql_trace=true;–修改为truec) exec sql;–运行sql语句d) alter session set sql_trace=false;–恢复回false状态e) show parameter dump_原创 2016-01-16 23:09:50 · 2952 阅读 · 0 评论 -
oracle笔记整理14——性能调优之oracle执行计划
1) 优化器(optimizer)a) RBO(rule-based optimizer)方式:基于规划的优化方式 所遵循的是oracle内部预定的一些规则.b) CBO(cost-based optimizer)方式:看语句的执行代价(cost),这里的代价主要指cpu和内存。 优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。原创 2016-01-16 22:59:00 · 3561 阅读 · 0 评论 -
oracle笔记整理12——性能调优之hint标签
提示里不区分大小写, 多个提示用空格分开; 如果表使用了别名, 那么提示里也必须使用别名;1) 优化器相关hinta) /+ALL_ROWS/ 表明对语句块选择基于cost的优化方法,并获得最佳吞吐量,使资源消耗最小化b) /+FIRST_ROWS/ 表明对语句块选择基于cost的优化方法,并获得最佳响应时间,使资源消耗最小化.c) /+CHOOSE/ 表明如果数据字典中有访问表的统原创 2016-01-16 21:58:23 · 989 阅读 · 0 评论 -
oracle笔记整理11——性能调优之oracle等待事件与表关联
1. oracle等待事件1) 分类主要分为两大类:空闲(idle)等待事件和非空闲(non-idle)等待事件,在会话级别可以在视图V$SESSION_WAIT中查看当前等待的时间。2) 空闲事件空闲事件指oracle正等待某种工作,不用过多关注。 常见的空闲等待事件:dispatcher timer,pipe get,slave wait, sql net message from/to c原创 2016-01-16 21:52:13 · 1023 阅读 · 0 评论 -
oracle笔记整理4——创建非视图化job
1) 创建jobdeclare job number;begin sys.dbms_job.submit(job,’pro_name’,sysdate,syadate+1);end;sys.dbms_job.submit(编号,过程块,首次时间,下次时间);2) 查看jobselect * from dba_jobs;原创 2015-12-29 16:27:57 · 605 阅读 · 0 评论 -
oracle笔记整理3——commit,rollback,flashback
1. commit和rollback1) commit之前a) 困难的工作已经完成,数据已经修改,99%的工作已经完成。 b) 已经在SGA中生成了undo块 c) 已经在SGA中生成了已修改数据块。 d) 已经在SGA中生成了对于前两项的缓存redo。 e) 已经得到了所需的全部锁。原创 2015-12-29 16:22:59 · 1349 阅读 · 0 评论 -
oracle笔记整理2——redo与undo
1. redo和undo1) redoa) 也就是重新做的意思,当系统发生故障时重新做。 b) oracle日志文件分为重做日志文件(Redo Log File)和归档日志文件。 c) 由于数据库缓冲,对磁盘数据的更新不是实时的,但是对redo日志的更新会在commit之后确切发生。 d) 如果在事务提交之后,磁盘数据更新之前,系统发生故障,比如断电,系统重启之后会将那些已经写入red原创 2015-12-29 16:19:18 · 2319 阅读 · 0 评论 -
oracle笔记整理1——数据库结构
1. oracle结构1) 体系结构a) oracle实例 实例,instance,是一个非固定,基于内存的进程和内存结构。 b) oracle数据库 数据库,database,固定的,基于磁盘的数据文件、日志文件、控制文件的等。 c) oracle服务器 数据库各软件(如:sqlplus)、数据库实例、数据库3部分。 d) oracle实例启动流程 控制文件存放有数据文件、日原创 2015-12-29 16:02:30 · 722 阅读 · 0 评论 -
oracle笔记整理13——性能调优之SQL优化
1) 3种游标循环性能a) 单条处理declare cursor 游标 isbeginopen 游标;LOOP FETCH 游标 INTO 变量;EXIT WHEN 条件;END LOOP;CLOSE 游标;end;逐条处理,效率之低,不敢想象。b) 批量处理declare cursor 游标 isbeginopen 游标;FETCH 游原创 2016-01-16 22:47:37 · 1094 阅读 · 0 评论