1、在 Redhat Enterprise linux 5 上 安装 Oracle10g Release 2前阵子,由于项目需要,小弟学习了点 Oracle,安装数据库是第一步。当时系统时 Ubuntu,不管三七二十一,我用系统中自带的安装软件直接安装,可想而知,错误连连。网上搜罗了一阵,原来 Oracle 安装步骤蛮复杂的么 ?小弟最近不知从那儿下载了份安装 Orale 的帮助文档,试安装了几次 Oracle,出问题的次数真的很少。下面是这篇文档的内容,分为 5 个部分,个人感觉还是比较全面的。当然根据你 Oracle 版本的不同或者选择的安装的参数的不同可能过程出现的图片不一致,您可以根据自己
2、的情况继续安装。一、安装环境在 vmware 里虚拟的 RHEL5,分配的内存 1G,SWAP 分区 1G,建议你最好把 SWAP 分区改成 2G。否则安装时,到了测试的步骤会提示监测失败。(当然,如果你强行安装一样没问题)二、安装 Oracle 10g Release2 前的配置1. 安装 Oracle 10g R2 所需的软件包(RedHat Enterprise LINUX 5 的安装包)(# cd /mnt/cdrom/Server/ )# rpm -Uvh setarch-2*# rpm -Uvh make-3*# rpm -Uvh glibc-2*# rpm -Uvh libaio
3、-0*# rpm -Uvh compat-libstdc+-33-3*# rpm -Uvh compat-gcc-34-3*# rpm -Uvh compat-gcc-34-c+-3*# rpm -Uvh gcc-4*# rpm -Uvh libXp-1* (libXp -1(控制图形界面的,如果没有安装这个包,在运行 runInstaller 的时候,就说找都不到 libawt.so: libXp.so.6: cannot open shared object file: No such file or directory occurred.)# rpm -Uvh openmotif22-*
4、# rpm -Uvh compat-db-4*其实在装系统的时候,将什么开发工具之类的能装上全装上,免得到时候安装 oracle 的时候,尽出些莫名其妙的错误。说明:其中除了 openmotif22-2.2.3-18 和 compat-db-4.2.52-5.1 在第三张盘上,其余的包都在第一张盘上。(我用的 ISO,DVD 形式的,就全部在 Server 上。)如果不能安装,就强制安装 rpm -i compat-db-4* -force -nodeps 可以忽略所有依赖关系和文件问题,什么包都能安装上,但这种强制安装的软件包不能保证完全发挥功能2. 修改/etc/redhat-releas
5、e 文件因为 Oracle 10g 官方只支持到 RHEL4 为止,所以需要更改版本说明,编辑 /etc/redhat-release 文件,删除 Red Hat Enterprise Linux Server release 5 (Tikanga),改为 redhat-4#vi /etc/redhat-release 然后直接删除粘贴就行了。3.修改内核参数 view sourceprint?#vi /etc/sysctl.conf (在配置文件后,将下面的全部粘贴到文件的最后,其实不是修改,是增加)kernel.shmall = 2097152kernel.shmmax = 2147483
6、648kernel.shmmni = 4096kernel.sem = 250 32000 100 128fs.file-max = 65536net.ipv4.ip_local_port_range = 1024 65000net.core.rmem_default=262144net.core.rmem_max=262144net.core.wmem_default=262144net.core.wmem_max=262144使更改立即生效,使用下面的命令:#sysctl -p 4.建立安装 Oracle 需要的用户,组,及目录 (这个地方如果简单的按照下面的程序做也能安装成功,但是如果想
7、把 oracle 安装别的目录里面,就需要修改,这里只是简单在根目录下建立 oracle,然后将 oracle 安装在这个目录下,如果要把 oracle 安装在 opt 下面,就需要进行简单的修改。)#groupadd oinstall#groupadd dba#groupadd oper#useradd -g oinstall -G dba oracle#passwd oracle#mkdir /oracle (如果要把 oracle 安装在 opt 下面,就是 mkdir /opt/oracle,然后修改下面的权限)#chown -R oracle:oinstall /oracle (ch
8、own -R oracle:oinstall /opt/oracle)#chmod -R 775 /oracle (chmod -R 775 /opt/oracle)安装 oracle 的目录建议安装在一个单独的分区或者磁盘上。5.设置 oracle 用户的 shell limit (为了提高在 linux 系统上运行软件的性能,必须对 oracle 用户设置下列限定。)#vi /etc/security/limits.conf oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nof
9、ile 65536接下来更改/ etc/pam.d/login 文件,添加下面的内容,使 shell limit 生效:#vi /etc/pam.d/loginsession required pam_limits.so6.配置 IP 地址 (这个可以在安装的时候就确定,如果没有确定,也可以通过系统自带的工具修改)安装 RHEL 的时候最好采用静态 IP 地址,如果当时选择的是 DHCP,现在需要更改/etc/sysconfig/network-scripts/ifcfg-eth0 文件rootTSM54-Test network-scripts# cat ifcfg-eth0# Advanc
10、ed Micro Devices AMD 79c970 PCnet32 LANCEDEVICE=eth0BOOTPROTO=staticHWADDR=00:0C:29:4B:17:C4ONBOOT=yesIPADDR=192.168.68.98NETMASK=255.255.255.0GATEWAY=192.168.68.107.配置 oracle 用户的环境变量下面的操作,该用 oracle 用户登陆执行了。为了防止安装 oracle 时出现乱码,先把语言环境改为英文,在终端里输入:oracleTSM54-Test $export LC_CTYPE=en_US.UTF-8 (我安装的系统就是
11、中文的,在安装的时候没有设置这些东西。)接下来,编辑/home/oracle 目录下的.bash_profile 文件,添加如下内容:export ORACLE_BASE=/oracleexport ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1export ORACLE_SID=orcl (看你要设置的 SID 是什么,我的是 PDBQZ,就将 orcl 修改为 PDBQZ)export PATH=$PATH:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/libCL
12、ASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlibexport CLASSPATH下面这段其实可以不要,我也知道是做什么用的,可能是优化之类的。if $USER = “oracle“ ; thenif $SHELL = “/bin/ksh“ ; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi(注:在某些系统中,例如 Fedora 14 “ulimit -u 16384 -n 65536“后面貌似要加个 umask 022,否则会
13、出错。请大家查明,或者这段脚本干脆就不加了)三.安装 Oracle 10g1、用 Oracle 登陆,把 10201_database_linux32.zip 放在/opt 目录下2、解压#unzip 10201_database_linux32.zip3、现在使用 oracle 用户到/opt/database 目录下执行安装:在这里可能要在 root 下面修改 database 的权限,以 root 用户登录,输入:chmod -R 755 databaseview sourceprint?oracleTSM54-Test opt$ cd /opt/database/oracleTSM54
14、-Test database$ lsdoc install response runInstaller stage welcome.htmloracleTSM54-Test database$ ./runInstaller在这里会遇上一个 DISPLAY 尚未设置。请设置 DISPLAY 后重试,解决办法:1.在 root 下( 以 root 用户登录)执行#xdpyinfo 记录下 name of display:后的字符串,如 127.0.0.1:1.0 (我的记录的为:0.0)2. #xhost + 显示:access control disabled,clients can conne
15、ct from any host 3.切换到 Oracle 用户: #su - oracle 4.在 Oracle 用户下执行命令:export DISPLAY=:1.0 (看你的记录是多少,用 KDE 的话是 0.0,用 GONE 的话是 1.0,当然我测试是这样,具体还要看情况)5.在 Oracle 下执行 xdpyinfo 命令,如果能正常显示,说明设置成功 先安装数据库1.选择安装类型,基本安装,不创建数据库,之后再创建数据库实例。如下图所示:2.指定证书存放目录,因为在.bash_profile 的时候,都设置好了,直接点下一步。如图所示:3.在这里会检查安装是否符合条件,如果没有什
16、么问题的话,就只有第一个 Checking Network Configuration requirements 要勾选,就出现 User Verified ,直接 next 进入准备安装界面,如下图所示:4,开始安装 oracle 数据库,如果没有什么问题,直接走完,要是有些 rpm 包没有安装完全,就会出现错误。出现错误后就检查看是否有是哪个包没有安装。在安装的过程中会出现要执行的程序。直接进入下面的目录,运行程序,一切都是默认。#/oracle/oraInventory/orainstRoot.sh #/oracle/product/10.2.0/db_1/root.sh 5,单独创建数
17、据库实例,在终端进入 opt/oracle/product/10.2.0/db_1/bin 目录,然后./dbca 启动创建实例程序。启动后的界面如下:直接 next6,出现创建数据库的界面,直接 next。7,默认创建通用数据库。next。8,输入要创建数据库实例的名称 SID,next 。9,直接默认,点 next。10,给数据库实例设置密码,这里直接设置统一的密码,也可以单独设置密码。next。11,创建的数据库默认为文件系统,不改变,next。12,直接默认选项,next。13,数据库恢复默认选项,next 。14,关于 schemas,不管,直接 next。15,设置内存,大小,字符
18、,连接模式。大小默认。字符集选择简体中文,如果没有设置这个,数据库中的中文字符就会出现乱码。直接默认为 Dedicated Server mode 专用的服务器模式。next。下面还有一个 All initialization Parameters,可以根据需要初始化有些参数。16,默认,直接 next。17,默认创建数据库,finish。18.,配置文件,如果需要可以保存一下。然后进入最后的环节创建数据库。19,如果你到达这个界面,恭喜你成功了!开始玩 oracle 了。oraclewillie root$ source oraenv (这个命令是用来修改 SID 的)ORACLE_SID
19、= oracle ?PDBQZ (我的 SID 是 PDBQZ)bash: /root/.bashrc: Permission denied 重新產生 spfile: SQL create spfile from pfile; 将$ORACLE_BASE/admin /数据库名称/pfile 目录下的 init.ora.012009233838 形式的文件 copy 到$ORACLE_HOME/dbs 目录下 initoracle.ora 即可。(注: initoracle.ora 中的 oracle 为你的实例名 ORACLE_SID)20,.安装完成后,恢复语言环境以及版本信息 #expo
20、rt LC_CTYPE=zh_CN.UTF-8 #vi /etc/redhat-release Red Hat Enterprise Linux Server release 5 (Tikanga) 四、后续 1.安装完成后,首先应该启动监听器。 监听器接受客户端的连接请求,并在验证证书后创建数据库连接。要使用 OEM 或 iSQL*PLUS,必须先启动监听器。 oracleTSM54-Test database$ lsnrctl startoracleTSM54-Test database$ lsnrctl stop2.使用 Oracle Enterprise Manager 10g 进行数
21、据库控制启动和停止 OEM 的命令为:oracleTSM54-Test database$emctl start dbconsoleoracleTSM54-Test database$emctl stop dbconsole在 web 浏览器中,输入:http:/192.168.68.98:1158/em (如果服务器没有进行 DNS 解析,则可以用 IP 地址)用户名:SYS口令:连接为:SYSDBA3.使用 iSQL*Plus 访问数据库启动和停止 iSQL*Plus 命令:oracleTSM54-Test database$isqlplusctl startoracleTSM54-Tes
22、t database$isqlplusctl stopiSQL*Plus 是历史悠久的 SQL*Plus 交互式工具的基于 web 的版本,用于访问数据库。要使用 iSQL*Plus,请单击 OEM 控制台相关连接部分中的 iSQL*Plus 链接,或将浏览器指向安装过程中提供的 iSQL*Plus URL。在 web 浏览器中,输入:http:/192.168.68.98:5560/isqlplus用户名:SYSTEM口令:连接标识:orcl4.启动和停止数据库启动和停止数据库的最简单方法是从 OEM 控制台启动和停止。要从命令行执行此操作,请在以 oracle 身份登录后使用 SQL*Pl
23、us,如下所示:启动: $ sqlplusSQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:27:48 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba Connected to an idle instance. SQL startup ORACLE instance started. Total System Global Area 188743680 bytes Fixed Size 778036 b
24、ytes Variable Size 162275532 bytes Database Buffers 25165824 bytes Redo Buffers 524288 bytes Database mounted. Database opened. SQL exit 关闭:$ sqlplus SQL*Plus:Release 10.1.0.2.0 - Production on Sun Jun 13 22:25:55 2004 Copyright (c) 1982, 2004, Oracle.All rights reserved. Enter user-name:/ as sysdba
25、 Connected to: Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production With the Partitioning, OLAP and Data Mining options SQL shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.SQL exitLinux 下 oracle 操作命令 重启 oracle lsnrctl stop sqlplus /nolog conn /as
26、sysdba shutdown (startup) exit lsnrctl start 启动 oracle sqlplus /nolog conn /as sysdba startup exit lsnrctl start 关闭 oracle lsnrctl stop sqlplus /nolog conn /as sysdba shutdown exit 五、卸载 ORACLE (小弟在卸载的时候出了问题,貌似是写错了命令,导致系统不能运行,大家不要随便尝试哦)1. 运行 $ORACLE_HOME/bin/localconfig delete2. rm -rf $ORACLE_BASE/*3. rm -f /etc/oraInst.loc /etc/oratab4. rm -rf /etc/oracle5. rm -f /etc/inittab.cssd6. rm -f /usr/local/bin/coraenv /usr/local/bin/dbhome /usr/local/bin/oraenv 7. 删除 oracle 用户和组。 后记:Oracle 数据库的安装是第一步,成功了。但是后面还有很漫长的学习过程,您当时是如何学习 Oracle 的?或者对于学习Oracle 有何良策?希望大家留点建议