个人工具

老旧文章/Oracle10g

来自Ubuntu中文

Luojie-dune讨论 | 贡献2010年4月24日 (六) 19:31的版本 Oracle10g移动到老旧文章/Oracle10g

(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)
跳转至: 导航, 搜索


在Ubuntu 5.10 Breezy 上安装Oracle 10g企业版/标准版

基本要求

你至少需要500M的内存和1G的交换空间,并需要先安装以下的包:

# apt-get install gcc make binutils lesstif2 libc6 libc6-dev rpm libmotif3 libaio libstdc++5
  • 你还需要确认你的DNS和/etc/hosts是否被正确设置,以便能使你的IP地址能够正确的解析出你的主机名。

创建用户

安装Oracle需要在你机器上新建一个系统用户和三个组。

# addgroup oinstall
# addgroup dba
# addgroup nobody
# useradd -g oinstall -G dba -p password -d /opt/oracle -s /bin/bash oracle
# usermod -g nobody nobody

创建目录并设置权限

注意: Oracle默认的目录模式是在/u01 和 /u02。我选择了一个更加适合FHS的方案,把它们放在/opt/oracle和/opt/oradata:

# mkdir -p /opt/oracle
# mkdir /opt/oradata
# chown -R oracle:oinstall /opt/ora*
# chmod -R 775 /opt/ora*

更改配置

在/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

运行下面命令以更新设置:

# sysctl -p

然后在/etc/security/limits.conf中添加下面几行:

*    soft    nproc    2407
*    hard    nproc    16384
*    soft    nofile   1024
*    hard    nofile   65536

创建如下符号链接:

# ln -s /usr/bin/awk /bin/awk
# ln -s /usr/bin/rpm /bin/rpm
# ln -s /usr/bin/basename /bin/basename

在/etc/redhat-release中添加以下语句,以使安装程序认为我们正在一个RedHat的系统上安装:

Red Hat Linux release 2.1 (drupal)

安装

以oracle用户身份等读,并把安装文件复制到一个临时目录:

$ cp -r /installer/files/path/ `mktemp -d`

为了是Oracle的安装顺利进行,你必须正确设置环境:

#mkdir /etc/rc.d
# ln -s /etc/rc0.d /etc/rc.d/rc0.d
# ln -s /etc/rc2.d /etc/rc.d/rc2.d
# ln -s /etc/rc3.d /etc/rc.d/rc3.d
# ln -s /etc/rc4.d /etc/rc.d/rc4.d
# ln -s /etc/rc5.d /etc/rc.d/rc5.d
# ln -s /etc/rc6.d /etc/rc.d/rc6.d
# ln -s /etc/init.d /etc/rc.d/init.d

切换到你复制安装文件的目录,运行安装程序:

$ ./runInstaller

oracle安装程序会在安装过程中打断两次,让你运行脚本来设置基本授权,例如,在你运行第二个脚本(root.sh)之后,Oracle会安装一个叫called init.cssd的服务。root.sh会等待600秒(10分钟)的时间来启动这个服务,然后再继续安装,在这段时间里,你需要做一些设置,终端会显示如下信息:

Expecting the CRS daemons to be up within 600 seconds.

你需要做三件事。第一,你需要编辑/etc/inittab,把运行级35(RedHat和SuSe默认)改为23 (Debian/Ubuntu默认),这是你需要修改的行:

h1:35:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null

替换为:

h1:23:respawn:/etc/init.d/init.cssd run >/dev/null 2>&1 </dev/null

其次,你需要修改oracle安装的脚本(/etc/init.d/init.cssd)。 把第83行替换为:

SU="/bin/su"

最后,让init重启这个服务:

# init q

这时root.sh会继续执行。

启动/停止服务

这时你需要添加另外的初始化脚本,以使在oracle在你重启系统的时候启动,但是首先,你需要删除安装程序所创建的一些链接:

# rm /etc/rc2.d/[SK]96*
# rm /etc/rc3.d/[SK]96*
# rm /etc/rc5.d/[SK]96*
# update-rc.d init.cssd defaults 96

下面的初始化脚本是我根据这一个脚本定制的。这个脚本启动/停止oracle的实例,监听器和企业管理工具的web界面。你需要自行设置ORACLE_HOME, ORACLE_SID, and ORA_OWNR等环境变量。 我把这个脚本命名为/etc/init.d/oracledb,当然,你可以给它取任何名字。

#!/bin/bash
#
# /etc/init.d/oracledb
#
# Run-level Startup script for the Oracle Instance, Listener, and 
# Web Interface


export ORACLE_HOME=/your/oracle/home/goes/here
export ORACLE_SID=oraclesidgoeshere
export PATH=$PATH:$ORACLE_HOME/bin

ORA_OWNR="oracleownergoeshere"

# 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 $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl start"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbstart
touch /var/lock/oracle

su $ORA_OWNR -c $ORACLE_HOME/bin/emctl start dbconsole
echo "OK"
;;
stop)
# Oracle listener and instance shutdown
echo -n "Shutdown Oracle: "
su $ORA_OWNR -c "$ORACLE_HOME/bin/lsnrctl stop"
su $ORA_OWNR -c $ORACLE_HOME/bin/dbshut
rm -f /var/lock/oracle

su $ORA_OWNR -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

创建好脚本后,给他添加执行权限,并在各个运行级里创建链接:

# chmod 755 /etc/init.d/oracledb
# update-rc.d oracledb defaults 99

在启动我们新的数据库之前,我们需要做一些用户化的设置:

  • /usr/local/bin/dbhome 需要改变 ORAHOME, ORASID, 和 ORATAB (/etc/oratab) 这几个环境变量。
  • /your/oracle/home/bin/dbhome 同上
  • /your/oracle/home/bin/dbshut 同上
  • /your/oracle/home/dbstart 需要改变ORATAB这个环境变量。

要使你所创建的所有的数据库在开机是启动,你需要相应的修改 /etc/oratab。

例如把

oracle:/opt/oracle:Y

替换为:

dbname:/opt/oracle/:N

你需要设置如下环境变量:

  • ORACLE_HOME
  • ORACLE_SID
  • PATH

这有很多中方法,请自己找一个适合你自己的!一旦你重启机器或者重启数据库,你需要确认所有的东西都运行起来了,你可以通过sqlplus或者则web管理页面登陆来检查:

http://urlgoeshere.com:5500/em

Enjoy :)

在Ubuntu Dapper 6.06 LTS上安装Oracle Express Edition 10g R2

Oracle Express Edition 10g R2 是oracle的一个精简的免费版本(参见 http://www.oracle.com/technology/software/products/database/xe/htdocs/102xelinsoft.html) 。下载 "oracle-xe-universal_10.2.0.1-0_i386.deb" 这个Debian / Ubuntu 包。

在一个Drapper Server (6.06 LTS)上安装是十分容易的。你不需要创建用户,也不需要修改脚本,这些都被安装包作好了。

基本要求

系统要求

通常,Oracle需要很多的系统资源,至少需要512 M内存, 1024 M交换空间 和 1.5 G空闲磁盘空间。安装包会检查这些要求。

As the amount of swap isn't the default value for a fresh install, be aware of that. A workaround for that is described in http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html

需要的库

只需要一个额外的库和工具:

  • libaio1 - 内核异步访问接口库
  • bc - The GNU bc 专有的精确计算语言
apt-get install libaio bc

安装

安装Oracle Server

dpkg -i oracle-xe-universal_10.2.0.1-0_i386.deb

配置

你需要运行

/etc/init.d/oracle-xe configure

这个脚本将要提示你初始化SYS和SYSTEM的密码。 Oracle监听器的监听端口和Oracle Application Server的端口。 大多数情况下你只需要默认设置。

现在创建用和/模式/...你可以通过一个http接口来做这件事:

http://localhost:8080/apex/

不需要java。

如果像我一样,你把Oracle数据库安装在了一个没有图形界面的服务器上,你需要一个SSH端口

ssh -L 8080:localhost:8080 [email protected]_of_your_server

Disclamer

我只在32位的Ubuntu Server Dapper上测试过。

请参阅

怎样在kubuntu上安装oracle: http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html

请参阅

Dizwell是在一台 装有Ubuntu Breezy (Server)的AMD64机器上测试和工作的。 和32位的库有一些小的不同。

http://mapopa.blogspot.com/2006/03/installing-oracle-on-ubuntu-breezy.html



文章来源:官方WIKI
翻译人员:madoldman
校对人员:
文章状态:翻译完成