1.修改初始化参数(pfile,spfile)
ALTER SYSTEM SET SGA_MAX_SIZE=
SCOPE参数值有三个选项
SCOPE=MEMORY:只改变当前实例运行,亦即初始化参数改变了只对当前实例有效,当实例重启之后,初始化参数值还原。
SCOPE=SPFILE:只改变SPFILE的设置。亦即改变初始化参数文件内容。实例重启后参数生效。
SCOPE=BOTH,既改变实例也改变SPFILE。指定这个选项相当于不带参数的alter system语句。需要注意的是,如果修改静态参数,必须指定SPFILE参数(必须表明SCOPE=MEMORY或者SCOPE=SPFILE),否则会报错。
2.复位修改的初始化参数
ALTER SYSTEM RESET SGA_MAX_SIZE SCOPE=SPFILE SID=’*';
3.排错
当不小心把某个初始化参数破坏了,导致不能启动数据库时
例:
把shared_pool_size设置成了
解决步骤:
a.新建记事本,在记事本里写配置:spfile=I:\oracle\product
\
Shared_pool_size=原来的值
b.将记事本保存为I:\a.ora,后SQL>startup pfile=I:\a.ora
4.设置跟踪
跟踪会话首先得查出该会话的SID,SERIAL#,会话之间的区别靠的就是这两个的组合
SELECT SID,SERIAL# FROM V$SESSION
WHERE USERNAME='SYS';
调用跟踪的包:
EXEC DBMS_SYSTEM.SET_SQL_TRACE_IN_SESSION(SID,SERIAL#,TRUE);
这样就会在I:\oracle\product\10.2.0\admin\orcl\udump下生成一个用SPID命名的文件,那如何找出这个SPID呢,
SPID是存在于V$PROCESS表中的字段,这时就需要将V$SESSION和V$PROCESS两张表关联起来查询
即:SELECT S.USERNAME,S.SID,S.SERIAL#,P.SPID
FROM V$SESSION S,V$PROCESS P
WHERE S.PADDR=P.ADDR;
5.使用tkprof分析跟踪文件
tkprof 源文件的路径 导出的文件.txt aggregate=yes sys=no waits=yes sort=fchela;