Oracle 10053事件内部原理与测试
http://www.itpub.net/thread-1766506-1-1.html[@more@]http://www.itpub.net/thread-1766506-1-1.html
abde
abdeeefe
imp 命令参数
imp 命令参数index=n 不导索引 commit=y 以buffer数量为单位提交.如果多数据量小使用N.这样提交会以表为单位 .保证数据一致性buffer=1000000 imp userid='/ as sysdba' full=y rows=n indexes=n Constraints=y grants=y buffer=10240000 ignore=y commit=y feedback=10000 file=exp_meta_001.dmp, exp_meta_002.dmp, exp_meta_003.dmp log=imp_f.log statistics=Noneimp 导完 没反应 imp的session 显示空闲等待 single-task message 也不能用alter system kill session终止 只能用kill -9PURPOSE-------Getting 10046 Trace for Ex
导出当天的sql文本
新来上班,想看看数据库都跑些什么sql.就写了一个匿名包跑了下.declare f utl_file.file_type; buffe varchar2(30000); offest int := 1; amount int;begin f := utl_file.fopen('TEST', 'aa.sql', 'w', 30000); for x in (select sql_fulltext, last_load_time from v$sql where to_date(last_load_time, 'yyyy-mm-dd/hh24:mi:ss') > trunc(sysdate) order by 2) loop amount := dbms_lob.getlength(x.sql_fulltext); dbms_lob.read(x.sql_fulltext, amount
vmstate 命令
Procs r: The number of processes waiting for run time. 等待CPU的进程数 b: The number of processes in uninterruptible sleep. 不可中断睡眠的进程数 Memory swpd: the amount of virtual memory used. free: the amount of idle memory. buff: the amount of memory used as buffers. cache: the amount of memory used as cache. inact: the amount of inactive memory. (-a option) active: the amount of active memory. (-a option) Swap si: Amount of memory swa
sql trace追踪会话
EXECUTE DBMS_MONITOR.SESSION_TRACE_ENABLE(573,63285) EXECUTE dbms_monitor.session_trace_disable(573,63285); 今天想看看pl sql developer里面怎么运行sql的,跟踪了下,没发现什么.原想着它可能是用的/*+firstrow(30)*/ 这样的提示的.[@more@]
统计信息的收集
手动收集DBMS_STATS.GATHER_TABLE_STATS ( ownname =>'CMS', tabname =>'T_FULLWHT', cascade =>true);自动收集可查询如下表:dba_scheduler_windowsSELECT owner,job_name,state,last_start_date,last_run_duration,failure_countFROM dba_scheduler_jobs WHERE job_name = 'GATHER_STATS_JOB';SELECT log_id, job_name, status, TO_CHAR (log_date, 'yyyy-mm-dd hh24:mi:ss') log_date FROM dba_scheduler_job_run_details WHERE job_name = 'GATHER_STATS_JOB' order by 4; 自动收集信息的任务是每天都会
创建db link
今天需要创建一个database link. 先是在本地做了tnsnames.ora条目然后在数据库的sys下 按如下命令创建:create public database link lnums connect to ums identified by xxxxxx using 'rac1';这个命令我以为会创建一个全局的lnums link每个用户都可以使用.结果在ums2用户使用此链接时无反应.最后又在ums2下创建另一个db linkcreate database link lnums2 connect to ums identified by xxxxxx using 'rac1';这样才可以使用了.其实无反应可能是因为网络的问题.两个命令都没有问题[@more@]
11g中改用memory_target.
shm /dev/shm tmpfs defaults,size=500M 0 0把上面的这句写到/etc/fstab中 ,然后mount /dev/shmoracle中应该修改这些参数memory_max_target = 500M scope=spfile;sga_max_size=500M scope=spfile;memory_target=500m;sga_target=0;pga_aggregate_target=0[@more@]
删除重复列
DELETE FROM abcWHERE ROWID IN (SELECT rFROM (SELECT t.ROWID r,ROW_NUMBER( )OVER ( PARTITION BY empno, ename, jobORDER BY empno, ename, job )idFROM abc t)WHERE id <> 1);create table abc2 as select empno,ename,job from abc group by empno,ename,job; [@more@]
关闭11g新特性
alter system set event= '10949 trace name context forever, level 1' scope=spfile;alter system set audit_trail=none;ORA-10949: Disable autotune direct path read for full table scan禁止sql tuning advisorBEGIN DBMS_AUTO_TASK_ADMIN.disable( client_name => 'sql tuning advisor', operation => NULL, window_name => NULL);END;select se.USERNAME, se.OSUSER, se.SID, p.SPID, su.BLOCKS * 8192/1024/1024 Space, s.SQL_TEXT from v$sort_usage su, v$session se, v
v$sql-v$sqltext-v$sqlarea区别
v$sql-v$sqltext-v$sqlarea区别[@more@]v$sqltext存储的是完整的SQL,SQL被分割SQL> desc v$sqltextName Null? Type----------------------------------------- -------- ----------------------------ADDRESS RAW(4) ---------HASH_VALUE NUMBER --------- 和 address 一起唯一标志一条sqlCOMMAND_TYPE NUMBERPIECE NUMBER ---------- 分片之后的顺序编号SQL_TEXT VARCHAR2(64) -------------- 注意长度v$sqlarea --------- 存储的SQL 和一些相关的信息,比如累计的执行次数,逻辑读,物理读等统计信息SQL> desc v$sqlareaName Null
oracle执行计划
1.SQL> set autotrace on explainSQL> select * from dual; 2.SQL> explain plan for select * from dual;SQL> select * from table(DBMS_XPLAN.display);3、启用SQL_TRACE跟踪所有后台进程活动: 全局参数设置: ..OracleHome/admin/SID/pfile中指定: SQL_TRACE = true (10g) 当前session中设置: SQL> alter session set SQL_TRACE=true; SQL> select * from dual; SQL> alter session set SQL_TRACE=false; 对其他用户进行跟踪设置: SQL> select sid,serial#,username from v$session w
Oracle的主要进程
Oracle的主要进程[@more@]Oracle的主要进程:NameExpanded NameShort DescriptionLong DescriptionExternal PropertiesABMRAuto BMR Background ProcessCoordinates execution of tasks such as filtering duplicate block media recovery requests and performing flood controlWhen a process submits a block media recovery request to ABMR, it dynamically spawns slave processes (BMRn) to perform the recovery. ABMR and BMRn terminate after being idle for a long time.See Also: Oracle Database Backup and Recovery User'
MOS
MOS = MY ORACLE SUPPORT[@more@]