天地不仁,以万物为刍狗!

ORACLE**手册长篇连载--第一部分

上一篇 / 下一篇  2007-06-18 00:00:00 / 个人分类:oracle

1 安装
9Tu A|1r8p5n.m^0
8R3Eq'Vd-D+A;f0所有参见内容都在附件01_install_02_create_03_init/下。
7O4U0X2i,dj9w f/@i0ITPUB个人空间!g vdA `!_#l
1.1 通用设置
0Osp(?t0ITPUB个人空间brq/R'~%ak-X\ k
文件系统swapITPUB个人空间 hjuU\"i W(|+|
ITPUB个人空间-oX3?g@Tn
创建文件系统时应考虑Oracle对swap的需要,大约每个oracle服务进程将占用10-20Mswap空间,通常操作系统建议2倍于内存的swap空间,数据库系统可能要求更多些。
j(L0n q R%|"n0ITPUB个人空间g[N EE1MgS
操作系统用户和环境变量ITPUB个人空间*P&LTo$?K;W:~r

KM5P Ke b3U0Oracle文档要求为数据库系统的管理和使用建立3个或更多的组,但这个需求是可以忽略的,实践中并没有体现其必要性。为简化操作起见,只建立dba组,即拥有更新软件和管理最高权限(SYSDBA)的操作系统用户组,此组称为OSDBA,属于此组的用户可以SYSDBA身份登录进任何一个数据库实例,简单的,只建立一个用户,习惯上使用oracle的名称。
#a!P9}%C d[0ITPUB个人空间+{6[N6g/~x_+f/W
$ groupadd dba
Hs-I x k1ms| kN C`0
2c3u)r(l?0Lq"@0$ useradd -g dba -d /home/oracle -m -s /bin/bash oracle
6@:lK$EK*\p0ITPUB个人空间/t ?b{)E7}
确定oracle 系统的根目录ORACLE_BASE,如/opt/oracle,所有的软件和配置都在这个目录下展开,虽然并非一定需要如此,但这是一个良好的习惯。同时确定软件安装的起始点ORACLE_HOME,通常在ORACLE_BASE下。
!F}0V1H]0
9]9r+] t6o"I$b)OPl0修改oracle用户的.profile,加入以下各行,或者修改/etc/profile,使每一个用户都获得环境变量设置
qr*]%V k"n|0
S,nV3rJd9z-\0umask 022ITPUB个人空间9c]+fS`5kh

h"N9Y'SQ:k;P-o){0ORACLE_BASE=/opt/oracleITPUB个人空间AB8N Ibe

5Iif]a"lc0ORACLE_HOME=$ORACLE_BASE/product/{版本号}(如8.0.5,8.1.7,9.2.0等)
~`)K;F E%i q+X&K)V0ITPUB个人空间[U z$K3\w6S
ORACLE_SID=oradb
)[B??(o F0ITPUB个人空间4o5IVuU5y]s!g1C
ORACLE_TERM=ansi #仅与Oracle8字符界面安装有关
|aG#u6rL0
'jJ2B9lHv x+MR0ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data #字符集支持ITPUB个人空间.{4^p2t1\L|&f

u|I0{%M+gR-y0NLS_LANG=American_America.{ZHS16CGB231280(Oracle8支持)|ZHS16GBK(Oracle8i支持)|ZHS16GB18030(Oracle9i支持)}
W#@Et@S+P*l#]0ITPUB个人空间v8w E6F!p2A^;_7gn
NLS_DATE_FORMAT=YYYYMMDDHH24MISSITPUB个人空间)R$C4~P3O`
ITPUB个人空间8i)x7w(^(^j.@C"E
LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH #动态连接路径,Unixware中要确保/usr/ucb/lib在/usr/ccs/lib之后出现
3_c4EM0MHk nD0b d0
h"s0|x'Yx&}\el0TMPDIR=/tmp #安装中Oracle会在此目录下存储相当数量的文件,所以TMPDIR所在的磁盘分区要确保空闲空间的大小,至少在1G左右ITPUB个人空间0O&E Y6]*cw8C#N(N Y

/c6v4O4p-Qg7UwH0PATH=$PATH:$ORACLE_HOME/bin
m0ah-lhjeg0
|m.YE]{Y0export ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_TERM ORA_NLS33 NLS_LANG NLS_DATE_FORMAT LD_LIBRARY_PATH TMPDIRITPUB个人空间#^ ig5ut/Q8Y
ITPUB个人空间~T ] Hbc ]4F U-T
参见profile。
5Wh:VWU$|-~FSQC\0ITPUB个人空间&W/JZk&n8B1F
注意:ITPUB个人空间?8{9Nft1?

skqf/B6LG5~b0NLS_LANG=American_America.ZHS16CGB231280(ZHS16GBK)
'Q {Mg'Y~ C+P^|:Vd*D0ITPUB个人空间HQo wB(N
"American"指显示信息时所用的语言,窃以为凭大家的英语水平足够应付,如改为SIMPLIFIED CHINESE,在不带中文支持的终端上就没人能看懂了。ITPUB个人空间;Du1G&g'YLRq(g ~
ITPUB个人空间rj8`G@+@P
"America"指地区ITPUB个人空间%P#PZOKXdm
ITPUB个人空间jXm.\t(E+t9n
"ZHS16CGB231280"指Client工具使用的字符集,一般使用"ZHS16CGB231280",Oracle8i已支持到"ZHS16GBK"
Hia:e9H s}G @0ITPUB个人空间)Dm-m3Z Jy*qh
NLS_DATE_FORMAT=YYYYMMDDHH24MISSITPUB个人空间#~5w*`(I-_2d9Hb hiG

5|9}W @6{nt0Oracle的date类型过于灵活,为统一时间格式,利于编程,应将时间的输入输出格式限定为14位字符串,如"20000101235959"ITPUB个人空间q-c7N3d'F%Y$C5J COc

Z0ui[/P*Ng0据oracle文档,此参数可按照session,操作系统用户环境,init.ora由高到低的优先级顺序设置,依次覆盖。ITPUB个人空间y~9Fx t7iK [O

0pO O_ vW;x3J2G4Ows0相关系统表:ITPUB个人空间hG4|] @

]7E `y/QW't:y0v$nls_parameters v$nls_valid_valuesITPUB个人空间8s ]+CpPsfx

0cu(Y3k+D2XK4P vW#u5qu0X-Window
3W)~K ?{1y#R;} Go0
8KOU!k%]kyR#m6Lr0Oracle 8的安装程序是光盘mount点/bin/orainst,使用字符界面,不用考虑X-Window。ITPUB个人空间o(tp;Y!|t
ITPUB个人空间8V:n+lAq cT qX,}
Oracle 8i和9i使用光盘mount点/runInstaller进行安装,它是用Java编写的图形界面,对中文处理有问题,所以应在进入X-Window前确保语言(LANG)和地域(LC_ALL,LC_TYPE,…)环境变量不是中文。
i[+u6j&b;M JI2E.B0I0ITPUB个人空间0E MG6i'K ^*O1C
LANG=C
,f-}{,gnbup0ITPUB个人空间2zz Ii'Ci%nY
LC_ALL=C
!HW2g;t!fG;s0
-j |-Fb#^(fnT0安装选项
Q9dl|O9{+G `0ITPUB个人空间 G5He({3s7D v
Oracle 8i的主要软件包在安装选项Enterprise中,但并不包括proc,必须进行第二次安装,可选择安装选项Client中的programmer。
$GwmbT2EB"e,G~0ITPUB个人空间)HBl7w _2R2p[ D
Oracle 9i的主要软件包在安装选项Enterprise安装选项中,但并不包括proc,必须进行第二次安装,一定要选择安装选项Client中的Administrator。runInstaller的稳定性欠佳,建议每次安装结束后,先退出,再进行下一次安装。ITPUB个人空间4X T&M0y2A

*ro`+jjNTq01.2 UnixWare7
/fXrP'^j0ITPUB个人空间 qu,h*{u
1.2.1 Oracle 8ITPUB个人空间,d$dI jU:K/V

1~a@ M4J(y9bNU0确认操作系统的交换分区swap不少于350M
T;ImNgn$X0ITPUB个人空间)z_`"xUC t
认为该打的补丁统统打上,宁滥毋缺。UnixWare7.0.1必须打的补丁为ptf7033,ptf7051,ptf7052,ptf7068,ptf7096。ITPUB个人空间:S&qD2oYH S^V

&fV:[rZD6aC0将/etc/default/login中的ulimit设为大于2113674(稍大一点即可,太大会有问题)ITPUB个人空间;sdE,n1H|

~e]7S@/s:D`#][0将/etc/conf/node.d/async中的600改为666
ILwh)z,P0ITPUB个人空间0?/I)?7X1b
修改以下核心参数ITPUB个人空间R'I C u:[+E

Fj"M-Y8Rk$A0核心参数 必需值 解释
z d yqjQK,L0
rT;tI&I*t8q A0SHMMAX 2147483647 共享内存段最大尺寸ITPUB个人空间7{1x-bmi3T#Qfp

W!`%l;dC}0SHMMNI 100 系统共享内存段标识最大数目
:J7i*v&twU7X:x0ITPUB个人空间V'LcPd/Wo V:cAB
SHMSEG 15 每个进程所能使用最大共享内存段数目
:l_RE!R R4M0
!h%q@nDt0SEMMNI 100 核心信号量标识最大数目ITPUB个人空间Y@x5bj`(C$HL k
ITPUB个人空间 JIA,J;[q+} W
SEMMSL 150 每个信号量标识包含的信号量个数
m~-r.O!Z'TM9]-i-\ ^dZ0ITPUB个人空间Y7N)\E SX
SCORLIM 0X7FFFFFFF Core文件最大尺寸ITPUB个人空间WDb/b0p ~8O(u)q
ITPUB个人空间;LfEv bzt&O W
HCORLIM 0X7FFFFFFF
~a'Bq@-}0
s AS8u q%w,Ht yb4x_0SDATLIM 0X7FFFFFFF 进程堆最大尺寸
3y^)yV-t |r"v0ITPUB个人空间g_ R H_t4Z)y
HDATLIM 0X7FFFFFFF
s^ l t C5V B0ITPUB个人空间 Ja:m0bp7t'^
SVMMLIM 0X7FFFFFFF 进程最大映射地址ITPUB个人空间8CW(fVdG
ITPUB个人空间/t/w { ai8x6Qf$e
HVMMLIM 0X7FFFFFFF ITPUB个人空间TSp9Drm8|
ITPUB个人空间-I:D3E k!]%t3\H1m {P
SFSZLIM 0X7FFFFFFF 进程文件最大偏移量
ziO&_"G;J SC2\0ITPUB个人空间"kMR#GgTu
HFSZLIM 0X7FFFFFFF
$J.RG%k:z,ZV0ITPUB个人空间#tB g_-pU3nj8n4TJ
SFNOLIM 128 进程能打开的最大文件个数
/rSg] {*Kz1U K0
(B/lnoFA!Q:C!D#m0HFNOLIM 2048
U"vi3s;\C M0
eZ2r I7U9q0NPROC 20+(8*MAXUSERS) MAX:125000
9C#|7G6Sz6o0
7HQ8Mc `;P0ARG_MAX 1,048,576 ITPUB个人空间#n]e5\X1I!rON

T b.A4B.y5Gr6b{0NPBUF 100 I/O缓冲区数目ITPUB个人空间w{.f{j"i-K9Y)@6iQs

J%~)OS0QN6](}zJ0MAXUP 1000 用户同时使用的最大进程个数ITPUB个人空间*~#m*m @*nG] f

R.R f"A6Pa9i0STRTHRESH 0X500000 流能使用的最大字节数ITPUB个人空间ioPc$g'?$V3N

^'ORFe|H0
1Zwc^*o4^(X#z \{0ITPUB个人空间:^Z])o*W
为优化应用系统修改以下核心参数
2azi`F`E0s6X0ITPUB个人空间Te_ C.~7tjX
核心参数 参考值 解释ITPUB个人空间!t8d;R.I C'|T m
ITPUB个人空间Hw#R6fq(dM vG'F
MSGMAX 8192 消息最大尺寸ITPUB个人空间%f5vkPxr*f4J8f
ITPUB个人空间/k)L.m*K+^nKe\
MSGMNB 81920 消息队列尺寸
Zo d g[["BFy0ITPUB个人空间1~aWhI%z%s#r
MSGMNI 2048 系统能并存的最大消息队列数目
7I!D_%|&]C`O8qf0
9R_ b wFyyKU%`|1O0MSGSSZ 16384 ITPUB个人空间 T M+o;ZA/[5n,`k
ITPUB个人空间.N~i }6C
MSGTQL 4096 系统能并用的消息头数目ITPUB个人空间?mP~c5}5P
ITPUB个人空间7R3warv8_ [&S?P/\
SEMMNI 1024 ITPUB个人空间 s({Np+~7n}
ITPUB个人空间W_&b"X t
SEMMSL 150
Ssn)A:l%Z/`'L0
Dl }q y W8r0
Q y Jv$j\j!CU0
pys!B!YG `0F0也可通过编辑/etc/conf/cf.d/stune达到同样效果ITPUB个人空间S},D3V(U%J z J3g |
ITPUB个人空间F ] ]g2A$C`"a
重新连接内核,重起或运行/etc/conf/bin/idbuild -B
t [ wiF@;Yk r0ITPUB个人空间,A l0dH2I|:~V
修改核心参数SEMMAP时,注意要同时修改/etc/conf/mtune.d/ipc中相应的MAX值ITPUB个人空间we{ {9@+HE'h*Y
ITPUB个人空间l o4R1Ia!@3Z] Xp
建立/var/opt/oracle,使oracle成为此目录属主
2|MO$Q&vH0ITPUB个人空间t6f m3DS`v
mount oracle光盘,通常mount目录为/SD-CDROM_1ITPUB个人空间pY&MU5HZ

` IW1S-V nq0root用户,ORACLE_OWNER=oracle,执行光盘上orainst中oratab.sh,建立/var/opt/oracle/oratabITPUB个人空间-}y}x/sR(PM/u v
ITPUB个人空间 h.h pd]5gU
安装时,选custom方式,安装时不建立数据库,字符集可选Simplified ChineseITPUB个人空间Cy2`w"T
ITPUB个人空间kW+G%l"i*Z
1.3 HP-UXITPUB个人空间 }kk!h r

N&qw(C S.r$y*e"e,k01.3.1 Oracle 8
!tM!Er-y2p];}u0
4Vp,G*b\0流程大致与unixware相同,调整kernel参数可通过sam,选择/Kernel Configuration/Actions/Apply Tuned Parameter Set/OLTP Database Server System,另外为提高I/O能力,还需调整以下参数:
H y#kj)@1a5@0ITPUB个人空间6Vr j'j'}N-|
核心参数 参考值 解释
A#NK!B-Z6u;^0
qD(U)j$xF(`0bufpages 61992 缓冲页
%r)~q5Yh`9kQ1T9{0ITPUB个人空间3i$y_ ?;NO3~l.n
dbc_max_pct 10 动态缓存占内存最大百分比ITPUB个人空间9ci6Q'gW:y;[A

2sP9G)\ I7JP4c2A0dbc_min_pct 10 动态缓存占内存最小百分比
+~9L{_"d0
!r I%F7H vB'U0nbuf
E$n*[}Rhs0ITPUB个人空间Q_&N1^Iw!CK8i
设定共享库目录SHLIB_PATH,不是LD_LIBRARY_PATHITPUB个人空间5z/o_I;JRE3P5b

6qt2}]"` @R2Hm0SHLIB_PATH=$SHLIB_PATH:$ORACLE_HOME/lib;export SHLIB_PATHITPUB个人空间;D.@[#u x^ E(S
ITPUB个人空间+t(y/u aFqYG
1.4 Linux
N3O8P(r&C_6q)U0ITPUB个人空间 lA(\&\ x#fO'^-~
1.4.1 kernel 2.0 & glibc 2.0
+F_^&w0_y2Rn0ITPUB个人空间 {Y)f APk m(C
代表产品为Red Hat Linux 5.1。
1}q!aW F0
F[1`(ZI:t0VV6A0Oracle 8在RedHat5.1上能成功安装,安装软件包为805ship.tgz
$GZ2{,R}*?0ITPUB个人空间/k#G0Q%Xtk
一般不会在RedHat5.1上安装Oracle8i以上的版本
V#T!tD$vW l#y0ITPUB个人空间OdZ1~aN#T
修改共享内存最大尺寸限制:ITPUB个人空间#f2^jG'FoQ

1i!BW|!u0n c0在系统初始化脚本/etc/rc.d/rc.sysinit中加入:
{X&@cl#d?4?0
N$z9t%M wj ttT3g h0echo 2147483648 >/proc/sys/kernel/shmmax
]d2po/U"~%B n;C8\@0ITPUB个人空间,pHg1u"x*Fut)|
重启计算机。这样做避免了Oracle分配的共享内存碎片化,对提高效率有好处。ITPUB个人空间!z__F;G-UXH'm(]
ITPUB个人空间 `]Gu['R+r"DR1v
原$ORACLE_HOME/precomp/admin/pcscfg.cfg中sys_include有误,使proc预处理pc程序失败,安装结束后,应设为:sys_include=(/usr/include,/usr/lib/gcc -lib/i386-redhat-linux/egcs-2.91.66/include)(视gcc版本而定)
/M#G)l6Rp RI0ITPUB个人空间:v$Z T\mra
1.4.2 kernel 2.2 & glibc 2.1ITPUB个人空间&q3N/]5B&OTw gy

(B Vf}5H+`*w0代表产品为Red Hat Linux 6.2。
+O0SC} j8p w]4xT0ITPUB个人空间&@{ shA3A4s,M
修改共享内存最大尺寸限制:ITPUB个人空间9[+H!~Uj'D/O

;JI5{#IW\o0在系统初始化脚本/etc/rc.d/rc.sysinit中加入:
jbj7d{Y.E+D~N0
)TrQR;j^l9w4iJ!m0echo 2147483648 >/proc/sys/kernel/shmmaxITPUB个人空间H:w9h v!}K v2Z
ITPUB个人空间 O!Ygl+t h
重启计算机。这样做避免了Oracle分配的共享内存碎片化,对提高效率有好处。ITPUB个人空间6w^?M+U2vmS1E2L
ITPUB个人空间Aal:vpp*LaR8J~
原$ORACLE_HOME/precomp/admin/pcscfg.cfg中sys_include有误,使proc预处理pc程序失败,安装结束后,应设为sys_include=(/usr/include,/usr/lib/gcc -lib/i386-redhat-linux/egcs-2.91.66/include) (视gcc版本而定)ITPUB个人空间+`7J E,B%t!LFMQ0{
ITPUB个人空间\:z l7pkN1SM(E0w U%g
1.4.2.1 Oracle 8ITPUB个人空间 |7nq-Z3Ae
ITPUB个人空间:n8X:I#| t cI3e
本来已经很少有人在LinuxKernel2.2的系统中安装Oracle8.0.5,但笔者实在怀念8.0.5纯粹的文本界面和与之相处的无数不眠之夜,故收录如下:
!}#K|r9b0
+I&wEf,Z0Oracle8在kernel为2.2.x的linux中是无法正常运行的,运行可执行文件如svrmgrl,sqlplus时会导致"Segmentation fault",原因在于这些linux使用了默认的libc2.1,与Oracle8程序重连接所需的libc2.0不兼容。Oracle的补丁程序其实是将Oracle可执行程序的重连接脚本中libc位置重新定位到libc2.0上去,并用旧版的gcc,ld重新连接可执行文件。为此必须先在系统中安装兼容库和相应工具。这是权宜之计,而且仅对RedHat有效。ITPUB个人空间?(]1w i\L8e
ITPUB个人空间G%rs8L^g0O1CA/]
root用户ITPUB个人空间6V.K0uZf(oF

Ctg8{,f.gk-Y6pr0rpm -ivh tcl-8.0.3-20.i386.rpm Oracle的Intelligent Agent要使用ITPUB个人空间JN-Bw4nf
ITPUB个人空间+etD,k"CT`!?e
rpm -ivh compat-binutils-5.2-2.9.1.0.23.1.i386.rpmITPUB个人空间h6Wi(y5a

"mJ&ko,E0rpm -ivh compat-glibc-5.2-2.0.7.1.i386.rpm
X|S&l.d0
A| e YTD0rpm -ivh compat-egcs-5.2-1.0.3a.1.i386.rpmITPUB个人空间(msrM/d%u

7{4a+EX'X8Ih0rpm -ivh compat-egcs-c++-5.2-1.0.3a.1.i386.rpm
4}F;R6R|^1}JU"q;D0
9u$SK"|5^$k0rpm -ivh compat-libs-5.2-1.i386.rpm
^$J)v$w(I0ITPUB个人空间_C~/E+^
版本号可略有差异
3W-Zp!@5lW2F5FYI0ITPUB个人空间 k`a;T |)dP3F
oracle用户安装Oracle8.0.5但不创建instance,如选择安装文档,则会产生如下错误:ITPUB个人空间*m{1h2OB4Z3e;h a \+Ww:e
ITPUB个人空间:y+w%J4g$J6V$i9c Y
A write error occurred while try to copy '/home/oracle/setup_oracle/unixdoc/server.805/install/lnx_server.805.map' to '/oracle/product/8.0.5/doc/server.805/install/lnx_server.805'(No such file or directory).ITPUB个人空间 j4?cl.x#E
ITPUB个人空间$s'D!YV)g G1k:y @#n&_
这是安装程序的一个bug-不能创建目录。可进入$ORACLE_HOME/doc,mkdir -p server.805/install,再选择Retry
%q.a4q'W,nb^.`0ITPUB个人空间,G/}!Up2^*V#I
从ftp.oracle.com/pub/www/otn/linux下载glibcpatch.tgz,在某一目录(如~/patch)下展开ITPUB个人空间} Qg`3BU?

w#B9k;MZ Gt5[e2F0cd ~/patchITPUB个人空间 y.k.r'x,@(ZsJ5t

\!? `3}w&`6^f0glibcpatch.shITPUB个人空间+cX.t \1Oe

)V/[n]1}h Z @0经过一段时间后,看到"Applied glibc patch for Oracle 8.0.5.x successfully",表明补丁成功。此时就能成功创建instance。
,_ Q#}pPU0ITPUB个人空间BCy4h#Z`,d$cs
1.4.2.2 Oracle 8i
RPzl0P'bQgF}@*Y0ITPUB个人空间m(]n/YN2?fsj-\k
推荐使用典型安装,否则会产生难以预料的错误。
K {R8pY9J!O] J~0ITPUB个人空间/_%FTLs;V
1.4.3 kernel 2.4 & glibc 2.2ITPUB个人空间Z&imZ F+G wp1O

Z4U)lt6M b0代表产品为Red Hat Linux 7.3,SuSE Linux 7.3。ITPUB个人空间/KdQ5W+i.x'}S~;G
ITPUB个人空间#tEpZ zOc6[z
1.4.3.1 Oracle 8i
P:|uZ+`,N*jh Z2K K0
/s7elS ?!SQ0与Oracle8在RedHat Linux 6.2上安装所遇到的问题一样,Oracle 8i使用的glibc 2.1与操作系统自带的glibc 2.2不能兼容,解决的方法也一样,要安装glibc 2.1的兼容库,并重新连接Oracle各组件。
'T'j)V*vR`0ITPUB个人空间H JfpyE
除非万不得已,不建议使用兼容方式,因此省略安装步骤,可参阅网上有关文档。
:^P@2K}N c+?0
O9eo [ L9c`-v01.4.3.2 Oracle 9i
#k1Z2Ja:^&ng'o ?q[2~0
#Lr,K;f+I@]"a5`0RedHat 7.3
5kSNV'\p0ITPUB个人空间qD|({[y0tb
修改共享内存最大尺寸限制:
/[} W+tg%lX:C"]0ITPUB个人空间 M8O5Ho9sYn;H
在系统初始化脚本/etc/rc.d/rc.sysinit中加入:
-i2o$K ~-c}0}&a f0ITPUB个人空间\FhVz)FW
echo 2147483648 >/proc/sys/kernel/shmmax。ITPUB个人空间Gr,|&cD+Iz

7XH"i9`xaz0修改信号量参数:
%x!Ba.yZ!C"GZ0
4cslS"{V0在系统初始化脚本/etc/rc.d/rc.sysinit中加入:
D&C z0YsR{$z0
.W1r(f/Sr]D0echo 250 32000 100 128 >/proc/sys/kernel/sem。
YTy.A7J0ITPUB个人空间;j3@C ?JW;~N~C
这4个参数依次为SEMMSL(每个用户拥有信号量最大数量),SEMMNS(系统信号量最大数量),SEMOPM(每次semop系统调用操作数),SEMMNI(系统信号量集最大数量),事实上只有SEMOP是需要调整的。
B1{]8d&u1M0ITPUB个人空间 HE:DA5L}k)a}2E
重启计算机。
/gi)B4{Qi&a7q0ITPUB个人空间,ioJe j\i7ob5aQ
在连接可执行文件过程中,会发生中断,打开$ORACLE_HOME/ctx/lib/env_ctx.mk,找到INSO_LINK,在-L$(CTXLIB) -L$(LDLIBFLAG)m后加入-L$(LDLIBFLAG)dl,重试。ITPUB个人空间n+f w8s8Xa

3c#j @D'W#I_T^0SuSE 7.3ITPUB个人空间9{*I"dR!^|
ITPUB个人空间 J~b2G(z#of)q
与RedHat类似,但SuSE没有/etc/rc.d/rc.sysinit,笔者选择/etc/rc.d/rc,将核心参数修改添加到最后exit语句之前。
&C"WN2r*[0
1u7R@:j(uE tg.z0安装过程中没有发生任何问题。
y)EAjRq vw.B%JqS0
&Naqxz9O%OI w01.5 SolarisITPUB个人空间'Wba/n!Qp;~

,I4y Oj\A%e0Oracle 8i在Solaris 7,8 Intel Platform上均能顺利安装,未测试Solaris Sparc Platform。ITPUB个人空间3fYK2a u;w

x.A$~P_\ W0Oracle 9i目前无Solaris Intel Platform上的版本,由于条件所限,未测试在Solaris Sparc Platform上的Oracle 9i。ITPUB个人空间6m%a;G nU`.Xu\+X
ITPUB个人空间It+C'Q@
修改下列核心参数:ITPUB个人空间7k$]N$j `0a1R

(j%j9} ]%A0核心参数 参考值 解释
#aH7bd8WXhHC;Iahs0
3X1F(A2j9k(j1_C`0shmmax 物理内存/2 共享内存段最大尺寸ITPUB个人空间5j tr Q vCiG
ITPUB个人空间U B$DrHP-`2~
shmmin 1 共享内存段最小尺寸
KIh.f Hbhj?0ITPUB个人空间{AZZ#xy
shmmni 100 系统共享内存段标识最大数目
nWWY/Lr-K;f4F0ITPUB个人空间 K&~.L1|:zU;XY
shmseg 10 每个进程所能使用最大共享内存段数目
P\)am%P0cKCM*r0
7vf)Y}J0semmni 100 系统信号量标识最大数目ITPUB个人空间q8P!QUbxO
ITPUB个人空间hP2y |nd o/L8K'X"G
semmsl init.ora.processes+10 每个信号量标识包含的信号量数目ITPUB个人空间`n!?S#q~&@\

5G | z/M"Gc w&^/h0semmns sum(init.ora.processes)*10+max(init.ora.processes)+count(init.ora)*10 系统信号量最大数目
"x6E7z"u jx&i0ITPUB个人空间'OO'ZIO
semopm 100 每个semop调用最大操作数目ITPUB个人空间4l-q1cd/m @
ITPUB个人空间@8IzF8dcb%YU4^V
rlim_fd_max 4096 系统文件句柄最大数目ITPUB个人空间;i}PXr Y*k

]d})x+^"aXs/Ne!Y0J0rlim_fd_cur 1024 每个进程文件句柄最大数目
5c(s6BC ~3XD6fMOz!i(O0
vUvM8pyU:V0修改/etc/system,并重启使核心参数生效ITPUB个人空间'H&J^ SVvVv4k

{-K\1^/H:C0例:ITPUB个人空间^2O q{H&u/n

Zmqi)X,p ?c+d0set shmsys:shminfo_shmmax=2147483648ITPUB个人空间ZQ ~FD&Q XR.]WB

Ap6X G |7Qm0set shmsys:shminfo_shmmin=1
:x1k,I;pK4UG(\,f9gK0ITPUB个人空间:a@(d9O5c/s
set shmsys:shminfo_shmmni=100
_3OM3sj(e S])_0
&}sF Bhh0set shmsys:shminfo_shmseg=10
'p4h,n8o4|Q0ITPUB个人空间P[ r3p g+eG
ITPUB个人空间|Qi:S Fb

"LTP.uh+P8p0set semsys:seminfo_semmni=200
&Q U'O!f*iJ:FyP k6R0
~ p6m$Su+A0set semsys:seminfo_semmsl=200ITPUB个人空间L#xO,Odr6B s6e,CV

(Ml*?V+EG0set semsys:seminfo_semmns=1000
b8B6Hkz J }x0
6l/Rd`Te0set semsys:seminfo_semopm=100ITPUB个人空间x6R)W-h1K-?
ITPUB个人空间V Vk3Fmz3d
set semsys:seminfo_semmap=200ITPUB个人空间WM0Pw2n:nqM}|*O&V

W)I1s/]0KX/v~0set semsys:seminfo_semmnu=250
ACR `9x*OnR0
]+g*y m:ILkAt0set semsys:seminfo_semvmx=32767
#_ _%v'j%kc D })J0ITPUB个人空间L:Iq4PYS!S
ITPUB个人空间7Nb {FQ.\x0A

C.Q H#sl/B!Di m0set msgsys:msginfo_msgmni=200
xv2G#B)U}7c7j0ITPUB个人空间$a8Z nii)Za D
set msgsys:msginfo_msgmap=200ITPUB个人空间h$\:G9P6}_)m
ITPUB个人空间pNhH? J:lT-e
set msgsys:msginfo_msgmax=65536ITPUB个人空间 Wi d\L}
ITPUB个人空间iN'}7sL s |5ZE
set msgsys:msginfo_msgmnb=655360
G1RgoR0ITPUB个人空间*T+H9p%t| R4v
set msgsys:msginfo_msgssz=64
:TN?9BVA'^7p_ P0ITPUB个人空间:F2D/U-EEAA.F
set msgsys:msginfo_msgtql=1000ITPUB个人空间3sn}0d;V;D _oD
ITPUB个人空间'Vt/R xTS.Gx
set msgsys:msginfo_msgseg=16384
a8rF/VK IN0ITPUB个人空间#S)\k8S'B

H%KlX ^}8W xD-X0
#T"jZ HH6tuES0set rlim_fd_max=4096
p2K!}JAuPL0ITPUB个人空间J_;j"xD7N i
set rlim_fd_cur=1024ITPUB个人空间UAar/~+I I#p)ik
ITPUB个人空间x D;K4u x x
参见solaris_7_8/systemITPUB个人空间nf3CY,J%G7Lo

&\$L8O;T*~$r2M*y0注意:
;B4W+ID_6S q0
I@u!BmD0一定要先重建好kernel后再安装,因为oracle安装时根据kernel动态连接程序,如果先安装oracle,即使随后正确调整kernel,也会带来许多问题,如oracle进程不能拉起,instance创建失败等。ITPUB个人空间(_:K4a-~Wmzj uF&]

zHw!\U D-uU/S"M0在kernel参数中,对数据库运行影响最大的主要是SHMMAX,SEMMNS,SEMMNI,SEMMSL,SHMMAX取内存一半即可,SEMMNS理论上应等于SEMMNI*SEMMSL,实际取一个较大值即可。ITPUB个人空间Rt4HP8I i2y8S

)r$GU;s0yx0SEMMNS: 信号量最大个数,有些系统可忽略,因为他与SEMMNI,SEMMSL有关。
ITPUB个人空间5Wr0`3I8_A?y,K

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-24  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 12244
  • 日志数: 273
  • 图片数: 1
  • 文件数: 2
  • 建立时间: 2007-12-01
  • 更新时间: 2008-11-19

RSS订阅

Open Toolbar