前言:之前在虚拟机里装了Solaris以及CentOS,还分别安装了ORACLE,由于分辨率的问题,屏幕太小,使用极度不方便。昨天拿了一台台式机{内存512,赛扬2.62}安装了三个多小时终于弄上去了,记下来以备不测{环境CentOS、Linux ORACLE 10g},并且希望能出一册关于ORACLE开发系列的基础教程,欢迎大家收藏。
一、选择所要使用的虚拟机和操作系统、DBMS
我这里统一一个平台为:VMware虚拟机、CentOS-5.5-i386 Linux、ORACLE 10201_database_linux32。
关于虚拟机的安装不做解释,相信大家在WINDOWS下都会安装。
二、安装CentOS时强调几点
1、在虚拟机里安装初始,选择Linux、版本根据你自己下载的CentOS版本来,我选择的是5.5 i386的,故选择Red Hat Linux,不选择64位的。
2、接着选择虚拟机配置时,请选择高级选项,内存充足的话给1G(至少512M)、使用桥接网络直接连到物理网卡上(方便下载安装ORACLE需要的包)、虚拟磁盘类型选择IDE(因为在下面我们将创建自己的Liunx文件分区,避免无法创建)、虚拟磁盘大小我给出的是25G(这个根据自己所建立的CentOS那个文件夹的磁盘大小来定,希望不少于6G)。
3、CD-ROW使用ISO镜像定位到CentOS镜像文件。
4、安装CentOS时,请选择创建自定义分区。
我的方案是:
/boot 100M 强制为主分区,必须
/home 5120M 想要存放其他文件,所以大点
/tmp 2048M 至少大于400M 否则无法安装ORACLE
swap 2048M 虚拟内存的两倍,必须
其他的空间暂时没有分区,留着以后扩容用。
三、安装ORACLE过程注意点
1、VMware 里Linux与Window文件共享方法
该功能的实现基于 VMware Tools,待Linux 启动完成后,打开VMware->工具栏—>虚拟机->安装Vmware工具,进入在虚拟机中安装好的Linux环境(使用超级用户),这时光驱中已经出现了我们将要安装的软件,不过请注意在我们进行这一步之前请选择VMware->工具栏—>虚拟机->设置选项将CentOS的镜像文件移除,或者进入Linux下进入终端,使用 df –h查看光驱位置,umount掉。这个时候再进行上一步,就可发现弹出光驱包含两个包:
VMwareTools-5.5.0-18463.i368.rpm和VMwareTools-5.5.0-18463.tar.gz。
使用命令:cd /media/xxx进入到光驱的目录下,使用ls可以看到这两个文件。
第一步:cp VMwareTools-5.5.0-18463.tar.gz /tmp,把这个文件拷贝到tmp下(其它文件也可)
第二步:cd /tmp进入临时目录,ls 查看刚才的文件是否在这个目录下。
可以直接安装rpm二进制包:rpm -ivh VMwareTools-5.5.0-18463.i368.rpm
第三步:tar zxvf VMwareTools-5.5.0-18463.tar.gz 解压这个文件
第四步:使用第二步命令,进入tmp目录下的vmware-tools-distrib目录
第五步:执行./vmware-install.pl 执行这个文件,出现提示就回车。安装结束后自动重启
最后:打开VMware->工具栏—>虚拟机->选择 设置->选项共享文件夹 点添加,按提示来添加一个windows下的文件夹。在/media/hgfs下就是你在windows下共享的文件夹了。
使用该方法的优点:
该文件夹里的内容与两个系统实时同步,不会出现直接挂载硬盘文件系统只有重新启动后,文件系统才能刷新的问题。Linux 系统可以回写不会影响window 对该文件夹下文件的管理。
通过如上步骤,我们可以将oracle安装文件以及sqlplus等回退包共享到虚拟机下去。
我的做法:在/home下建立一个soft的文件夹(mkdir /home/soft),将需要安装的软件以及安装包都从共享文件夹拷贝过去(cp /media/hgfs/10201_database_linux32 /home/soft),这样方便在下面的操作。
同时,是不是很惊奇的发现直接在windows里拷贝文字等可以直接在虚拟机的终端可以粘贴了?也不要总是使用CTRL+ALT命令切换了?
2、安装linux下安装oracle依赖的安装包(需联网下载,终端敲该命令自动下载,这就是我要选择虚拟机配置直接连到物理网卡的原因。)
# yum install compat-gcc* -y
# yum install compat-libstd* -y
# yum install libXp -y
# yum install openmotif
# yum install compat-db
等待下载安装完成,我们再检查下是否需要的包已完全安装:
# rpm -q gcc make binutils openmotif setarch compat-db libaio
如果出现没有安装的包,请使用yum install <package name>命令安装。
3、修改linux系统中的各个参数
3.1修改系统基本配置
修改版本号
# vim /etc/redhat-release
Red Hat Enterprise Linux Server release 4.4 (Tikanga)
修改主机名跟IP(必须为静态的)
注意/etc/hosts与/etc/sysconfig/network文件主机名的一致性
# vim /etc/hosts
127.0.0.1 xb.oracle.com localhost
192.168.1.120 oracle.example.com oracle
# cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=xb.oracle.com
3.2 修改系统参数
# vim /etc/sysctl.conf
kernel.sem = 250 32000 100 128
net.core.wmem_default = 262144
net.core.wmem_max = 262144
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.ipv4.ip_local_port_range = 1024 65535
# sysctl -p <--让内核参数马上生效
# vim /etc/security/limits.conf
oracle soft nproc 2048
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65535
3.3、建立oracle安装的文件目录并挂载
计划把oracle安装 /u01/app/oracle/10g,所以需建立对应的文件,并给予空间并格式化。
# fdisk hda (如果你的是sda请使用sda,根据自己的情况来。这部分为什么,将在下节介绍linux各种简单的命令中提到。)
p
n
First cylinder (20958-38913, default 20958): 回车
Last cylinder or +size or +sizeM or +sizeK (20958-38913, default 38913): +5120M <--约等于5G
w
# partprobe
# mkfs.ext3 /dev/hdaN <--注意:N为你新建分区的编号
# mkdir /u01
# mount /dev/hdaN /u01
# vim /etc/fatab
添加:/dev/hdaN /u01 ext3 defaults 0 0
3.4、建立用户# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# mkdir -p /u01/app/oracle
# chown -R oracle:oinstall /u01
# chmod -R 775 /u01
3.5、修改oracle的环境变量
# vim /home/oracle/.bash_profile
(在文件的最后地方添加)
umask 022
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/10g
PATH=$ORACLE_HOME/bin:$PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
ORACLE_SID=orcl
export ORACLE_BASE ORACLE_HOME PATH LD_LIBRARY_PATH ORACLE_SID
3.5、开始安装
# mv ~/Desktop/10201_database_linux32.zip /tmp
# xhost +
# su - oracle
$ echo $ORACLE_SID <---验证
orcl
$ echo $ORACLE_HOME
/u01/app/oracle/10g
$ export LANG=en_us.utf8
$ unzip /tmp/10201_database_linux32.zip <---验证
$ cd database/
$./runInstaller
安装过程以root运行以下脚本
/u01/app/oracle/oraInventory/orainstRoot.sh
/u01/app/oracle/10g/root.sh
3.6、给SQLPLUS打个补丁包,这样就有回退
# tar xvf ~/Desktop/IO-Tty-1.07.tar.gz -C /usr/src
# tar xvf ~/Desktop/Term-ReadLine-Gnu-1.16.tar.gz -C /usr/src
# tar xvf uniread-1.01.tar.gz -C /usr/src
# cd /usr/src/IO-Tty-1.07/
# perl Makefile.PL
# make && make install
# cd /usr/src/Term-ReadLine-Gnu-1.16/
# perl Makefile.PL
# make && make install
# cd /usr/src/uniread-1.01/
# perl Makefile.PL
# make && make install
给SQLPLUS取个别名
# vim ~oracle/.bashrc
alias sqlplus='/usr/bin/uniread sqlplus'
生效验证:
$ which sqlplus
alias sqlplus='/usr/bin/uniread sqlplus'
四、测试是否安装成功
1、解锁scott账户
# su - oracle
$ sqlplus
[uniread] Loaded history (5 lines)
SQL*Plus: Release 10.2.0.1.0 - Production on Sat Aug 27 16:24:46 2011
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL>alter user acott acount unlock;
SQL> conn scott/tiger
Connected.
SQL> select * from dept;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON
至此,完成全部安装。
五、总结
1、如果u01目录对应挂载为一个分区,需要修改/etc/fstab,否则每次都要mount{曾经两次挂载同一个分区结果怎么都STARTUP不了,需umount再mount}
2、解压输出安装时,必须定义输出语言,否则乱码
3、swap空间为物理内存的两倍 (free -m)
4、不能使用动态IP,需固定一个,还有主机名
# vim /etc/hosts
192.168.1.120 oracle.example.com oracle
5、Xlib: connection to "0.0" refused by server Xlib: No protocol specified Error:Can't open display:0.0错误解决方案:
用root登陆,在#提示符后输入:
xhost local:cognos non-network local connections being added to access control list
敲回车运行后出现:
non-network local connections being added to access control list
xhost: bad hostname "non-network"
xhost: bad hostname "local"
xhost: bad hostname "connections"
xhost: bad hostname "being"
xhost: bad hostname "added"
xhost: bad hostname "to"
xhost: bad hostname "access"
xhost: bad hostname "control"
xhost: bad hostname "list"
此时再 su - oracle 切换到oracle用户执行图形界面任务就可以了。