Debian下Oracle10g的安装

关键字:Debian Oracle

1 安装准备

1.1 系统的准备

本文是在Debian linux下Oracle10g的安装笔记。我假设您已经成功的安装并配置了Debian Linux。

1.2 依赖包的安装

在开始Oracle的安装之前,请您确保您至少已经安装了以下软件包。

make gcc g++ libc6-dev

注意:我不确 定,您是否只需要安装以上软件包,但我可以确定的是,您必须安装以上软件包。^_^。软件包的安装: apt-get install make gcc g++ libc6-dev

1.3 创建用户和组

oracle安装需要两个unix用户组和一个运行时的oracle用户。

以root登录:

[root@james]# groupadd dba

[root@james]# groupadd oinstall

[root@james]# useradd -g oinstall -G dba -m oracle

[root@james]# passwd oracle

1.4 创建目录

有很多文档,建议您将oracle安装到一个独立的分区上面。比如:/opt。请您根据您的需要选择合适自己的安装目录。在本文档中,我们假设 oracle的安装目录为/usr/local/ora10。

确保有至少3.5G的可用空间。

[root@james]# mkdir -p /usr/local/ora10/product/10.1.0

[root@james]# mkdir /var/opt/oracle

[root@james]# chown oracle.dba /var/opt/oracle

[root@james]# chown -R oracle.dba /usr/local/ora10

[root@james]# chmod 755 /var/opt/oracle

您生成了oracle的运行时路径,并且授写权限给oracle用户,执行权限给dba组。

1.5 设置内核参数

1.5.1 修改sysctl.conf

添加如下的行到/etc/sysctl.conf中:

kernel.shmmax = 536870912

kernel.shmmni = 4096

kernel.shmall = 2097152

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

注:shmmax是一个很重要参数,根据您的机器的内存来设定。如果您设置不合适的话,在创建数据库到约76%的时候就会挂掉。祝您好运。^_^

1.5.2 修改limits.conf

添加下面的行到/etc/security/limits.conf以修改你的资源限制:

oracle soft nofile 65536

oracle hard nofile 65536

oracle soft nproc 16384

oracle hard nproc 16384

1.5.3 让修改生效

修改了以上文件后,您必须让其生效,您重启系统,或者用以下的方式改变内核运行参数:

[root@james]# echo 250 32000 100 128 > /proc/sys/kernel/sem

[root@james]# echo 536870912 > /proc/sys/kernel/shmmax

[root@james]# echo 4096 > /proc/sys/kernel/shmmni

[root@james]# echo 2097152 > /proc/sys/kernel/shmall

[root@james]# echo 65536 > /proc/sys/fs/file-max

[root@james]# echo 1024 65000 > /proc/sys/net/ipv4/ip_local_port_range

1.6 设置Oracle用户环境

以oracle用户登录:

%su – oracle

修改~/.bash_profile文件,去掉下列三行的注释符,使.bashrc文件生效:

#if [ -f ~/.bashrc ]; then

# . ~/.bashrc

#fi

添加下列行到~/.bashrc:

# oracle 10g

export ORACLE_BASE=/usr/local/ora10

export ORACLE_HOME=/usr/local/ora10/product/10.1.0

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

export ORACLE_OWNER=oracle

export ORACLE_SID=compiere

export ORACLE_TERM=xterm

# Edit paths

export LD_LIBRARY_PATH=/usr/local/ora10/product/10.1.0/lib:$LD_LIBRARY_PATH

export PATH=/usr/local/ora10/product/10.1.0/bin:$PATH

# Set DISPLAY

export DISPLAY="127.0.0.1:0.0"

我是将上面的内容保存到另一个文件中,.bash_oracle,然后在.bashrc中使用source .bash_oracle进行调用 的。您可以根据您的好恶进行设置。您需要注意的是,ORACLE_BASE和ORACLE_HOME的设置一定得和您在前面创建的目录相符。 ORACLE_SID是默认数据库的名称,在本文档中,我们假设默认的数据库名叫compiere,如果您想用其他的名字,请您作相应的修改。

在有些文档中,还建议您需要设置一些其他的内核参数。但是我在安装的时候,没有设置。我的内核是2.6.8。

差别忘记,您还得把. bash_profile文件中的umask=022这一行前的注释符去掉。

1.7 设置DISPLAY

我想您肯定是不想以Oracle用户登录,启动X窗口来进行安装的啦。如果您想直接以oracle用户启动X,进行安装,您可以忽略这一步。

我们假设我们以一个普通用户james来启动gnome。那么,如果您要以oracle用户的身份来进行安装,则您必须首先启用X的TCP/IP连接。

Debian下默认关闭了TCP/IP连接,所以首先要打开X的TCP/IP连接。

在/etc/X11/xinit/xserverrc文件中,您将会看到下面这一行:

exec /usr/bin/X11/X -dpi 100 -nolisten tcp

去掉其中的nolisten,然后重启就OK了。

作为普通用户,打开TCP/IP连接后可能连不上X服务器。需要在用户的.bashrc(/home/james/)中添加下面这一行:

alias startx='startx -- -deferglyphs 16'

然后,您切换到root用户下,添加127.0.0.1的X连接权限:

shell$sudo su -

shell#xhost +127.0.0.1

然后,您就可以继续下一步啦。

请注意:如果您重启系统后,必须 再次执行

xhost +127.0.0.1

2 执行安装

2.1 交换分区的调整

差点忘了,为了安装Oracle 10g,oracle推荐至少512M内存和至少400M交换空间。内存,好象不够关系也不大,但是交换分区 呢,您还是大方一点吧。如果您的交换分区不够400M,那么您还是先看看这一步吧。

重设交换分区可以使用如下操作:

shell# dd if=/dev/zero of=tmp_swap bs=1k count=900000

shell# chmod 600 tmp_swap

shell# mkswap tmp_swap

shell# swapon tmp_swap

完成安装以后,可以释放这个空间:

shell# swapoff tmp_swap

shell# rm tmp_swap

count值是根据您需要调整的交换分区大小而定。

2.1 运行Installer

终于可以安装了。我们假设下载的安装文件位于/home/oracle下,名称为ship.db.cpio.gz

shell#su - oracle

shell>gunzip ship.db.cpio.gz # 目录下会生成ship.db.cpio文件

shell>cpio -idmv < ship.db.cpio # 执行完以后,会生成Disk1目录

shell>cd Disk1

shell>./runInstaller -ignoreSysPrereqs # 因为我们是在debian下,所以必须忽略系统检测

接下的一般选择默认设置就可以了。

注意:

A.安装过程中,会提示让您以root用户执行相应的脚本,请您必须选以root身份执行完脚本,然后继续安装。

B.创建数据时请选择编码需要选“Unicode standard UTF-8 AL32UTF8”。如果您不设定 UTF 8的编码格式,则您在后面汉化Compiere的时候将会出错。

3 数据库设置

数据库要正常启动,包括两个方面:启动数据库实例,启动侦听。

您可以手动的启动数据库实例,但是我们推荐您用dbstart命令来启动数据库实例。

以dbstart启动数据库实例需要做如下两步操作:

A、需要修改/etc/oratab,将想自动启动的数据库(compiere)所在行的“N”修改为“Y”。

B、cp $ORACLE_BASE/admin/compiere/pfile/initcompiere.oraXXX $ORACLE_HOME/dbs/initcompiere.ora

其中XXX为一长串字符串,随机产生。

然后执行dbstart就可以自动启动了。然后使用lsnrctl启动侦听。

4 常见问题

暂无

后注:

本文只是我在Debian Linux下安装Oracle数据的笔记。如果您使用的是其它发行版的Linux,其中的具体步骤可能会有一些差别。请您注意。如果您对本文档有任何建 议,或者您按本文档而不可以完成安装,您可以给我发邮件。


0

0

0

(请您对文章做出评价)