Linux(Centos5.4)上安装oracle10g

ssjiaqiong 2011-01-06 12:43:49
上次抱怨了一下,这次把安装的详细过程记录一下,不过也是按照别人写的做和,呵呵 见谅啊..
我用的是Centos5.4 DVD光盘安装的linux操作系统,安装linux的时候选上开发工具,Xmanager,与数据库相关的包。

操作系统安装完成之后需要进行一系列的配置才能安装oracle10g,下面把主要步骤记录下来。

1.安装完操作系统之后还是有些包没有安装,然而安装oracle10g的时候需要用到,没有安装的包有:

libXp-1.0.0-8.i386.rpm

openmotif-2.3.0-0.3.el5.i386.rpm

compat-db-4.2.52-5.1.i386.rpm

ps

依赖的包有:

1.binutils-2.17.50.0.6-12.el5
  2.compat-db-4.2.52-5.1
  3.control-center-2.16.0-16.el5
  4.gcc-4.1.2-46.el5_4.1
  5.gcc-c++-4.1.2-46.el5_4.1
  6.glibc-2.5-42
  7.glibc-common-2.5-42
  8.libstdc++-4.1.2-46.el5_4.1
  9.libstdc++-devel-4.1.2-46.el5_4.1
  10.make-3.81-3.el5
  11.pdksh-5.2.14-36.el5
  12.sysstat-7.0.2-3.el5
  13.libaio-0.3.106-3.2
  14.openmotif22-2.2.3-18
  15.libXp-1.0.0-8.1.el5

2.添加组和用户

groupadd dba --创建dba组

groupadd oinstall --创建oinstall组

useradd -g oinstall -G dba -m oracle

-g表示 oracle用户属于oinstall组,也就是前面创建的oinstall组

-G表示 oracle的附加组为dba,也就是前面创建的dba组

-m表示自动创建 oracle用户的登入目录

passwd oracle --给oracle创建密码 需要连续输入两次

3.创建安装目录和授予权限

mkdir -p /u01/app/oracle --创建ORACLE_BASE目录,我是将/u01/app/oracle单独挂在到一个磁盘

chown -R oracle.oinstall /u01 --让oracle用户成为/u01的拥有者

4.在/etc/sysctl.conf中添加如下内容

kernel.shmall = 2097152 (已经定义了,直接在上面修改)

kernel.shmmax = 2147483648 (已经定义了,直接修改)

kernel.shmmni = 4096

# semaphores: semmsl, semmns, semopm, semmni

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default=262144

net.core.rmem_max=262144

net.core.wmem_default=262144

net.core.wmem_max=262144

我是添加到最末尾的,注意对齐

5. 运行如下命令使刚才修改的参数生效

/sbin/sysctl -p

6.在/etc/security/limits.conf 文件中增加如下内容

* soft nproc 2047

* hard nproc 16384

* soft nofile 1024

* hard nofile 65536

注意我是在 END FILE 之前添加的,注意对齐

7.在/etc/pam.d/login 中添加如下内容

session required /lib/security/pam_limits.so

8. 因为 SELINUX 对 oracle 有影响,所以把 secure linux 设成无效,编辑文件 /etc/selinux/config : SELINUX=disabled

9.改变操作系统版本,因为 oraclce10g 不支持 Centos5.4(RHEL5),将 /etc/redhat-release 里面的 5 改成 4 ,安装完之后该回来 Centos5.4 里面是 5.4 (Final)

10.以oracle用户登录系统

vi .bash_profile 增加下面内容到.bash_profile中

export NLS_LANG="AMERICAN_AMERICA.UTF8"

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR



ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.1/db_1; export ORACLE_HOME

ORACLE_SID=oracle; export ORACLE_SID

ORACLE_TERM=xterm; export ORACLE_TERM

PATH=$PATH:$ORACLE_HOME/bin; export PATH

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib; export LD_LIBRARY_PATH

CLASSPATH=$ORACLE_HOME/JREORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH

到此准备过程基本完成,在安装快要结束的时候会要求以root身份执行两个脚本

我们可以通过cygwin远程连接到linux主机安装oracle10g,如果这样安装需要xhost + ,export DISPLAY

也可以直接在linux主机上用图形化的界面安装oracle10g,我们只需打开一个shell,将oracle的runInstaller拖拽到shell中,稍等片刻就会出现熟悉的安装界面了。



***********************

四、 自启动设置
Oracle 10g需要启动以下服务(在oracle用户下)
$ lsnrctl start
$ dbstart
$ emctl start dbconsole
$ isqlplusctl start
所以需要做以下配置:
默认dbstart是不起作用的。需要以下配置
1.修改/etc/oratab
$ vi /etc/oratab
oradb:/opt/ora10/product/10.2.0.1:Y(原来是N改为Y)
2.拷贝一个系统配置好的 PFILE 到 dbs 目录下
# cp /opt/ora10/admin/oradb/pfile/init.ora.2292007201045 $ORACLE_HOME/dbs/init.ora ($ORACLE_HOME路径要看安装路径而定)
现在你可以测试一下
$ dbstart
注:如果安装版本是10201,可能会出现这个错误:
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr
修改dbstart的第78行 ($ORACLE_HOME/bin/dbstart)
ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle
为ORACLE_HOME_LISTNER=$ORACLE_HOME

$ dbshut

最后在/etc/rc.d/rc.local中加入如下代码:
su - oracle -c "lsnrctl start"
su - oracle -c "dbstart"
su - oracle -c "emctl start dbconsole"
su - oracle -c "isqlplusctl start"

这样重启动服务器后Oracle就会自动启动了。

五、 Oracle 10g设置
iSQL*Plus URL:连接地址:http://server:5560/isqlplus
iSQL*Plus DBA URL:连接地址:http://server:5560/isqlplus/dba
Enterprise Manager 10g Database Control URL:连接地址:http://server:1158/em
用户名:sys
口令:******
连接身份:SYSDBA
继续登陆请单击 “我同意”按键;
#su – oracle
$ startx

$netca启动配置网络配置助手
$sqlplus /nolog启动sqlplus
$dbca 启动数据库配置助手(DCA),建oracle数据库



我前几次都是到65%的时候就出错了,那是因为oracle10g 不支持redhat5的缘故,给一下就好了 呵呵..
...全文
157 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

1,617

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧