您的位置:首页 > 数据库 > Oracle

Oracle 9i Unix Manager

2015-12-23 09:30 288 查看
在Unix上被迫终止ORACLE进程时,必须做以下事情: (1) 杀掉所有Oracle进程. ps -ef|grep $ORACLE_SID|grep -v grep|awk '{print $2}'|xargs -i kill -9 {} (2) 使用ipcs -pmb 确认RAM内存段,然后使用ipcrm -m 命令从Unix中释放RAM内存. (3) 使用ipcs -sa 命令显示同步信号量,用ipcrm -s 命令为实例释放同步信号量.

有时,Unix进程很难被杀掉,即使使用kill -9也很难将其杀掉,这时可以使用下面的技巧来实现:

cat /dev/null >/dev/ttyname kill -9 $PID;

在AIX上显示Unix内核值: lsdev -C 显示CPU个数 lsdev -C|grep Process|wc -l

查看基础内核值: lsattr -E1 sys0

Unix的内存管理命令

(1)显示Unix上RAM总数 a. lsdev -C|grep mem 显示内存设备名称 b. lsattr -El mem0

(2)观察Unix上已经分配的RAM段 (其中Oracle的,代表Oracle系统全局区域SGA使用的内存) ipcs -pmb 使用sqlplus " /as sysdba" 登陆Oracle > oradebug ipc >udump 查看RAM详细信息 cat XXXX.trc

当Oracle崩溃时,必须手工清理RAM内存, ipcrm -m $PID

观察Unix中RAM交换页面调度

lsps -a 查看页面调度

影响磁盘I/O的Oracle调整因数

(1)Oracle实例的设置(init.ora) 大的db_block_size : 块尺寸越大,磁盘I/O越小 大的db_block_buffer : 数据缓存量越大,磁盘I/O越小 多重数据库写入进程(DBWR): 更有效率地编写数据文件. 大的sort_area_size: RAM中sort_area_size越大,临时表空间出现的磁盘类型越小. 大型联机重做日志: 联机日志越大,日志切换的频率越低.

(2)Oracle对象(表和索引) 低pctused: pctused的值越低,随后的SQL插入中出现的I/O越小. 低pctfree: 如果设置pctfree允许所有行无分段的扩展,那么随后的SQL选择中将发生较少的磁盘I/O. 通过索引重组表: 如果表按照最常使用的索引相同的物理顺序放置,那么磁盘I/O将显著降低.

(3)Oracle SQL 使用表索引 使用位图索引 使用hint提示

Oracle内部结构和磁盘I/O (1)db_file_mutltiblock_read_count和磁盘I/O db_file_mutltiblock_read_count: 在请求连续的长数据块时,该参数控制读数据块的速度. 这个参数和db_block_size有着重要的关系. 在Unix物理层,Oracle通常以64K作为最小块进行读取. 意味着: db_file_mutltiblock_read_count*db_block_size=64K
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: