废话连篇:
现在说suse 11 sp2 装oracle 11g,之所以写这篇文章,是因为,网上有关于SUSE 11装oracle11g 的课程,但是,我照着一步一步的做,总会出错,我自认步骤都没错,但是就是不行,于是,我找到了官方文档,终于成功了。
注意:1.装东西,最好按照官方文档,虽然网上的文章更加清晰明白,但是出错都不知道哪里的错!
2.网上的redhat 装oracle 11g,虽然变汤不变药,但是和SUSE装oracle 11g是不太一样的,不要照葫芦画瓢,你根本画不好!
废话结束!
正文开始:
安装SUSE LINUX Enterprise Server 11 SP2,网上的文档很多,基本上都很可靠,而且我也照着安装,很多文章基本上都没有问题,说实话,网上的文章都很好!
系统安装完毕,用root的用户登录oracle服务器,检查SUSE系统的内核版本。
# cat /proc/version
Linux version 2.6.32.12-0.7-default(geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSELinux) ) #1 SMP 2010-05-20 11:14:20 +0200
内核版本我加红色了,系统要求版本在2.6.16.21以上,否则,重装系统。
3. 执行rpm –qa 命令,检查装ORACLE服务器的所需要的包是否全部装全了就是下面这条命令:
#rpm –qabinutils gcc gcc-c++ gcc-32bit gcc43 gcc43-32bit glibc glibc-32bit glibc-develglibc-devel-32bit ksh libaio libaio-devel libaio-devel-32bit libelf0 libelf1libgcc43 libgcc43-32bit libstdc++33 libstdc++33-32bit libstdc++43libstdc++43-32bit libstdc++43-devel libstdc++43-devel-32bit libstdc++-devellibgomp43-32bit make sysstat libcap unixODBC
累死了,敲这些很累人,你可以直接复制我的,就不用敲了。
如果系统没有返回信息,表明没有安装补丁包。
如果有返回信息,但是版本号低于上表中的最低要求,则执行
#rpm –e 补丁包名 这个命令是删除,删除以后在按照下面的方法按照
安装需要的包:
(SUSE和redhat,centos有一个区别,就是redhat,centos你得自己配置YUM源,但是SUSE不用配置,你把安装盘放到光驱里面,就行了,或者你在虚拟机里面的话,你点“虚拟机---可移动设备---连接DVD”就行了)
(1) 点左下角的计算机,然后点里面的安装软件,如图:
然后在search里面写上你想安装的名字,点接受就可以了,就会自动安装。
提醒一下初学者,redhat,centos里面的yum,相当于suse里面的yast2,zypper命令,redhat里面的yum要自己配置本地源,suse里面的配置文件一点都不需要改动,只需要连接好你的光
盘就行了。
把包全部安装好以后,有一条命令很重要:
# rpm –qa|greporarun 如果安装了,就卸载,因为这个会破坏你后面的环境变量
# rpm –eorarun-1.9-21.15 删除这个懒人包。
如果你想详细了解这个包,就看下面的连接,写的很清楚。
http://blog.csdn.net/laven54/article/details/9417121
4.需要的包全部安装好了,现在关闭防火墙:看图片,执行图片中的命令。
然后:
5.关闭SELINUX,SUSE默认是关闭SELINUX的。此步骤略过。
6.修改系统内核参数(修改任何东西前,先备份,这是个好习惯。)
# cp /etc/sysctl.conf /etc/sysctl.conf.bak
#vim /etc/sysctl.conf ,把下面这些东西追加到这个文件中,是追加哦!
#net.ipv4.ip_forward = 0 #disabled
net.ipv4.conf.default.rp_filter = 1
kernel.sysrq = 1
kernel.core_uses_pid = 1
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 262144
#set "kernel.shmmax" to the half of the physical memory.
kernel.shmmax = 8359960576
net.ipv4.tcp_fin_timeout = 15
net.ipv4.tcp_keepalive_time = 300
net.ipv4.tcp_keepalive_probes = 3
kernel.msgmni = 2878
kernel.msgmax = 8192
kernel.msgmnb = 65535
net.ipv4.ip_local_port_range = 1024 65000
fs.file-max = 131072
kernel.sem = 256 35000 100 142
写完以后(你可以直接复制到你的文件中),执行下面的命令:
#chkconfig boot.sysctl on //系统每次重启自动载入配置文件
#chkconfig –l boot.sysctl //检查配置文件启动状态,只有B是on
#reboot 重启就行了。
7.创建用户和用户组
#cat /etc/passwd|grep oracle
#cat /etc/group|grep oinstall
#cat /etc/group|grep dba
默认情况下,都有,都是orarun这个懒人包起的作用,都删除:
#userdel –r oracle
#groupdel oinstall
#groupdel dba
删除以后,然后:
.groupadd –g 200 dba
. groupadd –g201 oinstall
-g 表示创建用户组的组ID.
创建oracle用户。
useradd –u 300 –d/home/oracle –s /bin/bash –m –g oinstall –G dba oracle
-u: 制定用户ID
-d: 指定用户家目录
-s:制定用户登录的shell类型
-m:若用户家目录不存在,自动创建
-g :指定用户所在的主用户组。
-G:指定用户所在的辅用户组。
检查oracle用户是否创建正确
. more/etc/passwd|grep oracle
. passwdoracle (或者在脚本中,echo123456|passwd –stdin oracle)
8. 创建安装目录,用于安装oracle数据库
#mkdir/opt/oracle
#chown –Roracle:dba /opt/oracle
#chmod –R 755/opt/oracle
创建/opt/oraInventory目录
. mkdir –p /opt/oraInventory
.chown –Roracle:oinstall /opt/oraInventory
.chmod –R 755/opt/oraInventory
9. 添加主机名与IP地址的对应关系
在配置文件中添加主机名与IP地址的对应关系,否则将导致Oracle数据库安装失效,说到这,你的IP配置好了吗?
#vim /etc/hosts
172.16.16.16 linux
172.16.16.16 是Oracle服务器的IP地址,linux是主机名。
10. 重启用oracle用户登录服务器。
$ pwd
/home/oracle 默认oracle用户的家目录是/home/oracle
然后在这个目录底下,新建 .bash_profile, 注意,是.bash_profile,不要少了点。
#Vim .bash_profile
export ORACLE_BASE=/opt/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=OSS
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:$ORACLE_HOME/rdbms/lib
export LD_LIBRARY_PATH
SHLIB_PATH=$ORACLE_HOME/lib32:$ORACLE_HOME/rdbms/lib32
export SHLIB_PATH
# Set shell search paths:
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH:/usr/local/bin
# CLASSPATH must include the following JRE locations:
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib
export DBCA_RAW_CONFIG=/oracle/app/rawdevpath
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LANG=C
export LC_CTYPE=C
写完以后,使环境变量立即生效。
# source .bash_profile
#env|grep ORACLE_HOME 检查环境变量是否生效。
ORACLE_HOME=/opt/oracle/product/11.2.0/db_1
到目前为止,SUSE系统的东西基本上都改完了,剩下的就是安装oracle软件了,如果你是在虚拟机中安装的,建议你做一个快照,快照非常重要!
安装ORACLE软件,前提,ORACLE数据库的安装包已经上传到/opt/oracle目录下
$cd /opt/oracle 到这个目录下,然后依次解压。(确保这2个文件是oracle用户的,不要是root用户的。)
$unzipp13390677_112040_Linux-x86-64_1of7.zip
$unzipp13390677_112040_Linux-x86-64_2of7.zip
解压完成后,会生成一个database文件夹
$ cd database
$ ./runInstaller 执行完这个命令,就会出现图像界面
什么也不用写,真的,虽然它报错:
点YES,继续。
跳过更新。
只安装software,就行。
选第一个就行,单机版。
默认就行,一个English就够了。
选第二个,标准版。
ORACLE Base 和ORACLE Location 默认就行,就是图片里的目录就行,看看你的是不是和我一样。
继续默认,下一步。
2个都选dba,继续下一步。
检查包的情况,如果是“Warning”或者“Succeed””User Verified ”就忽略,点Ignore all,如果是出现了“Failed”,那你就重新安装包,如果包确实安装好了,就重新安装ORACLE.
继续点下一步,如果出现下面这个错误,
点击YES.,继续。
点击Install,继续。
安装完以后,出现这个图片:
你就用root用户,执行这2个脚本
#sh /opt/oraInventory/orainstRoot.sh
$sh /opt/oracle/product/11.2.0/db_1/root.sh
完成安装。
数据库软件安装完了,接下来安装数据库实例:
1.#dbca //这个命令创建数据库实例
切记,这个地方什么都不选!
比如:密码可以设置为Admin@12345
这个地方也是什么都不选!
这个地方也是什么都不选。
都设置成和图片中的一样!
保持默认即可!
等待20分钟吧,耐心等待!
创建数据库实例成功后,单击Exit,关闭窗口。
数据库实例已经OK!
接下来创建侦听:
侦听是代表一个或多个数据库处理外部请求的一个进程。创建侦听并成功启动后,外部系统才能使用数据库。
$netca //netca这个命令即可。
保持默认。
安装完了,现在我们检查一下数据库是否安装成功了。
$ sqlplus “/ as sysdba” //用oracle用户登录执行。
startup 显示如下信息,表示数据库启动成功。
查看数据库版本:
. select * from v$veersion:
查看数据库实例名及其状态。
. select INSTANCE_NAME,STATUS from v$instance.
如果显示如下信息,表示数据库实例名正确,且状态正常。
退出sql命令行。
. exit
查看侦听状态。
. lsnrctl status
终于写完了,好累人!
在此,向各位博客大神,写博客的前辈同行致敬,写东西很累人啊!