日期:2014-05-16  浏览次数:20587 次

oralce 常用脚本
statspack相关:


//free SPACE 表空间
SELECT   tablespace_name,SUM(bytes)/1024/1024    free   FROM   DBA_FREE_SPACE  
  GROUP   BY   tablespace_name 

//创建statspack

1:查看表空间,要有大于150M的
最好先建立一个独立的表空间>150M
 //新建表空间
 CREATE TABLESPACE stats DATAFILE 'E:\oracle\product\10.2.0\oradata\orcl\stats01.dbf' SIZE 200M ;

执行下面的脚本
 E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spcreate.SQL
    在业务繁忙期手动收集统计信息 EXEC statspack.snap
    或者自动收集统计信息 spauto.SQL
    
    再执行一次
    spcreate.SQL
    

生成报告
  E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spreport.SQL
  
  前后两次的Id不能重启过oracle
  默认产生的文件在用户目录下



最后卸载
E:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\spdrop.SQL


安装 spcreate.sql
卸载 spdrop.sql
说明 spdoc.txt
手动收集统计信息 statspack.snap
自动收集统计信息 spauto.sql
产生报告 spreport.sql
删掉不需要的统计信息 sppurge.sql
清除所有的统计信息 sptrunc.sql    


tkprof:

@gettracename //取得跟踪文件路径及名称
alter session set timed_statistics=true;
alter session set timed_statistics=true;
执行sql语句
alter session set sql_trace=false;


//E:\oracle\product\10.2.0\db_1\BIN在这个路径下
在 cd 进入 oracle bin目录
tkprof E:\oracle\product\10.2.0\admin\orcl\udump\orcl_ora_948.trc testrep.txt
tkprof 路径文件路径 输出文件路径
默认是E:\oracle\product\10.2.0\db_1\BIN目录下

上面是执行tkprof的语句先后顺序
E:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP\orcl_ora_2668.trc
E:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP\orcl_ora_4024.trc
E:\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP\orcl_ora_4168.trc


建立用户:
create user fuyou identified by "fuyou"
grant sysdba to fuyou;
grant connect ,resource to fuyou;


设置环境
SQL> ALTER SESSION SET NLS_LANGUAGE = AMERICAN;--改成美式的时间格式

杂:
//关闭
ALTER SESSION SET EVENTS '1046 trace name context off';

//获得跟踪文件
 select c.value || '/' || d.instance_name ||
                  '_ora_' || a.spid || '.trc' trace
    from v$process a, v$session b, v$parameter c, v$instance d
  where a.addr = b.paddr
    and b.audsid = userenv('sessionid')
     and c.name = 'user_dump_dest'

//开启
ALTER SESSION SET EVENTS '1046 trace name context forever, level 12';

启动OEM
在cmd下
1:SET ORACLE_SID=orcl
1:emctl start dbconsole

概念:
直接路径:是指不经过数据缓存区的

顺序读:索引
离散读:全表扫描



拐点 ,平滑点

拐点前变化率很高,x轴变化一点,y轴变化会很大的
拐点  平滑点之间  x轴变化一点,y轴变化会不大的
平滑点:当X轴在平滑点后,x变化,y不会再变化了


oracle 10 g的建议:都是在当前状态下的

只有业务在一段时间内稳定的,用oracle 自动处理效果最好



回滚段先重用,如果不能重用,再扩展




select userenv('language')from dual;  --user enviroment 用户环境


sqlplus 的目录在E:\oracle\product\10.2.0\db_1\dbs,long.sql也放在这里,才对




查看用户的语句
select s.program, s.server, p.spid server_pid, s.username 
from v$session s, v$process p
where s.type = 'USER'
  and s.username != 'SYS'
  and p.addr(+) = s.paddr;


这是之前学习orace 累积下的,有些乱,有时间再整理下
[u][/u]

timestamp :
fuyou@ORCL> select to_char(systimestamp,'yyyy-mm-dd hh24:mi:ss.ff') from dual;

TO_CHAR(SYSTIMESTAMP,'YYYY-MM
-----------------------------
2010-08-05 23:19:18.906000


查看表空间文件:
idle> column file_name new_val f--表列file_name 最后一列的值为赋值给f
idle> select file_name from dba_data_files where tablespace_name ='KAILIAO';--KAILIAO表空间名
idle> SELECT '&F' FROM DUAL;  --'&F'引用f的值,即是file_name 值

'E:\ORACLE\ORADATA\KAILIAO\KAILIAO.DB
-------------------------------------
E:\ORACLE\ORADATA\KAILIAO\KAILIAO.DBF
idle>alter table datafile '&F' autoextend on next 1M maxsize 2048M  --修改上面查询到的数据文件属性