oracle 进程满了,登陆不上数据库的解决方法
sqlplus / as sysdba无法登陆报ORA-00020: maximum number of processes (2000) exceeded解决方法ps aux --sort=start_time|grep oracle_sid | grep -v grepkill 掉很久之前的LOCAL=NO的部分进程并设置sqlnet.oraSQ...
oracle 数据库彻底清除目录脚本
删除目录rm -rf /opt/gridrm -rf /opt/oraclerm -rf /opt/ogridrm -rf /etc/ora*rm -rf /tmp/.oraclerm -rf /var/tmp/.oraclerm -rf /etc/init/oracle-ohasd.confrm -rf /etc/init.d/ohasdrm -rf /etc/init.d/init.ohasd创建目录mkdir -p /opt/grid/products/11.2.0mkdir -p /opt/ogridmkdir -p /opt/oracle...
ASM DG Usable_file_MB和Req_mir_free_MB的含义
REQUIRED_MIRROR_FREE_MB的值代表了ASM用来重新满足磁盘组定义的冗余度所需要的空间,这个值的大小依赖于磁盘组的冗余度和FailGroup失败组的数量。如果有n>2个failgroup的normalDG,REQUIRED_MIRROR_FREE_MB的值等于一个failgroup的大小(如果失败组大小不一致,则以最大的失败组为req_mb大小)如果只有2个failgroup...
关于_rollback_segment_count
某客户添加节点在做dml操作的时候报错,执行不了dml操作,后来经过排查是客户设置了_rollback_segment_count 参数。最佳实践提高Oracle性能设置了_rollback_segment_count 为12000,提前创建好12000个undo段,不用在事务过程中动态的创建undo段,这样可以提高业务事务的性能。通过我们的排查发现Oracle对undo segment的个...
如何 找出未收集统计信息,以及统计信息过期的表
EXEC DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO; SELECT OWNER,TABLE_NAME,OBJECT_TYPE,STALE_STATS,LAST_ANALYZED FROM DBA_TAB_STATISTICS WHERE OWNER='&OWNER' AND TABLE_NAME='&TABLE_NAME';
sqlnet.ora 验证oracle 登陆方式
sqlnet.ora中的NAMES.DIRECTORY_PATH设置[@more@]sqlplus sys/oracle@orcl 假如我的sqlnet.ora是下面这个样子D:oracleproduct10.2.0db_1NETWORKADMIN>type sqlnet.ora# This file is actually generated by netca. But if customers choose to# install "Software Only", this file wont exist and...
ORACLE 逻辑坏块真实案例ORA-01578 ORA-01110
2015年04月15日 某系统由于内存故障导致RAC的B节点发生宕机,在宕机其间tjs1b库由于宕机出现3个坏块,经分析3个坏块为逻辑坏块,共涉及到两个索引的两个分区。对索引分区进行重建完成修复;现象:ORACLE Instance ojs1a (pid = 26) - Error 1578 encountered while recovering transaction (173, 11) on object 4054036....
查看锁 哪个绘画阻塞了哪个绘画
查看锁 哪个绘画阻塞了哪个绘画select /*+no_merge(a) no_merge(b)*/ (select username from v$session where sid = a.sid) blocker, a.sid, 'is blocking', (select username from v$session where sid = b.sid) blockee, b.sid from v$lock a, v$lock b where a.block = 1&...
NESTED_TABLE_SET_REFS hint
NESTED_TABLE_SET_REFS hint 是 相当于数据泵的操作 expdp 、impdp的操作INSERT /*+NESTED_TABLE_SET_REFS+*/ 一个Oracle未公开的hint提示出现了我的面前,再看这个session对应的后台应用,原来是一个export操作,以前还真没注意过,到metalink上查到了如下的解释:This hint specifies that nested tables should...
DBLINK HINT /*+ driving_site(org) */ 优化策略和思路
使用DBLINK远程访问数据库的优化策略和思路:思路1:在远端建立视图;出现这种执行计划,主要原因是使用了db link,要想看到执行计划,可以加 hint,如: /*+remote_mapping(db_link)*/或/*+driving_site(table_name)*/ 用法: /*+driving_site(table_name)*/ : t...
在dg库上搭建ogg
备注: Oracle DG (主->备库1->备库2) 级联方式
inser 提高插入的速度
我们可以使用直接路径的方式插入数据,绕过sga,但是直接路径的方式不会共享数据,也可以将在插入的时候关闭日志,提高插入的速度,但对于数据而言安全性回降低。以下是实验:SQL> drop table t purge;Table dropped.SQL> create table t as select * from dba_objects where 1=2;Table created.----普通插入...
oracle全局临时表的特性
全局临时表有两种模式,一种是基于会话级别的,会话与会话之间的数据是隔离的,当会话段掉,数据将清空,另一种基于事务级别的,当执行commit或者rollback 数据将清除,全局临时表使用的是临时表空间的位置。-构造基于SESSION的全局临时表(退出session该表记录就会自动清空)drop table ljb_tmp_session;create globa...
count 列存放的位置,越往后开销的cpu越大
最佳字段顺序(结论:越往后的列访问CPU开销大)验证脚本1 (先构造出表和数据)SET SERVEROUTPUT ONSET ECHO ON---构造出有25个字段的表TDROP TABLE t;DECLARE l_sql VARCHAR2(32767);BEGIN l_sql := 'CREATE TABLE t ('; FOR i IN 1..25 LOOP l_sql := l_sql |...
表的连接顺序是否很重要
SQL> create table tab_big as select * from dba_objects where rownum set autotrace traceonlyset linesize 1000set ti...
11g oracleexits 与in 之争
SQL> create table emp as select * from scott.emp;Table created.SQL> create table dept as select * from scott.dept;Table created.SQL> set timing onSQL> set lines 20000SQL> set autot onSQL> select * from dept where deptno NOT IN ( select deptno from emp ) ; DEPTNO ...
性能优化------count(*)与count(列)哪个更快
构造数据SQL> drop table t purge;Table dropped.SQL> create table t as select * from dba_objects;Table created.SQL> set timing onSQL> set autot onSQL> select count(*) from t; COUNT(*)---------- 86362Elapsed: 00:00:00.03Execution Plan------------------...
oracle表碎片以及整理(高水位线)
确定碎片程度 SELECT table_name, ROUND ( (blocks * 8), 2) "高水位空间 k", ROUND ( (num_rows * avg_row_len / 1024), 2) "真实使用空间 k", ROUND ( (blocks * 10 / 100) * 8, 2) "预留空间(pctf...