Ubuntu9.10安装Oracle11g整理

    这 几天在学 习 Oracle DBA 的内容,所以 尝试 在 Ubuntu9.10 上安装一个Oracle11g 企 业 版, 尝试 了 许 多次,在网上找了几天的 资 料,都没有找到 问题 的所在,很是郁 闷 。 现 在勉勉 强强 忽略了一个 错误 安装上了,安装完后修改了一些配置, 暂时 没有运行 错误 ,今天整理一下,留作 备查资 料。

以下是在 Ubuntu9.10 桌面版上安装Oracle11g 的 过 程:

1、 安装依 赖项

sudo apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5

经过测试,好像现在Ubuntu9.10 的源中libstdc 默认已经升级到libstdc++6 了,需要添加一个链接到libstdc++5libstdc++6

sudo ln -s libstdc++.so.6 libstdc++.so.5

2、 创 建 ORACLE 用 户

sudo addgroup oinstall

sudo addgroup dba

sudo addgroup nobody

sudo useradd -g oinstall -G dba -p password -d /home/oracle -s /bin/bash oracle

sudo passwd oracle

sudo usermod -g nobody nobody

第一次安装的时候有一点小误解,以为必须创建一个名为oracle 的用户,并且使用该用户才可以安装,经过实际的操作以后发现,任何用户只要都是可以正常安装的,这里创建的几个组只是为更好地控制oracle 所有者的权限,我们把这个安装oracle 的用户称作“oracle 用户”。比如:dba 组是管理权限,oinstall 是安装权限,通常学习用的话,可以不创建专门的oracle 用户了,只要增加这几个组,并把当前使用的用户增加到这几个组中就可以了。

3、 创 建 ORACLE 安装目 录

sudo mkdir -p /opt/oracle

sudo chown -R oracle:oinstall /opt/oracle

sudo chmod -R 775 /opt/oracle

创建oracle 的安装目录,这个目录的位置没有要求,不过安装oracle 用户需要有对该目录的所有权和操作权。

4、 配置系 统环 境

sudo gedit /etc/sysctl.conf

在该文件最后添加以下内容:

kernel.shmall = 2097152

kernel.shmmax = 2147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

net.ipv4.ip_local_port_range = 1024 65000

这些内容是修改linux 内核参数,在oui 启动后会检查,从我的安装过程中没有一个提示通过的,不知道网上的文章中为什么都这么设置,总之安装没有问题。

 

sudo gedit /etc/security/limits.conf

在该文件最后添加以下内容:

oracle soft nproc 2047

oracle hard nproc 16383

oracle soft nofile 1023

oracle hard nofile 65535

不知道是作什么用的,大家都那么说,就这么做了,反正设了没有坏处。

 

sudo gedit /etc/pam.d/login

在该文件最后添加以下内容:

session required /lib/security/pam_limits.so

session required pam_limits.so

强制以上内容修改生效。

 

sudo gedit /etc/redhat-release

在该文件最后添加以下内容:

Red Hat Linux release 4.1

因为Oracle 默认Linux 系统是Red Hat 的,这里需要小骗oui 一下,不过不能理解的是现在Ubuntu 也挺火,为什么Oracle 没有对Ubuntu 提供更好的支持呢。

 

sudo sysctl -p

使当前的修改内容全部生效。

 

sudo ln -s /usr/bin/awk /bin/awk

sudo ln -s /usr/bin/rpm /bin/rpm

sudo ln -s /usr/bin/basename /bin/basename

sudo mkdir /etc/rc.d

sudo ln -s /etc/rc0.d /etc/rc.d/rc0.d

sudo ln -s /etc/rc2.d /etc/rc.d/rc2.d

sudo ln -s /etc/rc3.d /etc/rc.d/rc3.d

sudo ln -s /etc/rc4.d /etc/rc.d/rc4.d

sudo ln -s /etc/rc5.d /etc/rc.d/rc5.d

sudo ln -s /etc/rc6.d /etc/rc.d/rc6.d

sudo ln -s /etc/init.d /etc/rc.d/init.d

创建文件的链接,使Ubuntu 的目录结构与Red Hat 一致。

 

5、 开 始 安装

./runInstaller

默认情况下安装界面是乱码的,因为oui 使用的jre 默认是1.4 版本,没有对中文字体提供很好的支持,设置jre1.4 的步骤比较复杂,这里使用简单的方式达到解决乱码的问题。

使用英文界面安装,只是这种方式没有GBK 字符集,不知怎么解决:

export LANG=en_US

./runInstaller

制定安装程序使用系统的jre:

./runInstaller -jreLoc=$JAVA_HOME/jre/

 

接下来的步骤按安装界面提示,一直到最后一个弹出窗口,不要直接点OK 按钮。

使用root 权限执行界面提示的两个脚本即可,如果不是第一次安装的话,只有一个root.sh 脚本。

6、 最后配置

oracle 用 户 登 录 , 进 入主目 录 ,配置 .bashrc 文件,我的配置如下:

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1

export ORACLE_SID=zoomlion

export ORACLE_OWNER=oracle

export ORACLE_TERM=xterm

export ORACLE_UNQNAME=zoomlion

export ORACLE_HOSTNAME=localhost

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

做个简单的说明:

ORACLE_BASE :安装目录

ORACLE_HOME :程序目录

ORACLE_SID :数据库名称

ORACLE_OWNERoracle 用户名称

ORACLE_TERM :不知道做什么用的,有人认为需要设置这个变量

ORACLE_UNQNAME :启动控制台的时候用到了这个

ORACLE_HOSTNAME :这个设置困扰了我许久,启动监听器的时候经常提示我找不到文件或目录,后来才发现在启动数据库的时候默认ORACLE_HOSTNAME 为我的主机名称,而安装程序设定的主机名为localhost ,不知道127.0.0.1 这个地址是不是也有冲突,总之设为这个值没有问题,当然也可以把安装目录下所有包含主机名称的文件或文件夹名称中的主机名称都改为localhost

Ubuntu 下所有内容区分大小写。

7、 设 置 自动启动

创建/etc/init.d/oracle ,内容如下,这个脚本依赖于配置的oracle 相关的环境变量:

#!/bin/bash

# /etc/init.d/oracle

# Run-level Startup script for the Oracle Instance, Listener, and

# Web Interface

 

export ORACLE_BASE=/opt/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1

export ORACLE_SID=zoomlion

export ORACLE_OWNER=oracle

export ORACLE_TERM=xterm

export ORACLE_UNQNAME=zoomlion

export ORACLE_HOSTNAME=localhost

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

 

# if the executables do not exist -- display error

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

case "$1" in

start)

# Oracle listener and instance startup

echo -n "Starting Oracle: "

su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"

su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"

touch /var/lock/oracle

su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"

echo "OK"

;;

stop)

# Oracle listener and instance shutdown

echo -n "Shutdown Oracle: "

su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"

su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut $ORACLE_HOME"

rm -f /var/lock/oracle

su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

echo "OK"

;;

reload|restart)

$0 stop

$0 start

;;

*)

echo "Usage: `basename $0` start|stop|restart|reload"

exit 1

esac

exit 0

8、 安装过程中遇到的一些错误

8.1 在link 阶段,运行文件env_ctx.mk 错误:未知解决方法,直接忽略暂时没有发现问题。

8.2 Oracle10g安装完毕后,dbca创建数据库的时候报错:ORA-27125:unable to create shared memory segment
       如下修改后,问题解决:
       linux: # cd $ORACLE_HOME/bin
       linux: # mv oracle oracle.bin

       cat >oracle <<"EOF"
       #!/bin/bash

       export DISABLE_HUGETLBFS=1
       exec $ORACLE_HOME/bin/oracle.bin $@
       EOF

       linux: # chmod +x oracle

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值