ORACLE之个人成长记录
文章平均质量分 51
DreamLLOver
这个作者很懒,什么都没留下…
展开
-
共享锁和排他锁
共享锁(S锁):共享 (S) 用于不更改或不更新数据的操作(只读操作),如 SELECT 语句。如果事务T对数据A加上共享锁后,则其他事务只能对A再加共享锁,不能加排他锁。获准共享锁的事务只能读数据,不能修改数据。排他锁(X锁):用于数据修改操作,例如 INSERT、UPDATE 或 DELETE。确保不会同时同一资源进行多重更新。如果事务T对数据A加上排他锁后,则其他转载 2016-06-03 11:18:13 · 7378 阅读 · 0 评论 -
网络问题有台集群节点起不来
1.上周发现有集群数据库其中一台节点启动不起来,查看告警日志分析由于ora_crs_dg 资源所相关的进程有问题导致,ASMB进程启动后又自动kill了 2.查看集群日志发现:应该是cssd进程出了问题。 3.查看详细日志ocssd.log,but no network HB 从这看出可能是心跳线有问题 4.看到相关网卡配置,发现IP和配置的不一样。...原创 2017-09-25 11:00:21 · 985 阅读 · 0 评论 -
Oracle之SQL语句性能优化(34条优化方法)
Oracle之SQL语句性能优化(34条优化方法) 好多同学对sql的优化好像是知道的甚少,最近总结了以下34条仅供参考。(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表 driving table)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数...转载 2017-11-16 16:02:00 · 501 阅读 · 0 评论 -
关于 db block gets,consistent gets,physical reads的概念
在Oracle的文档中有这样的解释:Recursive Calls: Number of recursive calls generated at both the user and system level.Oracle Database maintains tables used for internal processing. When it needs to change these ...转载 2017-04-27 09:13:11 · 567 阅读 · 0 评论 -
oracle 11g 表查询慢优化过程
今天维护数据库时发现有条sql查询很慢,用set autot 发现是走upload_date字段索引的,当细致查下来发现其实并没有走索引。通过10046事件,发现走的是全表扫描:从下面看出wait主要放映在 direct path read 该等待事件是ORACLE 11G的新特性。Oracle Database 11g中有一个新特性,全表扫描可以通过直接路径读的方式来执行(Direct ...原创 2016-12-27 16:46:26 · 5990 阅读 · 0 评论 -
理解什么是游标,什么是指针
游标(cursor) 是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录,并赋给主变量,交由主语言进一步处理。 主语言是面向记录的,一组主变量一次只能存放一条记录,仅使用主变量并不能完全满足SQL语句向应用程序输出数据的要求。嵌入式SQL引入了游标的概念,用来协调这两种不...原创 2016-05-28 11:02:40 · 5987 阅读 · 0 评论 -
哪些是真实的执行计划?
Oracle数据库里通常可以使用以下四种方法来得到目标SQL的执行计划:Ø Explain plan for SQLØ Sqlplus autotraceØ Sql trace(10046)Ø DBMS_XPLAN 在这四种方法中,只有10046事件看到的执行计划是准确无误的,其他三种执行计划都有可能是不准确的。在ORACLE数据库中执行计划是否准确,主要...原创 2016-05-23 13:16:40 · 1461 阅读 · 0 评论 -
初学者之ORACLE生成执行计划
1.Explain Plan For SQL该方法不是SQL语句实际执行后所产生的执行计划,是根据统计信息估算的执行计划,信息来自plan_table。SCOTT@orcl>explain plan for selecte.ename,e.sal,d.loc,d.deptno from emp e,dept d where e.deptno=d.deptno;SCOTT@orcl...原创 2016-05-22 14:46:01 · 2461 阅读 · 0 评论 -
sqlplus插入中文字符集问题和ORA-01756 quoted string not properly terminated
实验环境:ORACLE11G、linux5.61.进入sqlplus 创建对应的表,插入相关值(包含中文) 2.插入完后,查询该表发现全是乱码 3.查询出当前数据库的字符集信息 4.修改当前用户环境变量,添加NLS_LANG oracle客服端字符环境变量,将该变量和数据库设置成一致。 5.激活当前环境变量,使其生效。 6.在次查询发...原创 2017-09-11 11:01:52 · 8741 阅读 · 0 评论 -
rollup函数测试使用
自动汇总函数rollup使用: 求单个部门工资总和: 加个union all 就能得到一张报表形式的表数据: 数据类型不一样,所以union all 不能使用 使用to_char转下,得出了报表示的结果。 使用:rollup函数这里使用to_char转了以后,但数据库不认为为空,所以Total没有显示进去,这里主要就是介绍...原创 2016-12-13 14:33:57 · 1169 阅读 · 0 评论 -
安装RAC数据库时发现不了ASM磁盘
在安装RAC数据库时,数据库发现不了ASM磁盘。 数据库无法发现ASM磁盘 导致这次的主要原因是grid下目录中有个oracle文件被我改了权限。 最后chmod 6751 oracle 将权限改了会来 这是节点2下grid目录下oracle文件的权限。 接着RAC数据库就发现了ASM磁盘 ...原创 2017-04-06 10:12:22 · 1938 阅读 · 0 评论 -
sql性能优化VW_NSO_1走NSETED LOOPS
近期在工作中发现某项目中有个模块查询效率很低,应要求优化这条sql。1.根据模块找到对应的sql,查看其执行计划发现如下:2.看了执行计划后发现,第一个HASH JOIN 用了大部分时间 因两张表数据量都是200W 左右。200W的全表扫描然后做HASH JOIN 暂用了大部分时间。3.然后根据sql 看了后,然后实验了后,发现VW_NSO_1结果集很小,如果先河BK_DEPLOY...原创 2017-09-25 10:10:44 · 760 阅读 · 0 评论 -
ORA-20011 ORA-29913 KUP-11024
1.最近迁移了一台数据库,但没多久后发现新迁移的数据库告警日志中一直报错,错误如下:2.数据库版本如下:3.从上面错误日志中可以看到,应该是每天晚上数据库自动收集统计信息时候报错。具体得看详细的trace文DBMS_STATS: GATHER_STATS_JOB包是数据库做统计信息使用的数据库包,时间发生在22:00,数据库每天都在做自动的统计信息收集,时间为平时22:00–2原创 2017-09-29 09:34:22 · 2490 阅读 · 1 评论 -
论ORACLE 9i 的体系图为什么这么金典
为什么ORACLE9i OCP官方教程的体系图这么金典原创 2016-05-20 15:57:02 · 799 阅读 · 0 评论 -
Oracle 区(Extent)头块简介
查询BOOTSTRAP$表,其头块编号是377号,有一个区,默认分配的8个块,则其他7个块分别是378,379,380,381,382,383,384(注ORACLE版本是10.2.0.5.0)BOOTSTRAP$ 可以说是ORACLE数据库启动的引导程序下面是查询BOOTSTRAP$ 表所有的数据对应的数据块,381,382,383,384由于数据量少所以还没有进行分配原创 2016-12-06 09:59:36 · 2619 阅读 · 0 评论 -
ora-7451
昨天发现数据库后台日志报错,错误原因如下:官方错误原因:07451, 00000, "slskstat: unable to obtain load information."// *Cause: kstat library returned an error. Possible OS failure// *Action: Check result code in s原创 2016-12-07 16:26:34 · 809 阅读 · 0 评论 -
FILE I/O 错误
2017年1月23日,一个RAC集群数据库其中一个节点告警日志报如下错误:该错误并没有导致数据库挂掉从该日志中发现是读取磁盘文件镜像IO错误。对应的磁盘是/dev/rdisk/disk89。更具查询得出该磁盘是一块数据盘查看磁盘状态,没有发现异常查看更详细的跟踪日志,找到对应的session id,根据该id找到对应的进程,看是哪个进程导致的原创 2017-02-06 14:03:31 · 1952 阅读 · 0 评论 -
oracle11gR2的数据库示例用户安装说明
在Oracle10g中,如果我们在创建实例时没有选择安装示例,那么在创建实例之后,还可以通过$ORACLE_HOME/demo/schema 下的脚本来创建。关于具体的创建方法,官方文档有详细的说明: SampleSchema Scripts and Object Descriptions http://download.oracle.com/docs/cd原创 2017-02-06 14:52:57 · 3373 阅读 · 0 评论 -
我遇到ora-01624和RMAN-06026 错误分析与解决
我们知道当前redo损坏是最麻烦的,操作出错,就容易出现问题,只能使用备份还原在恢复,是相当耗时耗力的。如下:该错误是由于当前日志损坏,并且直接shutdown abort 造成当前日志无法清理。只能还原了。由于是整库还原,所以我把控制文件也一起还原了,其中有一点的是:使用 restore controlfile from autobacku原创 2017-03-15 09:43:55 · 1271 阅读 · 0 评论 -
ORACLE数据库参数文件大小写辨别
设置环境变量ORACLE_SID=DG,新建pfile文件initDG.ora(注:但里面不编写任何参数。)启动数据库到nomount状态,发现无法启动报错。(由于参数文件中没有任何参数所以报错。)现在编辑一个参数db_name(有了这个参数就可以启动数据库了,这个参数是告诉这个实例数据库叫什么名字),这里要注意,实例名字是由ORACLE_SID和initXXX原创 2017-04-06 10:05:12 · 2105 阅读 · 0 评论 -
跟我一起学Oracle 11g【1】----基础回顾(三大范式)
跟我一起学Oracle 11g【1】----基础回顾2012-07-09 15:21 by 随风浪迹天涯, 2356 阅读, 22 评论, 收藏,编辑好吧,我也未能免俗,因为在公司的年终目标上写了要学习Oracle,今天开始Oracle,给大家温过知新一下吧!不会砸我把!~嘎嘎。其实,说真的,我很不想写理论这方面的,可是为了一个系列的完整性,我还是硬着头皮写吧。我会尽量转载 2012-11-13 10:09:44 · 947 阅读 · 0 评论 -
ORACLE_SID和initXXX.ora的关系
ORACLE_SID所设置的参数是影响initXXX.ora的。从实验中看出,ORACLE_SID=OMR ,新建的参数文件为initomr.ora 设置的是小写(证明大小写有区别),db_name设置为oms 证明数据库名可以和实例名字不一样。先启动数据库,发现报错,ORACLE_SID是大写的OMR,则initXXX.ora 必须是大写。改成大写原创 2017-05-19 10:26:11 · 1005 阅读 · 0 评论 -
OGG配置单向复制
源操作系统和目标操作系统:数据库版本OGG版本第一步,配置源端,目标端操作系统环境变量,建立OGG用户源端create tablespace ogg_t datafile '/u01/app/oracle/oradata/PROD1/ogg_t01.dbf' size 50m autoextend on;create user ogg identified b...原创 2018-05-03 15:03:42 · 1201 阅读 · 0 评论