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

Installing Oracle 10g on RHEL AS 4 Step-by-Step

2009-03-31 22:13 609 查看
InstallingOracle10gonRedHatEnterpriseLinuxAdvancedServer4(RHEL4)

本文描述了在RedHatEnterpriseLinuxAdvancedServer4(RHEL4)上安装Oracle10g(10.1.0.3.0)必要的步骤和相关知识.本文假定
你的Linux操作系统已经安装完毕(“开发”一项里面全选“开发工具”,“原有的软件开发”),并且您应该具有一定的Unix操作系统背景知识.
配置RedHatAS4

操作系统版本:RedHatEnterpriseLinuxASrelease4(Nahant)
       Kernel2.6.21-4.ELonani686

按照常规来安装操作系统,记得要安装开发工具(gcc等必要工具).

必要的硬件信息检查:

检查内容

最小值
检查命令参考
物理内存
512M
#grepMemTotal/proc/meminfo
交换空间
1.0GB或者2倍内存大小
#grepSwapTotal/proc/meminfo
/tmp空间
400MB
#df-k/tmp
软件所需空间
2.5GB
#df-k(空间越大越好,如果是正式系统,应该进行详尽的规划)
数据库文件
1.2GB
#df-k(空间越大越好,如果是正式系统,应该进行详尽的规划)
检查完如上各项之后,应该修改核心参数.执行如下命令:
#vi/etc/sysctl.conf
#注释:#表示使用root用户操作,$表示使用oracle用户进行操作.提示符后面的蓝色部分表示需要输入的命令,以下同.

在该文件末尾加入如下内容:

#-----------Beginfromhere--------------------------------------
kernel.shmall=2097152
#kernel.shmmax=2147483648
kernel.shmmax=4294967295#liuzysuggested(根据实际情况变化)
kernel.shmmni=4096
kernel.sem=25032000100128
fs.file-max=65536
net.ipv4.ip_local_port_range=102465000
#--------------Endhere--------------------------------------------

编辑完之后,保存,执行#/sbin/sysctl-p命令操作来使我们所做的变更生效.
注:上面kernel.shmmax/kernel.sem等是典型的核心参数配置.您可能需要根据您的实际环境进行适当的变动.
关于这些核心参数的说明在Oracle的Oracle9iInstallationGuide Release2(9.2.0.1.0)forUNIXSystems
中有很详细的说明.(http://download-west.oracle.com/docs/html/A96167_01/toc.htm)

然后,应该检查一下上面的操作是否正确:

#/sbin/sysctl-a|grepsem
#/sbin/sysctl-a|grepshm
#/sbin/sysctl-a|grepfile-max
#/sbin/sysctl-a|grepip_local_port_range

Oracle用户设定Shell的限制

一般来说,出于性能上的考虑,还需要需要进行如下的设定,以便改进Oracle用户的有关nofile(可打开的文件
描述符的最大数)和nproc(单个用户可用的最大进程数量)

#vi/etc/security/limits.conf
#添加如下的行
*softnproc2047

*hardnproc16384

*softnofile1024

*hardnofile65536

也有一说是:暂时按照上一种

oraclesoftnproc2047

oraclehardnproc16384

oraclesoftnofile1024

oraclehardnofile65536


添加如下的行到/etc/pam.d/login文件:

sessionrequired/lib/security/pam_limits.so

编辑/etc/profile文件,添加如下部分:




if[$USER="oracle"];then

if[$SHELL="/bin/ksh"];then

ulimit-p16384

ulimit-n65536

else

ulimit-u16384-n65536

fi

fi


之后,

#source/etc/profile

执行$unlimit验证一下.

检查并安装相关补丁
在这个版本的RHEL上安装Oracle,必须要有几个软件包.确认以下rpm包都已经安装:

make-3.79
binutils-2.11
openmotif-2.2.2-16
setarch-1.3-1
compat-db-4.0.14.5
compat-gcc-7.3-2.96.122
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122

#rpm-qa|grepcompat
#在我的机器上输出如下:
compat-gcc-c++-7.3-2.96.122
compat-libstdc++-7.3-2.96.122
compat-libstdc++-devel-7.3-2.96.122
compat-glibc-7.x-2.2.4.32.5
compat-db-4.0.14-5
compat-gcc-7.3-2.96.122
#rpm-qa|grepopenmotif
openmotif-devel-2.2.2-16
openmotif-2.2.2-16
#rpm-qa|grepsetarch
setarch-1.3-1
上面显示的内容是在笔者已经安装了具体的RPM包之后的结果.一般情况下,你的系统上的输出结果和这个不同.如果个
别包没有安装,把系统安装光盘mount上,找到具体的软件包(大多数在第三张光盘上),然后利用如下的命令来安装相应
的包:
#rpm-ivhcompat.....rpm
要额外注意的是,这些软件包之间是有依赖性的,先后的顺序要找好.否则会报告不能安装的错误.
此外,最好验证一下gcc和glibc的版本(要求是gcc-3.2.3-2或者更高)
#gcc-v
#rpm-qglibc
注:如果验证不成功也没有关系(只是警告),照样可以继续安装
创建用户和相关的组

#/usr/sbin/groupaddoinstall
#/usr/sbin/groupadddba
#/usr/sbin/useradd-goinstall-Gdbaoracle
如果只是测试目的的话,不创建oinstall组也没什么.不过还是规范一点比较好.如果oracle用户和dba组等已经存在,作
适当的调整即可.
#mkdir-p/opt/app/oracle/product/10.1.0/db_1
检查并调整环境变量
登录为oracle用户
#passwdoracle
#111111
#111111
#su-oracle
$cd
$vi.bash_profile
#添加如下内容,你的具体值应该不会和这个完全相同.
exportORACLE_BASE=/opt/app/oracle
exportORACLE_HOME=$ORACLE_BASE/product/10.1.0/db_1
exportORACLE_SID=ORCL
exportPATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
exportLC_CTYPE=en_US.UTF-8
然后执行
$source.bash_profile
使环境变量生效./opt/app/oracle等目录应该建立好并做合适的授权.
$exit
#chownoracle.oinstall-R/opt/app/#让oinstall组的oracle用户对/opt/app下面拥有权限
注:如有必要修改/etc/redhat-release内容为RedHatEnterpriseLinuxASrelease3(Taroon)

开始安装10g
使用winscp拷贝ship.db.lnx32.cpio.gz到相应的目录下面比如:/
#gunzipship.db.lnx32.cpio.gz
#cpio–idcmv<ship.db.lnx32.cpio

$sh/Disk1/runInstaller如果不能出现安装画面,查看本文后面的FAQ
出现提示并按照提示执行后:
CreatingtheOracleinventorypointerfile(/etc/oraInst.loc)
Changinggroupnameof/opt/app/oracle/oraInventorytooinstall.

非常值得称道的是,10g的安装相比以前的多了一个Checkingoperatingsystemcertification的步骤。特别实用。
安装文件会自动检测所需的条件。如果有不符合的地方,安装程序会报告给你.并会给出具体原因。大大减少了出错的可能.
下面是检查成功输出的内容:

Checkingoperatingsystemcertification
Expectedresult:Oneofredhat-2.1,redhat-3,UnitedLinux-1.0
ActualResult:redhat-3
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

Checkingkernelparameters
CheckingforVERSION=2.4.9.25;foundVERSION=2.4.21.Passed
Checkingforshmall=2097152;foundshmall=2097152.Passed
Checkingforshmseg=10;foundshmseg=4096.Passed
Checkingforsemmsl=250;foundsemmsl=250.Passed
Checkingforsemmni=128;foundsemmni=128.Passed
Checkingforfilemax=65536;foundfilemax=65536.Passed
Checkingforshmmni=4096;foundshmmni=4096.Passed
Checkingforsemmns=32000;foundsemmns=32000.Passed
Checkingforsemopm=100;foundsemopm=100.Passed
Checkingforshmmin=1;foundshmmin=1.Passed
Checkingforshmmax=2147483648;foundshmmax=2147483648.Passed
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

Checkingrecommendedoperatingsystempackages
Checkingformake-3.79;foundmake-3.79.1-17.Passed
Checkingforbinutils-2.11.90.0.8-12;foundbinutils-2.14.90.0.4-26.Passed
Checkingforgcc-2.96;foundgcc-3.2.3-20.Passed
Checkingforopenmotif-2.1.30-11;foundopenmotif-2.2.2-16.Passed
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

Checkingrecommendedglibcversion
Expectedresult:2.2.4.31.7
ActualResult:2.3.2.95.3
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================

ValidatingORACLE_BASElocation(ifset)
Checkcomplete.Theoverallresultofthischeckis:Passed
=======================================================================
其他的步骤比较清晰,不再赘述.最后系统会提示你运行root.sh文件.按照提示做即可.

FAQ(Linux平台安装Oracle比较常见)
1.不能启动安装界面.运行runInstaller提示信息类似如下:
xlib:connectionto"localhost:0.0"refusedbyserver
xlib:clientisnotauthorizedtoconnecttoserver

Exceptioninthread"main"java.lang.InternalError:can'tconnecttox11windowserverusing"localhost:0.0"
at.......
解决办法:设定你的DISPLAY环境参数.#exportDISPLAY=your_IPaddress:0.0把your_IPaddress换成你的IP.或者
用root简单的执行一下#xhost+(要注意这样会有安全上的隐患)

2.安装界面显示很多"口口"样子的乱码解决办法:查看locale输出
[b]#
[/b]localeLANG=en_US.UTF-8
LC_CTYPE=zh_CN.GB18030
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
执行#exportLC_CTYPE=en_US.UTF-8然后重新调用安装程序.

3.IE登录Linux服务器上的em出现乱码 在Linux(Unix)环境下成功安装了Oracle10g,从windows下用IE浏览器登录10g的em,按钮是"口口"这样的方框.解决办法:参考 http://www.dbanotes.net/Oracle/Oracle-10g-font.properties.htm或者是参考这个后者比较彻底,前者比较"Quick'target='_blank'>http://www.linuxsir.org/bbs/showthread.php?s=&threadid=98591后者比较彻底,前者比较"Quick&Dirty".

[b]4.
[/b]创建数据库的时候出现ORA-03113的错误解决办法:查看核心参数是否调整正确.参考http://www.dbanotes.net/Oracle/ORA-03113.htm

[b]5.RedHat9/FC1
[/b]等系统10g不支持如何安装?解决办法:在10g不支持的Linux发行版上安装10g的解决方法1).运行runInstaller-ignoreSysPrereqs,这样会跳过检查

2).摘自http://www.puschitz.com/修改/etc/redhat-release文件:

#su-root
#cp/etc/redhat-release/etc/redhat-release.backup
#cat>/etc/redhat-release<<EOF
RedHatEnterpriseLinuxASrelease3(Taroon)
EOF

安装完毕,执行如下操作:
#su-root
#cp/etc/redhat-release.backup/etc/redhat-release

3).http://www.dbanotes.net/Oracle/10G-Beta-Install-Bug.htm

同样的思路,我们可以修改Oracle的install/oraparam.ini文件达到目的

[b]6
[/b]如何关掉那些ocssd.bin进程?解决办法:编辑/etc/inittab文件(做好备份)

注释掉这一行:

h1:3:respawn:/etc/init.d/init.cssdrun>/dev/null2>&1</dev/null
参考信息

WernerPuschitz的10g安装指南http://www.puschitz.com/InstallingOracle10g.shtmlWernerPuschitz的站点的文章很翔实,如果您遇到了本文没有说清的问题,可以去看看那里.本文借鉴了该站点不少内容.

[b]ITPUB
[/b]论坛10g版块Kamus等的大作http://www.itpub.net/forumdisplay.php?s=&forumid=70

关于核心参数等信息请查找Googlehttp://www.google.com/

OracleDatabaseQuickInstallationGuide10gRelease1(10.1)forLinuxx86
http://download-west.oracle.com/docs/html/B10813_01/toc.htm

OracleDatabaseInstallationGuide10gRelease1(10.1)forUNIXSystems
http://download-west.oracle.com/docs/html/B10811_02/toc.htm

DBAnotes.net我的站点包括不少和Oracle有关的信息 http://www.dbanotes.net/

启动

1.使用oracle账户登陆
2.lsnrctlstart
3.sqlplus/nolog
4.conn/assysdba
5.startup
排错(肯定会碰到问题)
1.根据提示cp/opt/app/oracle/product/10.1.0/db_1/dbs/init.ora
/opt/app/oracle/product/10.1.0/db_1/dbs/initORCL.ora
2.清除initORCL.ora里面所有的内容
3.把这句话写入:SPFILE='/opt/app/oracle/product/10.1.0/db_1/dbs/spfileorcl.ora'
4.再次启动,如果还是不成功,可能会是这种提示:
ORA-01990:erroropeningpasswordfile'/opt/app/oracle/product/10.1.0/db_1/dbs/orapw'
5.cp/opt/app/oracle/product/10.1.0/db_1/dbs/orapworcl/opt/app/oracle/product/10.1.0/db_1/dbs/orapw
6.注意可能需要修改权限chownoracle.oinstall/opt/app/oracle/product/10.1.0/db_1/dbs/orapw
7.再次启动,成功!

查看编码:
SELECT*FROMNLS_DATABASE_PARAMETERS;
修改编码为AL16UTF16
更改服务器端字符集
1.推荐方法
SQL>conn/assysdba另:connsystem/manager也可(先确保系统已采取OS认证方式,否则会连接不成功)
SQL>shutdownimmediate必须先关闭database,才能执行下面的启动操作
SQL>conn/assysdba以超级权限连接(先确保系统已采取OS认证方式,否则会连接不成功)
SQL>startupmount;
SQL>altersystemenablerestrictedsession;
SQL>altersystemsetjob_queue_processes=0;
SQL>alterdatabaseopen;
SQL>alterdatabasecharactersetAL16UTF16;
SQL>alterdatabasenationalcharactersetutf16;
SQL>shutdownimmediate;更改完关闭数据库
SQL>startup;正常启动使其生效
2.参考方法
updateprops$setvalue$='ZHS16GBK'WHERENAME='NLS_CHARACTERSET';
updateprops$setvalue$='ZHS16GBK'WHERENAME='NLS_NCHAR_CHARACTERSET';
commit;

更改客户端字符集(linux)
exportNLS_LANG=.AL16UTF16
或exportNLS_LANG=.ZHS16GBK

更改客户端字符集为ZHS16GBK(windows下)
SETNLS_LANG=AMERICAN_AMERICA.ZHS16GBK(AMERICAN_AMERICA.AL16UTF16)
创建表空间
--dropuser先删掉用户所有信息
dropuserhbdxCASCADE;
droptablespacehbdx_dataincludingcontentsanddatafiles;
droptablespacephp_dataincludingcontentsanddatafiles;
commit;
1.创建表空间hbdx_data时将数据文件设置为自动增长方式
createtablespacehbdx_datadatafile'/opt/app/oracle/oradata/orcl/hbdx_data.dbf'size100Mautoextendonnext100MmaxsizeUNLIMITEDextentmanagementlocal;
(next参数指定每次自动增长的大小,maxsize为数据文件的最大大小)
2.创建表空间php_data时将数据文件设置为自动增长方式
createtablespacephp_datadatafile'/opt/app/oracle/oradata/orcl/php_data.dbf'size100Mautoextendonnext100MmaxsizeUNLIMITEDextentmanagementlocal;

创建用户

--Createtheuser
createuserhbdxidentifiedbyhbdxdefaulttablespacehbdx_datatemporarytablespacetempprofileDEFAULTACCOUNTUNLOCK;
--Grant/Revokeroleprivileges
grantconnecttohbdxwithadminoption;
grantdbatohbdxwithadminoption;
grantresourcetohbdxwithadminoption;
--Grant/Revokesystemprivileges
grantunlimitedtablespacetohbdxwithadminoption;
commit;

数据导入
imphbdx/xxxx@orcl或imphbdx/xxx

1.Enterinsertbuffersize(minimumis8192)30720>65536

ExportfilecreatedbyEXPORT:V10.02.01viaconventionalpath
importdoneinUS7ASCIIcharactersetandZHS16GBKNCHARcharacterset
importserverusesZHS16GBKcharacterset(possiblecharsetconversion)
exportclientusesZHS16GBKcharacterset(possiblecharsetconversion)
exportserverusesAL16UTF16NCHARcharacterset(possiblencharsetconversion)
Listcontentsofimportfileonly(yes/no):no>

1.ExportfilecreatedbyEXPORT:V08.01.06viaconventionalpath
importdoneinUS7ASCIIcharactersetandZHS16GBKNCHARcharacterset
importserverusesZHS16GBKcharacterset(possiblecharsetconversion)
exportclientusesZHS16CGB231280characterset(possiblecharsetconversion)
exportserverusesZHS16CGB231280NCHARcharacterset(possiblencharsetconversion)

如果出现这两种情况,需要运行exportNLS_LANG=.ZHS16GBK
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: