SLES-11-SP1-DVD-i586-GM-DVD1 企业版 + 10g_linux_x86_db_10_1_0_3
在VM中安装SUSE LINUX,打开SUSE LINUX里的FTP 与 telnet 服务
开始检测所需RPM包。按照官方文档里的要求,suse需要的rpm包有:
SUSE Linux Enterprise
Server 11
The following packages (or later versions) must be installed:
binutils-2.19
gcc-4.3
gcc-c++-4.3
glibc-2.9
glibc-devel-2.9
ksh-93t
libstdc++33-3.3.3
libstdc++43-4.3.3_20081022
libstdc++43-devel-4.3.3_20081022
libaio-0.3.104
libaio-devel-0.3.104
libgcc43-4.3.3_20081022
libstdc++-devel-4.3
make-3.81
sysstat-8.1.5
On SUSE 11:
unixODBC-32bit-2.2.12(32-bit) or later
unixODBC-devel-32bit-2.2.12 (32 bit) or later
在suse里可以利用它的特点,操作如下,计算机—安装软件
缺少了gcc直接搜索gcc,把需要的gcc,gcc++勾上,点击接受就可以自动安装了,期间需要插入光盘,我没有系统光盘,电脑里有ISO文件,在VM中设置“使用ISO镜像文件”,链接路径指定物理机上存在的对应的iso系统文件即可。GCC必须装上。
每个软件都可以用这种步骤操作,直到所有缺少的包都安装完毕。再次运行查找命令,发现所有包已经安装了。
我们继续按应有的步骤进行下去。
【我的主机名为:extragalactic,所以在linux的命令模式下,extragalactic等同于 root,用pwd命令查看可以得到/root 结果。】
检查系统硬件
利用linux命令检查系统是否满足要求。
# uname -a
利用此命令检查安装平台属于哪一种,32位还是64位,能否支持你所下载的系统。
我的虚拟机里设置的linux内存1G,交换空间2G,/home空间16G
#dh -H
用此命令可以查看自己磁盘空间的剩余量,ORACLE安装至少需要4.5到5个G 的空间,我是装在/home下,空间是足够的。
#du -sh /tmp/
du命令,查看目录或者文件所占磁盘空间大小,此处为查看 SWAP交换空间的大小,安装ORACLE,SWAP空间应大于400M,小于这个数值安装就会报错,一般在安装系统进行分区建设时,SWAP空间的大小通常都为内存大小的两倍。
修改linux内核参数
检查内核参数是否满足。
su - root
/etc/sysctl.conf加上如下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152g
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
net.ipv4.tcp_wmem = 262144 262144 262144
net.ipv4.tcp_rmem = 4194304 4194304 4194304
# /sbin/chkconfig boot.sysctl on 让suse启动时加载/etc/sysctl.conf
# /sbin/sysctl –p 使修改的参数立即生效
创建oracle用户和组及安装目录,在root下建立。
extragalactic:~ # groupadd oinstall (创建用户组oinstall)
extragalactic:~ # groupadd dba(创建用户组dba)
extragalactic:~ # useradd –g oinstall –G dba –m oracle
extragalactic:~ # passwd oracle(设置密码,这里会要求你输入ORACLE用户的登陆密码,输入一次后回车,回提示你输入第二次,第二次输入相同的再回车即可。输入密码屏幕上不会有任何显示,但如果两次输入不同,屏幕会有提示重新输入)
extragalactic:~ # cd /home (切换到/home下)
extragalactic:~ # home/ mkdir /oracle (在/home下建立一个名为oracle的目录)
extragalactic:~ # chown -R oracle:oinstall /home(改目录组)
extragalactic:~ # su – oracle (切换到oracle用户下)
extragalactic:~ # pwd (这里是确认自己所在的工作目录,这里应该是在/home/oracle)
[email=oracle@linuxsight]oracle@linuxsight[/email]:# vi .profile添加
export ORACLE_HOME=/home/oracle/product/10.2.0.
export ORACLE_BASE=/home/oracle/oradata
export ORACLE_SID=zxin
export PATH=$PATH:$ORACLE_HOME:$ORACLE_HOME/bin:$HOME/bin
export SHLIB_PATH=$HOME/lib:$ORACLE_HOME/lib:/usr/lib
export LIBPATH=$HOME/lib:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=$HOME/lib:$ORACLE_HOME/lib
export LANG=zh_CN.gbk
SAVELANG=$LANG
export LANG=C
export HISTFILE=$HOME/.zxlogfile
export HISTSIZE=32767
echo "login time:`tty` `date`" >>$HOME/.zxlogfile
trap "echo logout `tty` `date` >>$HOME/.zxlogfile" 0
export LANG=$SAVELANG
export DISABLE_HUGETLBFS=1
NLS_TERRITORY=china; export NLS_TERRITORY
NLS_DATE_FORMAT="YYYY.MM.DD HH24:MI:SS"; export NLS_DATE_FORMAT
ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data; export ORA_NLS33
[email=oracle@extragalactic:/home/oracle_db/install][color=#000000]oracle@extragalactic:/[/color][/email][email=oracle@linuxsight:/home/oracle]home/oracle[/email]> exit(退出ORACLE用户登陆,让设置生效,这里退出后会自动跳转到root用户下)
linuxsight:/#su – oracle
[email=oracle@extragalactic:/home/oracle_db/install][color=#000000]oracle@extragalactic:/[/color][/email][email=oracle@linuxsight:/home/oracle]home/oracle[/email]> env | grep ORA (显示当前用户的环境变量。命令解释:env 表示显示当前用户的环境变量,通过管道 | ,grep ORA,表示最终输出的结果是环境变量里ORA三个字符开头内容,真实内容不止这三行,我省略了)
ORACLE_HOME=/home/oracle/product/10.2.0.
ORACLE_BASE=/home/oracle/oradata
ORACLE_SID=zxin
…………………………
为oracle用户设置shell的限制
su - root (切换到/root)
1、vi /etc/security/limits.conf加入如下内容
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240
2、vi /etc/pam.d/login加入
session required /lib/security/pam_limits.so
3、vi /etc/profile加入
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
用【LeapFTP - Shortcut】软件(我电脑里是这个软件,当然你也可以用别的FTP软件达到同样目的)将物理机上的ORACLE安装文件上传到虚拟机里的SUSE LINUX的【/home】目录下。
如果是压缩包,则先用unzip命令或者tar命令解压缩。
tar命令解压的格式为: tar zxvf filename.tgz
解压缩完毕后进入/home目录,在此处使用下面的chown命令更改安装程序包的归属用户和组。
linuxsight:/#cd /home <切换到/home目录>
linuxsight:/#chown -R oracle:oinstall oracle_db/ <设置该安装包所属的用户和组,必须设置这一步,这样才能在oracle用户下顺利运行这个安装包>
安装界面并不一定要用中文,英文也可以。改为英文环境即可
设置语言环境 LANG和LC_ALL,我的一次安装操作没有更改语言环境,安装时出现了乱码。
$ export LANG=en_US <更改语言为英文>
做到此处,就更换用户,在图形界面下,switch users,更换到oracle用户。
要求图形界面为oracle用户下,这样才能顺利安装。
打开终端窗口,找到安装文件,然后执行安装。./runInstall.sh
比如我的安装程序位置为:[email=oracle@extragalactic:/home/oracle_db/install]oracle@extragalactic:/home/oracle_db/install[/email]> runInstall
【若显示不了,没有图形界面】
1、在oracle用户(当前用户)输入 who am i,查看最边项是 0.0 还是0,或者别的什么。
2、在当前窗口另开一终端窗口,在root下输入“export DISPLAY=127.0.0.1:0,(此处地址即为系统IP地址)回车;再输入:xhost + ;如果显示结果为 xhost: unable to open display "127.0.0.1:0",即为执行正常。
3、然后新开终端窗口,执行安装程序就可以了。这种方法只是临时起作用,如果卸载了再次安装,则需要再次如此操作,当然,也可以将这句话写到变量文件.profile中,但也需要另开终端窗口执行安装,否则安装会失败。】
在安装过程中,第一步点安装后会弹出一个窗口,要求在root下执行一个程序,另开一个终端窗口,su - root,然后根据提示找到那个程序并执行它,在安装的后面也有一个类似的提示,同样的操作即可。
切记安装完成后,记下界面的管理地址。
第二步:选组时选择 dba
第三步:单独的数据库,不是集群。
(注:如果是出现磁盘空间不足的话,可以检查一下到底哪里有多余的数据,本来预设16G是足够的。可以清空TMP目录,清空命令rm –rf *
-r就是向下递归,不管有多少级目录,一并删除
-f就是直接强行删除,不作任何提示的意思)
第四步:语言:英文English
第五步:选第一个:企业版
第六步:系统已经根据我们设定的变量自动读取了安装目录
第七步:继续默认
第八步:同样已经读到了组 dba oinstall
补充说明:在VM里安装时有时会遇到因为分辨率不足而无法安装的问题,通常解决方法如下:
1,到/etc/inittab文件里,把init3或者其他值改成init5
2,reboot system,用root用户通过图形界面进入系统,在终端里执行xhost +;
(一般在这里都xhost会执行成功,如果无法执行成功,那你图形肯定有问题!)
3,设置客户机的DISPLAY值(export DISPLAY=IP(客户端的IP地址,你要设成别的地址,那你就看不到图形):0.0
4,完毕后再重新安装ORACLE.
关于卸载oracle:
su - oracle
1、运行 $ORACLE_HOME/bin/localconfig delete
su - root
2、rm -rf $ORACLE_BASE/*
3、rm -f /etc/oraInst.loc /etc/oratab
4、rm -rf /etc/oracle
5、rm -f /etc/inittab.cssd
6、rm -f /usr/local/bin/coraenv /usr/local/binhome /usr/local/bin/oraenv
7、 删除oracle用户和组。
第七步一定是先删除用户,再删除组,否则会出现删不掉的情况。主要分下面三个步骤,当然,若你还建有别的组,就接着删除即可。
# userdel -r oracle
# groupdel oinstall
# groupdel dba
接下来,没有了,完毕。