上午花了点时间完成了第一次Linux平台的安装(:P,有点丢人的说,才第一次),主要是参考了http://www.Oracle.com/technology/global/cn/pub/articles/smiley_10gdb_install.Html的安装说明。
该文主要是介绍RedHat系列的安装,而Fedora Core可以说是Red Hat的开源桌面版,可以说是通用的。下文将结合我的实际操作,对该文作简单的规整。
安装Linux部分不再说明了,唯一要注重的是尽可能把各种开发包都装上去(硬盘够大的话),这样可以避免后面麻烦。Fedora本身是很轻易安装和使用的,一切都是图形化界面,这些都应该不是问题了。
检查所需的rpm包(rpm -q --all grep ...),主要是如下几个,只要有就可以了,版本不低于给出的版本号,假如版本过高,可能在后面的安装中会报错或者警告,但是从我的实践看,没什么关系(我的gcc是3.4.x,而列出的是3.2):
# gcc-3.2.3-2
# make-3.79
# binutils-2.11
# openmotif-2.2.2-16
# setarch-1.3-1
# compat-gcc-7.3-2.96.122
# compat-gcc-c++-7.3-2.96.122
# compat-libstdc++-7.3-2.96.122
# compat-libstdc++-devel-7.3-2.96.122
# compat-db-4.0.14.5
假如没有安装,那就打开安装盘,一般在rpm目录下都有。cp出来rpm -i就可以了。
到otn.oracle.com下载Oracle也是非常轻易的,唯一需要注重的是有些网友说现在无法注册帐号了,我今天特意观察了一下,在中文版网站里似乎那个注册链接很难找到,英文版的就比较明显(就在右上角),所以既然都是要到英文界面下载的,不如直接登录英文主页了。对下载流程不清楚的请参考我在CNOUG整理的一篇文章http://www.cnoug.org/viewthread.PHP?tid=11039&h=1,该文我也会定期更新,加上新的下载内容。Linux版下载下来是一个.cpio.gz格式的文件。由于Win平台下载软件比较多,我是用Flashget在win下下载的,基本可以达到80KB/s(每线程)所以速度是很快的了。文件可以在win下解压缩为cpio文件(WinRAR即可)。这种格式目前没发现Win下可处理,所以可以刻成碟(ISO模式较好)。
以root进入Linux后观察一下还有多少硬盘空间,一个df -h就可以了。一般而言,安装10g需要512M内存、1G交换缓存(swap)和4.1G硬盘空间。不过这些和装AS不同,不是硬性条件,内存和交换分区稍微小一点问题也不大,硬盘空间最好还是满足,否则轻易出问题。可以这样察看内存和交换分区:
grep MemTotal /proc/meminfo
grep SwapTotal /proc/meminfo
至此外部预备工作基本完成。建立相关的用户组和用户,不妨就用参考文章中的语句:
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -m -g oinstall -G dba oracle
id oracle
设置口令:
passwd oracle
创建目录:
mkdir -p /u01/app/oracle
mkdir -p /u02/oradata
chown -R oracle:oinstall /u01/app/oracle /u02/oradata
chmod -R 775 /u01/app/oracle /u02/oradata
这里有个文件系统的问题,oracle支持多种文件系统模式,例子中是最常见的普通文件系统,假如需要选择裸设备、ocfs等可以参考Installation Guide(Oracle文档库中)。
下面要修改一些内核参数:
cat >> /etc/sysctl.conf <<EOF
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
EOF
/sbin/sysctl -p
并不是每一个都需要修改的,可以视情况而定。所以不妨先cat一下/etc/sysctl.conf ,看看是否和上述参数相同,修改不同的就可以了。最后一条语句是让刚才的修改生效。可以通过指令/sbin/sysctl -a来察看是否生效。
参考文章中还给出了限制每个 Linux 帐户可以使用的进程数和打开的文件数的设置,我的系统就是自己玩的,所以没有设置,大家可以自己参考原文。
有些环境变量是需要设置的,主要有ORACLE_BASE、ORACLE_HOME、ORACLE_SID和PATH,大家可以根据需要在/root/.bash_profile中设置。当然oracle是安装用户,需要首先设置。以oracle登录(其实su就可以了),修改/usr/oracle/.bash_profile,添加:
ORACLE_BASE=/u01/app/oracle; eXPort ORACLE_BASE
ORACLE_SID=demo1; export ORACLE_SID
下面开始安装。最好重启一下并用oracle登录,并设置会话为英语(这是因为很多情况下中文字体安装时无法正常显示,CNOUG上有说明如何解决,但是字体问题在Linux上一向很麻烦,所以我还是选择逃避:P),将含有cpio文件的光盘mount上来(fedora下是自动的),然后建立一个源文件目录:
mkdir 10g_db
cd 10g_db
cpio -idmv < /media/cdrecorder/ship.db.cpio
cd Disk1
./runInstaller
下面就和windows平台基本一样了。另外以前看到过说在安装9i时系统会停滞很长时间,我没有碰到这个情况。唯一一些不同就在于会有两次弹出一个窗口提示用root用户执行一些脚本,此时可以打开一个终端窗口,su - root后执行即可。在后一次脚本执行完后,恭喜你,基本完成了。
最后,安装完成后可能还不能很顺畅的使用sqlplus,主要是环境变量问题,只要将.bash_profile中的PATH后加上oracle的bin目录路径,再指定ORACLE_HOME(指向oracle实际安装目录,比如/.../oracle/10.1.0/Db_1)后export就可以了。
至此大功告成,需要怎样设置sqlplus就自己搞定咯,不妨进sqlplus目录修改glogin.sql。