Ubuntu9.04下安装Oracle10g企业版

来源:互联网 发布:淘宝上陌生人打开分享 编辑:程序博客网 时间:2024/05/17 05:15

Ubuntu9.04下安装Oracle10g企业版
作者:网络    日期:2010-01-05    类别:Linux Ubuntu Oracle10g 安装
摘要
Ubuntu下安装Oracle10g的教程可以说是满天飞,但是,结合实际,通过检验,我还是整理了一下,网络上的大部分教程都大同小异的,由于每个人的机器和设置不一样,所以难免会有所不同。下面是我自己机器上亲自安装测试过的,绝对可用,前提是你的Ubuntu要“干净”一点。

关键字
Ubuntu Oracle10g 安装

目录
一 准备
二 安装步骤
三 设置

主要内容
一 准备
1.首先需要到Oracle中文官方网站上下载安装包,我们下载的是手动安装包 
10201_database_linux32.zip,我下载的东西放在/home/yoyudenghihi/Download/下面
2.保证网络畅通
二 安装步骤
1.增加swap分区(视乎需要而定)
查看swap分区大小
swapon -s
如果swap分区小于1G,则需要增加
dd if=/dev/zero of=/tmp/tmp.swap bs=1M count=100
chmod 600 /tmp/tmp.swap
mkswap /tmp/tmp.swap
sudo swapon /tmp/tmp.swap
再次查看分区大小
swapon -s
(安装完毕以后,恢复swap
swapoff /tmp/tmp.swap
rm /tmp/tmp.swap
)
2.创建用户与用户组
需要使用oracle用户安装,安装完毕以后,我们一般使用oracle用户启动,但也可以设置随系统自启动
sudo addgroup oinstall
sudo addgroup dba
sudo addgroup nobody
sudo useradd -g oinstall -G dba -d /home/oracle -m -s /bin/bash oracle
usermod -g nobody nobody
3.创建安装目录
sudo mkdir -p /opt/oracle10g
sudo chown -R oracle:oinstall /opt/oracle10g
sudo chmod -R 755 /opt/oracle10g
4.修改内核参数
sudo vi /etc/sysctl.conf
添加:
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
sudo vi
/etc/security/limits.conf
添加:
oracle soft nofile 65536
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
让修改生效:
sudo sysctl -p
创建链接:
$ln -s /usr/bin/awk /bin/awk
$ln -s /usr/bin/rpm /bin/rpm
$ln -s /usr/bin/basename /bin/basename
5.设置用户环境
登录oracle用户
su - oracle
修改.bash_profile文件
vi .bash_profile
添加如下内容:
if [ -f ~/.bashrc ] ; then
. ~/.bashrc
fi
修改.bashrc文件
vi .bashrc
添加如下内容:
export ORACLE_BASE=/opt/oracle10g
export ORACLE_HOME=/opt/oracle10g/oracle/product/10.2.0/db_1
export ORACLE_OWNER=oracle
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_TERM=xterm
6.系统类型与字体
系统类型欺骗
Oracle10g安装有系统类型的要求,Red Hat 3.1和4.1可以通过,Ubuntu不能识别
sudo vi /etc/redhat-release
添加:
Red Hat Linux release 4.1
中文字体
如果你使用的是中文的Ubuntu,需要添加中文字体(如果Java可以正确显示中文,就可以跳过)
新建文件夹fallback:
sudo mkdir -p $JAVA_HOME/jre/lib/fonts/fallback
添加中文字体:
sudo ln -s /usr/share/fonts/truetype/wqy/wqy-zenhei.tty(将某个中文字体链接进fallback目录,这里选择文泉字体,当然,你也可以直接把字体文件放到该目录下,例如:simsum.tty)
sudo mkfontdir
sudo mkfontscale
注意:$JAVA_HOME是JAVA的安装目录
7.安装开始
(1)使用oracle用户登录X-Window
(2)拷贝安装包文件到/opt/oracle10g/目录下面
cp /home/yoyudenghihi/Download/
10201_database_linux32.zip /opt/oracle10g/
解压文件
cd /opt/oracle10g/
unzip 10201_database_linux32.zip
解压出来会有一个database文件夹,使用 ls -l命令查看,会发觉它属于 oracle用户和ointall用户
组,修改安装文件权限:
chmod 755 runInstaller.sh
(3)安装Oracle需要借助X-Window,默认已经有了(如果是远程使用SSH连接来安装,则需要先安装X-
Window图形核心)
安装X-Window图形核心:
sudo apt-get install x-window-system-core
查看DISPLAY设置
echo $DISPLAY
如果显示localhost:10.0则
xhost + serverIp:10.0 (client端)
exprot DISPLAY=serverIp:10.0 (server端)
注意,本地安装这一步其实是不用的
(4)安装
进入目录database
cd /opt/oracle10g/database
运行安装脚本
./runInstaller -jreLoc $JAVA_HOME/jre/
(5)安装过程中,请使用Advanced Installation,然后使用默认设置安装(当然,你可以改改数据库字
符集和用户登录密码),安装后阶段,会弹出一个对话框,提示需要使用root用户去执行两个脚本文
件:orainstRoot.sh和root.sh,这时候,不要点击OK按钮,另外打开一个终端,按照提示运行那两
个脚本,执行完毕才按OK按钮
至此,Oracle10g的安装就完毕了。
三 设置
1.oracle的启动于关闭
orale启动的脚本都放置在$ORACLE_HOME/bin/下面
lnsrctl start/stop 监听器 启动/停止
dbstart 数据库服务启动
dbshut  数据库服务关闭
isqlplusctl start/stop 远程访问isqlplus服务 启动/停止
emctl start/stop dbconsole 远程访问数据库管理服务 启动/停止
连接sqlplus:
sqlplus / nolog
conn / as sysdba
启动数据库
SQL>startup
停止数据库
SQL>shutdown
注:默认安装好以后,数据库远程管理和查询服务页面是:
http://hostname:1158/em
http://hostname:5560/isqlplus
hostname为你的主机名,当然使用ip地址也可以
如果启动时遇到:

   启动问题:
Failed to auto-start Oracle Net Listene using /ade/vikrkuma_new/oracle/bin/tnslsnr

   解决方法:
修改$ORACLE_HOME/bin/dbstart的78行,为
ORACLE_HOME_LISTNER=$ORACLE_HOM

  2.oracle用户启动关闭oracle
在/home/oracle/bin目录下建立以下脚本runoracle.sh:

-------------------------------------------------------------
#!/bin/bash
#name: runoracle.sh

if [ $UID != 1001 ]
then
echo "should run by user 'oracle'"
exit 1
elif [ $# != 1 ]
then
echo "Usage: `basename $0` start|stop|restart"
exit 2
fi

case "$1" in
start)
echo -n "Starting Oracle:"
$ORACLE_HOME/bin/lsnrctl start
$ORACLE_HOME/bin/dbstart
touch /var/lock/oracle
$ORACLE_HOME/bin/emctl start dbconsole
echo
echo "OK!"
;;

stop)
echo -n "Shutdown Oracle:"
$ORACLE_HOME/bin/lsnrctl stop
$ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle
$ORACLE_HOME/bin/emctl stop dbconsole
echo
echo "OK!"
;;

restart)
$0 stop
$0 start
;;

*)
echo "Usage: `basename $0` start|stop|restart"
exit 2

esac
exit 0
-------------------------------------------------------------
注意:$UID为oracle用户的UID
修改文件权限:
chmod 755 runoracle.sh
3.系统自启动Oracle10g(和2是对立的,看各人喜欢了)
在/ect/init.d/下创建脚本oracledb
-------------------------------------------------------------

#!/bin/sh
#
#/etc/init.d/oracledb
#
#Run-level Startup script for the oracle instance,listener and em

export ORACLE_HOME=/home/oracle/oracle/product/10.2.0/db_1
exprot ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_OWNER=oracle

# if the executables do not exist then display error
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup : can not be started !"
fi

# show item to choose -- start|stop|restart
# or usage display

case "$1" in
start)
# Oracle Instance and Listener startup
echo -n "Starting Oracle10g ..."
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbstart"
touch /var/lock/oracle
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"
echo "OK!"
;;
stop)
# Oracle Instance and Listener stop
echo -n "Stopping Oracle10g ..."
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/dbshut"
rm -f /var/lock/oracle
su $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
echo "OK!"
;;
restart|reload)
# Oracle Instance and Linstener restart
echo -n "Restarting Oracle10g ..."
$0 stop
$0 start
;;
*)
echo "Usage:`basename $0` start|stop|restart"
exit 1
esac
exit 0
-------------------------------------------------------------
添加文件权限:
sudo chmod +x /etc/init.d/oracledb
4.数据库字符集问题
遇到数据输出中文有问题按一下方法:
(1)查看数据库使用的字符集
SQL>select * from v$nls_parameters where parameter like 'NLS_CHA%'
或者
SQL>select name,value$ from props$ where name like 'NLS_CHA%'
或者
SQL>select * from nls_database_parameters where parameter like 'NLS_CHA%'
我的输出为
NAME                   VALUE$
----------------- ------------------------------
NLS_CHARACTERSET       ZHS16CGB231280
那么,需要在/home/oracle/.bashrc或者在/ect/environment中增加:
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16CGB231280"
结语
Oracle10g安装的教程很多,结合自己的机器和配置,参考网络教程,肯定可以安装和配置好的。另外,有些步骤不是一定要的,有些文件路径也可能不一样,要具体情况,具体分析。

原创粉丝点击