最终实现目的:SUSE 11安装oracle 11g服务端,客户端环境为win7 64位,要实现在客户端环境通过pl/sql连接上并能访问oracle数据库
总结安装过程中遇到的问题:
1.不切换oracle用户安装时会报一个display不满足的错误。
解决办法:此时切换为oracle用户登录执行安装即可。
2.安装完成后,输入sql/plus命令无效。
解决办法:确认oracle相关变量是否设置正确,oracle_base,oracle_home,通过env查看Oracle设置。
3.无法连接上数据库。
解决办法:启动数据库和数据库监听服务。 启动数据库需要使用系统登陆启动。
4.pl/sql不支持oracle 64client连接,当配置oci.dll时候启动pl/sql回报相关错误。
解决办法:使用免安装的instantclient-basic-nt-11.2.0.4.0,配置相关参数即可。下面会详细介绍到。
安装oracle服务端准备
启动已经安装好的Suse Enterprise 11
1.下载上传oracle 11g
在这里直接使用rz命令,需要实现通过软件中心安装,直接搜索rzsz,安装上即可使用。
另外,我们在win7机器上安装个远程工具用于把oracle11g上传到suse 服务器端,
在这里使用的工具为SecureCRT,登陆后使用命令
rz
显示对话框,选中下载的oracle 11g,点击上传至对应目录即可。
2.检测并安装oracle环境,开始检测所需RPM包。
#rpm –q binutils gcc gcc-c++ glibc glibc-devel ksh libstdc++33 libstdc++43-devel libaio libaio-devel libgcc43 libstdc++-devel make sysstat unixODBC-32bit unixODBC-devel-32bit
在suse里可以利用它的特点,操作如下,回到x-window操作界面即可视化操作界面,计算机—安装软件,缺少了gcc 直接搜索gcc,把需要的gcc,gcc++勾上,点击接受就可以自动安装了每个软件都可以用这种步骤操作,知道所以缺少的包都安装完毕。再次运行查找命令,发现所有包已经安装了。
最后再利用rpm -q检查是否所需要安装的包已经安装完毕。
3.检查系统硬件
如图,利用linux命令检查系统是否满足要求。内存1G以上 交换空间1.5G以上 磁盘空间16G
4.修改linux内核参数
检查内核参数是否满足
5.打开 /etc/sysctl.conf
vi /etc/sysctl.conf
加上如下内容:
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 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 #使修改的参数立即生效
6.创建oracle用户和组及安装目录
groupadd oinstall #(创建用户组oinstall) groupadd dba #(创建用户组dba) useradd –g oinstall –G dba –m oracle passwd oracle #(设置密码) mkdir –p /fantlam/oracle #创建oracle目录 chown -R oracle:oinstall /fantlam
7.设置oracle变量
linuxsight:/# su oracle oracle@linuxsight:/home/oracle> vi .profile #添加如下内容 ORACLE_BASE=/fantlam/oracle/app/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_2 ORACLE_SID=orcl PATH=$ORACLE_HOME/bin:$PATH export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH oracle@linuxsight:/home/oracle> exit #(退出登录让设置生效) linuxsight:/# su oracle linuxsight:/ mkdir –p /fantlam/oracle/app/oracle #创建oracle_base目录 linuxsight:/ mkdir –p /fantlam/oracle/app/oracle/product/11.2.0/dbhome_2 #创建oracle_home目录 linuxsight:/ mkdir –p /fantlam/oracle/app/oraInventory #创建oraInventory目录 oracle@linuxsight:/home/oracle> env | grep ORA #查看ora是否成功设置到环境变量 ORACLE_SID=orcl ORACLE_BASE=/fantlam/oracle/app/oracle ORACLE_HOME=/fantlam/oracle/app/oracle/product/11.2.0/dbhome_2
8.为oracle用户设置shell的限制
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
9.编辑 /etc/pam.d/login
vi /etc/pam.d/login #加入如下内容: session required /lib/security/pam_limits.so
10.编辑/etc/profile
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
解压安装oracle11g
linuxsight:/# unzip linux_11gR2_database_1of2.zip linuxsight:/# unzip linux_11gR2_database_2of2.zip linuxsight:/# mv database/ /fantlam linuxsight:/# cd /fantlam linuxsight:/# chown -R oracle:oinstall database/
接下来的步骤就是切换至oracle用户然后运行安装了。
按照以往的经验,只需要在shell上su oracle 就可以运行安装程序了。而本次在suse我却碰到问题了。
这是本次安装碰到第二个问题
问题所在:
无法使用命令 /usr/bin/xdpyinfo 自动检查显示器颜色。请检查是否设置了 DISPLAY 变量。
其实在上次安装我已经遇到过了,当时用了xhost local:oracle就可以解决,但据网上介绍说是suse和redhat是有些不同。就算是设置DISPLAY=192.168.1.103:0.0也不行,用su – oracle切换至oracle用户,运行xclock都会出错,can’t open display
一连几天我都束手无策。最后终于找到一个解决方法:
注销–切换用户–直接用oracle登录
用这种方法发现 xclock就可以正常运行,所以也能正常运行oracle安装程序了。
第三个问题:安装界面出现乱码
上一次记得用oracle 10G的时候就出现过这种情况,晚上的解决方案是下载jdk去重新设置,感觉这种方法太麻烦了,而我认为安装界面并不一定要用中文,英文也可以。
所以改为英文环境即可
设置语言环境 LANG和LC_ALL
$ export LANG=en_US $ export LC_ALL=en_US
cd到数据库目录执行./runInstaller命令即可。
第一步是设置邮件的,可选择略过。
第二步:选择只安装软件
第三步:单独的数据库,不是集群。
(注:如果是出现磁盘空间不足的话,可以检查一下到底哪里有多余的数据,本来预设16G是足够的。可以清空TMP目录,清空命令 rm –rf *
-r 就是向下递归,不管有多少级目录,一并删除
-f 就是直接强行删除,不作任何提示的意思)
第四步:语言:英文 English
第五步:选第一个:企业版 enterprise edition
第六步:系统已经根据我们设定的变量自动读取了安装目录,即为刚开始设置的Oracle_base目录,如不对,请自行修改。
第七步:继续默认
第八步:同样已经读到了组 dba oinstall
第九步:进行安装检测。一切没问题,不过提示一个错误是系统内存不足,可以在虚拟机把内存调大点,不过这里我选择忽略。
第十步:一切准备就绪。 自动执行安装。
最后一步:执行脚本。
如图所示
最后测试数据库是否安装成功:
输入命令sqlplus,如出现如下界面,则说明安装成功,否则请查看ORA配置,确认
环境变量中的ORA SID ,ORA_BASE,ORA_HOME是否与安装选择的保持一致,如发现sqlplus命令无效,请确认环境变量中是否有oracle相关设置。