ubuntu 9.10 sever 安装oracle10g
以下安装过程已验证。
?
一、平台环境及软件
ubuntu 9.10 sever
jdk6.0
oracle10g?? (10201_database_linux32.rar)
Xmanager 3 boardcast方式
二、安装相关前期软件
1、用apt-get install? 命令下载安装以下程序包
$ sudo apt-get install build-essential libaio1 gawk ksh libmotif3 alien libtool lsb-rpm lesstif2
libc6 libc6-dev xorg?
????
#安装依赖包时注意以下问题:
#如果xorg提示少了下面的包,则需要按以下操作来安装xorg
#先安装libstdc++5,找不到源的话,直接下载。
$ sudo apt-get install libstdc++5
#下载 libstdc++5_3.3.6-17ubuntu1_i386.deb
$ wget http://mirrors.kernel.org/ubuntu/pool/universe/g/gcc-3.3/libstdc++5_3.3.6-17ubuntu1_i386.deb
sudo dpkg -i libstdc++5_3.3.6-17ubuntu1_i386.deb
#再次安装xorg
$ sudo apt-get install xorg?
??? ??? ?
安装完以后,需要做的就是修改一些Ubuntu的/bin/sh的默认连接,千万不要略过这一步,否则安装的时候会出现
很多错误。
?
$ ls -l /bin/sh
??????? lrwxrwxrwx 1 root root 4 2008-04-28 19:59 /bin/sh -> dash
$ sudo ln -sf bash /bin/sh
???
增加swap 分区,oracle 安装需要1G 的交换分区(可以根据需要来添加,如果在安装系统的时候已经有交换分
区了,可以忽略)
$ sudo dd if=/dev/zero of=/var/tmp/swap bs=1M count=1024
$ sudo chmod 600 /var/tmp/swap
$ sudo mkswap /var/tmp/swap
$ sudo swapon /var/tmp/swap
可以使用swapon -s 来查看交换分区,在安装完oracle 后使用命令swapoff /var/tmp/swap 关闭交换分区
3、在与linux服务器同一网段上的计算机(装win操作系统)上安装Xmanager3软件,由于Ubuntu Server没有图形
界面,而且oracle10g是以图形界面方式安装的,在安装过程中需要用户在图形界面中输入参数,因此需要配置外
部XWindows,方便接收安装过程中从linux上输出的图形对话框。
三、Linux参数设置
1、创建用户并设置权限,安装Oracle需要新建一个系统用户和三个组增加用户和组,并修改一些配置。这一步很
重要!如果不是很有把握,不要随便改。(为了便于解释,增加了行号,红色字体的内容是安装过程中须要注意的地
方):
下面切换到root用户
$ sudo su - root
增加我们需要的用户和组
$ addgroup oinstall
?????? Adding group `oinstall' (GID 1001) ...
?????? Done.
$ addgroup dba
?????? Adding group `dba' (GID 1002) ...
?????? Done.
$ addgroup nobody
让nobody用户的组变为nobody,这样Oracle的安装程序不会出问题。Ubuntu默认nobody的组是nogroup
$ usermod -g nobody nobody
创建一个oracle用户,并锁定用户,以阻止别人通过oracle用户登录系统。注意,oracle用户的HOME目录不要与
ORACLE_HOME相同。
$ useradd -g oinstall -G dba -s /bin/bash -m dboraoper??
$ passwd dboraoper
?????? #输入口令,如123456
???????? Password changed.
$ mkdir /home/oracledba
$ chown -R dboraoper:dba /home/oracledba (用户权限配置)
创建一些Oracle安装程序需要的工具的连接。因为Oracle安装程序是为Red Hat准备的,所以有些工具的位置和
Ubuntu不一样。
$ ln -s /usr/bin/awk /bin/awk
$ ln -s /usr/bin/rpm /bin/rpm
$ ln -s /usr/bin/basename /bin/basename
$ mkdir /etc/rc.d
$ for i in 0 1 2 3 4 5 6 S ; do? sudo ln -s? /etc/rc$i.d /etc/rc.d/rc$i.d ; done
$ ln -s /etc/init.d /etc/rc.d/init.d
创建ORACLE_BASE目录
$ mkdir /oracle
$ chown -R dboraoper:dba /oracle???? (事先在/下创建好oracle目录,oracle10g安装路径、可按实际情况自行
修改)
找不到redhat-release文件啊!!!!!!!!!!
创建一个!
2、在/etc/redhat-release中添加以下语句,以使安装程序认为我们正在一个RedHat的系统上安装:??
??? Red Hat Linux release 4.1
?
3、修改一些系统默认值。这些修改将会增加系统文件描述符的数量、增加共享内存大小和修改一些网络子系统参
数。
???? 将下面这些增加到/etc/sysctl.conf? 文件的末尾:?
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 3147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65535
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144
???? 在/etc/security/limits.conf中添加下面几行:
*??? soft??? nproc??? 2407
*??? hard??? nproc??? 16384
*??? soft??? nofile?? 1024
*??? hard??? nofile?? 65536
?
???? 为了强制使用刚才增加的东西,再增加下面这些到/etc/pam.d/login文件末尾:
session required /lib/security/pam_limits.so
session required pam_limits.so
????? 然后通过命令:sysctl -p 让刚才增加的东西生效
9
解压:我是把ZIP放在/下面,
下面命令可以解压到当前目录,目录名database(它自己创建的)
也可以使用unzip命令
sudo 7za X -tzip 10201_database_linux32.zip -o/
sudo 7za X -tzip /home/fd/soft/10201_database_linux32.zip -o/
这样dboraoper用户是不能访问外面的,下面设置为拥有
chown dboraoper /database
三、安装oracle10g
?
1、运行XmanageBroadcast,会在弹出一个屏幕,屏幕上暂时没有任何东西出现。
2、在linux server上,以oracledba用户运行以下命令:
su dboraoper
口令为:123456
?? dboraoper@hardy:~$ export DISPLAY=192.168.1.10:0.0(运行Xmanage的计算机IP地址)
?? dboraoper@hardy:~$ export LANG=C
?? dboraoper@hardy:~$ 进入oracle10g安装包,找到runInstaller
?? dboraoper@hardy:~$ ./runInstaller -ignoreSysPrereqs
?
3、linux server 运行runInstaller过程中,回到192.168.1.10计算机上,观察刚才弹出的屏幕上,是否有
oracle10g安装图形界面出现,如果以述所有配置都正确的话,都会出现oracle10g安装图形界面。(请看附件)
?
4、接下来就可以按oracle10g安装图形界面提示安装数据库了。
??
??? ??? 然后不断的下一步,注意,其间的安装目录默认是/oracle/
??? ??? 字符集用简体中文ZH16GBK
??? ??? 用户组oinstall
???
?? 到了这一步不要点“OK”,需要做下面操作:
?? 另起一个终端,用sudo su - root
??? sh /oracle/product/10.2.0/db_1/root.sh
??? sh /oracle/oraInventory/orainstRoot.sh
?? 然后回到图形屏幕点"OK"
5. 创建ORCALE的环境变量:
在/etc/profile文件中加入下面几句:
将umask 022 前的#删除
#set java environment
export JAVA_HOME=/home/yw/soft/jdk1.5.0_17
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#set oracle environment
export ORACLE_BASE=/oracle
export ORACLE_SID=ora92yw
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
5、回到linux server 执行以下操作,检查安装是否成功???
? #??? source /home/dboraoper/.profile
su? - dboraoper
lsnrctl?? start <如果失败就将ORACLE的监听停止:lsnrctl stop;>
sqlplus /nolog
conn sys / as sysdba
<sys密码:>new_ora9i
startup
关闭数据库
Oracle>lsnrctl?? stop
Oracle>sqlplus /nolog
SQL>connect / as sysdba
#开机自动启动oracle
#创建文件
sudo vi /etc/rc.d/init.d/oracle10g
#内容为
#!/bin/bash
??? #cubs 2009-06-10
??? #root
??? #chkconfig: 345 51 49
??? #description: starts the oracle dabase deamons
??? #
??? ORA_HOME=/oracle/product/10.2.0/db_1
??? ORA_OWNER=dboraoper
??? case "$1" in
??? 'start')
??
??? echo "Starting Oracle Listeners ... "
??? su - $ORA_OWNER? -c '$ORACLE_HOME/bin/lsnrctl start'
??? echo "Done."
???? echo -n "Starting oracle10g ... "
??? su - $ORA_OWNER? -c '$ORACLE_HOME/bin/dbstart'
??? echo "Done."
??? #启动web管理界面:http://host_ip_address:1158/em
??? su - $ORA_OWNER? -c '$ORACLE_HOME/bin/emctl start dbconsole'
??? touch /var/lock/subsys/oracle10g
??? echo ""
??? ;;
??? 'stop')
??? su - $ORA_OWNER -c '$ORACLE_HOME/bin/lsnrctl stop'
??? echo -n "lsnrctl stop ok !"??
??? echo -n "shutting down oracle10g ... "
??? su - $ORA_OWNER -c '$ORACLE_HOME/bin/dbshut'
??? echo -n "dbshut ok !"
??? su - $ORA_OWNER -c '$ORACLE_HOME/bin/emctl stop dbconsole'
??
??? # su - root -c "/home/oracle/ufsoft/stop.sh"
??? rm -f /var/lock/subsys/oracle10g
??? echo
??? ;;
??? 'restart')
??? echo -n "restarting oracle10g ... "
??? $0 stop
??? $0 start
??? echo
??? ;;
??? *)
??? echo "Usage: oracle {start|stop|restart} "
??? exit 1
??? esac
??? exit 0
#设为可执行文件
chmod 755 /etc/rc.d/init.d/oracle10g
#修改Oracle系统配置文件/etc/oratab
orcl:/home/oracle/oracle/product/10.2.0/db_1:Y
#创建链接
sudo ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc2.d/S99oracle10g
sudo ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc3.d/S99oracle10g
sudo ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc5.d/S99oracle10g
sudo ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc0.d/K01oracle10g
sudo ln -s /etc/rc.d/init.d/oracle10g /etc/rc.d/rc6.d/K01oracle10g
#这时你可以试试手动启动及关闭oracle服务:
service oracle10g start
service oracle10g stop
#重启服务器,测试oracle