Oracle ACE,腾讯云TVP,墨天轮MVP,Oracle 10g/11g OCP,11g OCM,Exin DevOps Master,OCMU成员,Oracle YEP成员,微信公众号:bisal的个人杂货铺
今天一名新员工问在win7 64bit安装Oracle 10g Server时第一步就报错的问题。 双机setup.exe,一个黑屏闪过,在界面中输入SYS等的用户名密码以及安装路径后下一步,直接报“未知”的错误。
昨天碰到了一个很奇怪的事情,在11.2.0.3的$ORACLE_HOME/lib中使用sqlplus时提示Segmentation Fault (Core Dump),第一次碰到,看了MOS的一些文章,貌似都会有ORA的报错,但core文件在哪里呢...
一个测试库,11g,没有sys账户,无法用show parameter dump查看alert日志的路径,以前也碰到过,但后来就不了了之了。这次深挖下,也参考了下一些网上的帖子,于是找到了: $ORACLE_HOME/rdbms/sid/sid/t...
看到这篇帖子提到一个ORA-12519的问题处理: http://blog.csdn.net/diguoguo/article/details/6185536 oerr的解释: 12519, 00000, "TNS:no appropriate...
周一夜间进行了一次XX业务相关的数据库表优化。 原因: 一共4张表,数据量不大,最小的40万记录,最大的300万,大小不超过300MB。但由于历史原因,表没有建立索引,对应的服务使用的SQL千姿百态,修改起来难度有点大,容易改错,涉及的全国客户较多,大部分都是全表扫描,在秒级的响应时间,但大多客户还能忍着。
如果问题是一个正运行的缓慢的查询SQL,那么就应该对该查询进行调优,避免它耗费过高的CPU资源。如果它做了许多的hash连接和全表扫描,那么就应该添加索引以提高效率。
Oracle(用户)进程 以下这些操作都是需要消耗大量CPU资源的:解析大型查询,存储过程编译或执行,空间管理和排序。 下面这几篇文章可以帮助采集关于使用高CPU资源的进程的更多信息: Note:352648.
Jobs (CJQ0, Jn, SNPn) Job进程运行用户定义的以及系统定义的类似于batch的任务。检查Job进程占用大量CPU资源的方法,就像检查用户进程一样。
从毕业到现在工作已经4年了,入职前去过私企,干过外企,当前到了国企,各有各的不同,对于不同的人,有不同的适合的选择。 这几年的工作中也积累了不少知识,业务上的、技术上的,但始终觉得没有掌握一门核心,没有较强的核心竞争力,我不是一个有天赋的人,但也...
LGWR & DBWR 这两个进程通常是和IO相关的,但是当存在操作系统问题,这两个进程可能"spin(等待)"直到IO操作完成。这种等待是一种CPU操作。
当一个进程使用大量CPU资源时,需要查找哪些线索呢? 哪些进程在使用CPU? 后台进程 Oracle用户进程 和Oracle无关的操作系统进程 僵尸进程 后台进程: PMON: 当清理进程或在监听注册时,PMON进程占用CPU较高资源的主要原因可能是某个BUG。
这篇文章的目的是帮助寻找消耗CPU较高的Oracle进程。 高CPU应用不一定就是问题,或者说系统资源正在被充分利用。然而,如果CPU使用持续高,但系统负载低、系统性能差,那么就应该调查下CPU高使用率的原因。
使用SQL 查看Shared Pool问题 这一章节展示了一些可以用来帮助找到shared pool中的潜在问题的SQL语句。这些语句的输出最好spool到一个文件中。
以下内容介绍从Oracle 8引入的‘Large Pool’。 什么是Large Pool(翻译过来叫“大池”)? 大池是SGA中一块类似于shared pool的区域,但是它的使用又有严格的限制,仅有几种类型和大小的内存能够在这个池中分配。
Flushing(清空) SHARED POOL 在使用大量literal SQL的系统中,shared pool随时间推移会产生大量碎片进而导致并发能力的下降。
减轻Shared Pool负载 Parse一次并执行多次 在OLTP类型的应用中,最好的方法是只让一个语句被解析一次,然后保持这个cursor的打开状态,在需要的时候重复执行它。
下面来谈一谈系列1中讲到的Literal SQL和Shared SQL的比较。 首先是Literal SQL: 在有完整的统计信息并且SQL语句在predicate(限定条件)中使用具体值时,基于成本的优化器 (CBO)能工作的最好。
一个简单的sequence有什么可以说的呢?如果再这样认为就大错特错了。。。 也许以下几点高人们都很清楚,但至少对于我来说,之前是陌生的,或者说是忽略的。
INDEX Skip Scan,也就是索引快速扫描,一般是指谓词中不带复合索引第一列,但扫描索引块要快于扫描表的数据块,此时CBO会选择INDEX SS的方式。
什么是Shared Pool? Oracle的实例主要包括共享内存(主要是SGA,还有PGA)和Background Processes,其中SGA中又包括了Shared Pool、Buffer Cache、Redo Log Buffer以及其它一些内存区。
序列有四种组合: a. CACHE + NOORDER b. CACHE + ORDER c. NOCACHE + NOORDER d. NOCACHE + ORDER 即使在单例配置下,当有大量的sequence需要产生的时候,性能压力和存储sequence值的行锁定代价相关。
LGWR Is Generating Trace file with "Warning: Log Write Time 540ms, Size 5444kb" In 10.
今天有个AWR的问题,分析后找@dbsnake答疑,我的分析是表象的,没有抓住问题实质,@dbsnake老大给出了准确的解释,差距啊。。。不过这样才有动力继续努力,这次不会,还能总不会啊? 备注:AWR中等待事件,例如db file scattered read或log file sync,一般来讲小于20ms都认为是可以接受的,当然也要取决于底层的硬件设备以及应用,但至少有个参考值。
Oracle 9i执行Stackpack(10g是AWR),当前是一个普通账户,没有DBA权限。 SQL> @awrrpt.sql Current Instance ~~~~~~~~~~~~~~~~ v$instance i ...
杨大师(http://space.itpub.net/4227/viewspace-663069)介绍过TWO_TASK环境变量的作用,指出“在Unix和Linux环境下,可以设置TWO_TASK环境变量,当用户连接数据库且没有指定服务名时,会自动利用TWO_TASK的设置作为环境变量连接数据库。
1、将index key的data读到cache。如果之前这部分数据未读到DB Cache,那么此时可能有db file scatter read write的等待事件。
执行 SQL> create or replace view redo_size as 2 select name, value from v$statname n, v$sesstat t, v$session s 3 where s.
Oracle插入记录的顺序是否是读取的顺序? 通过一个简单的实验验证: SQL> create table t ( x int, a char(2000) default 'x', b char(2000) default 'x', c char(2000) default 'x'); Table created.
看到ASK TOM的一篇文章,挺有感触的。 http://asktom.oracle.com/pls/apex/f?p=100:11:0::::P11_QUESTION_ID:32812348052 主要问的是ROWNUM的问题。
之前看过老杨http://yangtingkun.itpub.net/post/468/231000的一篇文章,讲述了INSERT操作对全文索引无操作,但DELETE时为了防止删除的数据仍能通过索引的ROWID访问产生的错误,此时会进行索引的删除操作,因此大批量的DELETE-COMMIT就会耗时,甚至导致数据库挂起。
用非dba账号(但赋予了DBA角色)登录一个新的10g数据库想看下版本号, SQL> desc v$instance; ERROR: ORA-04043: object "SYS"."V_$INSTANCE" does not exist 奇怪,之前有个9i的库,同样的账号就可以查看呢??? 分析: 这里显示的是"SYS"."V_$INSTANCE"对象不存在,我们知道,当账户没有某个对象的权限时,查询该对象,可能返回的就是对象不存在的错误(我觉得有时还是有点歧义,或者说有点误导的)。
LGWR的一些理解: LGWR,是Log Writer的缩写,也是一种后台进程。主要负责将日志缓冲内容写到磁盘的在线重做日志文件或组中。DBWn将dirty块写到磁盘之前,所有与buffer修改相关的redo log都需要由LGWR写入磁盘的在线重做日志文件(组),如果未写完,那么DBWn会等待LGWR,也会产生一些相应的等待事件(例如:log file prarllel write,后面单独作为话题再聊)。
对DBWR的一些理解 首先从名称上,DBWR全称是Database Writer Process,属于Oracle后台进程的一种,有的地方也叫DBWn,我想这里是出于DBWR进程个数的原因,DBWR进程在一个Oracle Server中可以最多有...
Oracle体系结构中经常看到LRU算法,Least Recently Used,也有叫“最近最少使用页面置换算法”,简单讲,Oracle会将内存中最近不用的数据库移出内存以腾出空间来加载另外的数据。
Sys建立show_space()和show_space_asm()。 Bisal执行提示: SQL> exec show_space('MY_OBJECTS', 'BISAL'); BEGIN show_space('MY_OBJECTS', '...
@dbsnake大拿的一个示例: SQL> show parameter limit NAME TYPE VALUE ------------------------------------ ----------- -----------...
刚才打开一个别人的测试库,用root登陆了的,sqlplus / as sysdba竟然报错,奇怪,于是在自己的VM中模拟该过程。 新建了一个test用户: [test@liu bin]# ./sqlplus Error 6 initializing SQL*Plus Message file sp1.msb not found SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory 需要设置ORACLE_HOME环境变量。
最近有个测试库刚出现的情况,现象: 以前一直未出现过这种状态: 有的应用(这里部署的应用有100多个,且都是Tuxedo长连接数据库 的应用)每天第一次执行时报:ORA-02396: exceeded maximum idle time, please connect again 过段时间会有应用报错:ORA-02391: exceeded simultaneous SESSIONS_PER_USER limit,此时也无法登录数据库了。
create table my_objects as select * from all_objects; commit; select count(*) from my_objects; COUNT(*) ---------- 8587 delete from my_objects; 8587 rows deleted.
问题: 1、新建一个表结构,创建索引,将百万或千万级的数据使用insert导入该表。 2、新建一个表结构,将百万或千万级的数据使用isnert导入该表,再创建索引。
SQL> desc t_PRIMARY; Name Null? Type ----------------------------------------- ---...
Oracle10g: create table t_count as select * from dba_objects; create index t_count_i on t_count(object_id): 分别用: select count(*) from t_count; select count(object_id) from t_count; select count(object_name) from t_count; 查看是否使用索引对count查询性能起到作用。
从回收站中恢复表后,索引也会自动恢复,但索引的名称仍是回收站中的26位标识,不会改为原始名字,可以使用alter index修改索引名,但需要注意的是因为标识中带有特殊字符,需要用""括起来。
很久没打开EM了,打开后今天出现这个报错: SQL> select username, account_status from dba_users; USERNAME ACCOUNT_STATUS ---------------...
谭老师的《Oracle 10g 性能分析与优化思路》第六章hint部分介绍:举例:create table t(id int);create index t_idx on t(id); SQL> select /*+ index(t t_idx...
[现象]: Sys账户给bisal账户的t_emp表创建public同义词,bisal用户可以访问t_emp_syn,但scott账户无法查询,select ... t_emp_syn提示表或视图不存在。
http://www.oracle.com/technology/tech/oci/instantclient/index.html下载: oracle-instantclient-basic-10.2.0.4-1.i386.zip oracle-instantclient-sqlplus-10.2.0.4-1.i386.zip 先创建客户端的安装目录,这两个目录可以自定义,但配置环境变量时,需要一致。
从2012年8月6号开始证书以电子版为主,也可以申请要纸质的: http://education.oracle.com/certificaterequest.
今天刚刚参加完OCP考试,回到家,打开网,刚好看到邮件,都过了,有意料之中的,也有意料之外的,趁着热劲儿,小结或总结一下,也算留个纪念。 我是2月初听了恩墨侯老师的一次公开课,打了鸡血后,渐渐打算准备OCP认证的,报了恩墨的OCP班,因为工作太忙了,从3月中旬才开始跟班,SQL部分没听到,从管理I开始听的,每周六周日,可以说是个煎熬,唯一庆幸的是上课地点就在我家边上,走路五分钟,呵呵,能够多一点睡眠。
前两天同事碰到一个问题,10g版本下执行: select /*+ no_index(t1 idx_t1) */ * from t1 where n=3; select * from table(dbms_xplan.