以下的文章主要是对Oracle性能调整的十大要点之操作系统的优化与如何使用相关资源管理器的实际操作,如果你对Oracle性能调整的这一要点的实际应用有不解之处的话,以下的文章会给出相关的答案。
1、操作系统优化
1)概念
操作系统优化时应该考虑的因素有:内存的使用;Cpu的使用;IO级别;网络流量。各个因素互相影响,正确的优化次序是内存、IO、CPU。
操作系统使用了虚拟内存的概念,虚拟内存使每个应用感觉自己是使用内存的唯一的应用,每个应用都看到地址从0开始的单独的一块内存,虚拟内存被分成4K或8K的page,操作系统通过MMU(memory management unit)将这些page与物理内存映射起来,这个映射关系通过page table控制。
Raw device是没有文件结构或目录结构的磁盘或磁盘分区,由于它忽略了操作系统缓存,在某些情况下可以显著提升Oracle性能,但是在windows NT下,由于操作系统IO操作本身不使用文件系统缓存,所以raw device不能显示性能上的优点。
2)Guideline
CPU的最高使用率:90%;
OS/USER进程数之比:40/60;
各个CPU的负载应该大致均衡。
3)服务器安全性检查
A、检查UNIX系统用户口令
检查:/etc/passwd、/etc/shadow,UNIX密码采用了shadow机制,安全Oracle性能高
建议:参考UNIX命令passwd,修改/etc/default/passwd文件的某些设置如MAXWEEKS、MINWEEKS、PASSLENGTH使口令修改更加合理化。
建议:定期更改UNIX系统的如下用户口令:
root、oraprod、applprod、appprod
B、检查 Remote Login
启动了rlogin,服务器数据库a、数据库b、数据库c,终端console1、console2、console3及T3形成相互非常信任的关系,用户只要拥有一个服务器的超级权限就可以rlogin到.rhosts指明的任一主机而无需要口令。
建议:非常不安全,参考UNIX命令rlogin和/目录下的文件.rhosts。在正式环境服务器和测试环境服务器之间不要建立这种远程信任的机制。
C、检查FTP服务
检查可以FTP到服务器的用户(/etc/ftpusers),注释了root用户,就是说用户可以用root权限FTP到服务器上。权限太大。
建议:把这种权力取消,将/etc/ftpusers中root的注释符号(#)去掉,在列表中添加oraprod、applprod、appprod等用户使之不能FTP服务器。必要时(如上传PATCH时)再打开applprod的FTP权限。
D、建议:UNIX系统管理员定期检查/var/adm下的messages、sulog;/etc/syslog.conf 等信息。检查是否有非法用户登陆UNIX。
建议:与UNIX工程师探讨更好的监控方式
4)数据库与应用产品安全性检查
A、建议:修改oracle性能用户根目录下的.profile文件,修改该文件的权限为500。即使得用户登陆时并不执行和数据库或应用相关的环境变量,增加安全性。
B、检查数据库DBA权限的用户密码和应用系统用户密码:SYSTEM、APPS密码都已经改变,SYS密码还是初始安装密码Change_on_install
建议:立即修改SYS用户密码,定期更改APPS、SYSTEM、SYS密码。
C、定期检查并清除$ORACLE_HOME/admin/bdump目录下的alert_PROD.log文件和后台进程trace文件。定期清除$ORACLE_HOME/admin/udump目录下的trc文件。
D、建议:给应用产品登陆的用户设置口令过期限制,如口令访问次数限制或时间(天数)限制。
建议:不要给使用应用产品的用户共享用户名和口令,每个用户分配一个应用产品用户名。
建议:对有应用系统管理员权限的用户登记,不适合有系统管理员权限的用户要把权限回收,统一管理。
E、定期检查并清除与Apache Server有关的log文件,目录为:
- /u01/prodora/iAS/Apache/Apache/logs/acccess_log、error_log
- /u01/prodora/iAS/Apache/Jserv/logs/jserv.log、mod_jserv.log
F、定期检查清除listener、tnsname的log文件,文件存放在:
- /u01/prodora/8.0.6/network/admin/apps_prod.log、
- /u01/proddb/8.1.7/network/admin/prod.log
- /u01/proddb/8.1.7/network/log/listener.log、sqlnet.log…
G、数据库控制文件做多个镜像,放在多个磁盘位置,提高安全性。
5)网络安全性检查
检查$ORACLE_HOME/dbs/initPROD.ora文件
#remote_login_passwordfile=EXCLUSIVE
设置为REMOTE_LOGIN_PASSWORDFILE=NONE,不允许远程客户用INTERNAL方式登陆。
2、资源管理器(Resource Manager)
通过资源管理器可以管理混合工作负载,控制系统Oracle性能。数据库资源管理器包括:
• Resource plans:包括 resource plan directives, 它指定了被分配到各个 resource consumer group的资源。
• Resource consumer groups:定义了具有类似资源使用需求的一组用户。
• Resource plan directives:包括下列内容:为consumer groups 或 subplans 指定resource plans;在各个 consumer groups 或资源计划的subplans 分配资源。
【编辑推荐】