老旧文章/Oracle10g:修订间差异
Luojie-dune(留言 | 贡献) |
|||
(没有差异)
|
2010年4月24日 (六) 19:31的最新版本
在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 user@IP_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上安装Oracle 10G: http://www.dizwell.com/main/index.php?option=com_content&task=view&id=96&Itemid=144
Dizwell是在一台 装有Ubuntu Breezy (Server)的AMD64机器上测试和工作的。 和32位的库有一些小的不同。
http://mapopa.blogspot.com/2006/03/installing-oracle-on-ubuntu-breezy.html