这几天 Oacle 调优的小结

之前在AIX 上进行了几天的Oracle 数据库调优,并进行了适当的命令记录,现备份上来:


数据库测试机器:
AIX5.3


查看aix每个用户允许打开的进程数
lsattr -El sys0|grep maxuproc


设置aix每个用户允许打开的进程数
chdev -l sys0 -a maxuproc=2048


设置aix允许打开的文件标志符数
ulimit -n 10000

查看oracle配置参数
show parameter processes;
#alter system set processes=300 scope = spfile;
#create pfile from spfile;

使用指定配置文件启动oracle
startup pfile=/oralce/app/admin/nspg/pfile/init.ora

查看当前连接数:
select count(*) from v$session;


查看所有数据库用户的连接数:
select schemaname,count(*) from v$session group by schemaname;


查看终端用户使用数据库的连接情况:
select osuser,schemaname,count(*) from v$session group by schemaname,osuser;

注意事项:
1、去掉所有外键。
     因为索引加的不全,Oracle加锁时,将主表的一条锁定后,没有加索引的子表将被整个锁定。(如果索引加的全,则按照索引锁定)。
     Oracle数据库加锁是:在数据行中放入一列(锁标志),这样不消耗系统资源。与其他数据库不同,其他是通过锁管理器进行管理的。
    (运行时建议都去掉外键)

2、死锁
    各个数据库都有不同的锁机制,锁管理器的管理运行机制。(Oracle除外)
    加锁(行锁、页锁、表锁,级别逐渐增高)
    锁升级(对应Oracle 为锁转换):数据库锁:行锁到一定规模后,自动升级成表锁(Sybase\db2 可设置阀值)
    操作:行锁去掉,变成一个表锁。所以应该尽量避免。

    sybase有页锁:锁定整个页,也是自动升级的。可以设定阀值    

    操作:如何尽可能的减少锁的个数、尽量避免锁升级。(Oracle仅注意锁转换)

    各个数据库配置对锁的影响不同:
       比如:DB2 lockList 

    Oracle配置:
        主要是内存配置、提炼出几个关键配置属性。修改这些配置,尽量避免锁升级/转换

3、加索引

    条件中的字段
    过滤掉较多非结果数据的字段优先添加索引。

你可能感兴趣的:(oracle,db2,配置管理,Sybase,AIX)