1、写在安装前的话
可能有很多的菜鸟十分害怕大型软件的安装,因为安装过程中的一些错误很让他们头疼。下面我就写一个教程,希望能对大家有帮助,在安装ORACLE之前给大家一点点的意见:
(1)尽量要安装Linux版本的Oracle
- Oracle对Linux更加的又亲和力,更兼容
- Windows把自己的一些东西封装的太厉害了,以至于我们出现错误的时候很难修改
- 安装在Windows下会影响自己日常电脑的速度,安装在Linux虚拟机下面,成了一个绿色免安装版的Oracle+LinuxOS
(2)安装的时候,Oracle的联机文档是必不可少的
2、安装前的准备工具
CentOS-6.5(CentOS是跟红帽的版本同步的,并且两者几乎没有差别,只不过一个收费一个免费)
Oracle-11g-Release1和对应的联机文档
VMware-10.0(我用的是这个版本的Linux版的)
注意:
说一下联机文档的下载,别找错了。Oracle官网->Download->Oracle Database->Documentation->Oracle-11g-Release1-B28359-01
zip
也许在你看到这个博客的时候,Oracle和CentOS都已经升级了,并且我现在用的版本已经停止下载了,真的没关系。你只要把对应的Oracle和它的联机文档下载下来就OK了,同时知道CentOS和Red Hat的版本是同步的。
3、 安装Oracle数据库软件
3.1、定位联机文档
我是在Linux上安装,当然找Linux的安装文档(用IE打开,Chrome显示有问题),下面截图个看看:
进去之后,联机文档先是说一下what's new、overview的说明性的东西,了解一下直接看【Preinstallation Requirement】,再然后就能看到以root用户登录,和相应的硬件、软件的要求。硬件上主要的就是内存的需求,基本要1G的内存大小。主要看一下软件的要求:
操作系统需求:
我用的是CentOS6.5,对应的Red Hat6.5的版本,我觉得应该没有问题。因为我实在懒得去找CentOS4或者CentOS5了。
软件包的需求:
Red Hat4和Red Hat5的要求包都一样,所以我觉得Red Hat6的检查包应该也是这些。
利用下面指令查看对应的包是否在CentOS Linux上安装
rpm -qa | grep xxx //xxx是软件的名称
把上面个列表中的所有软件检查一遍,找到没有安装的软件包,然后去找这些软件包。去哪里找这些没有安装的软件包?
去你的CentOS.iso安装包中找,因为CentOS觉得你可能用不到这些软件包,就没有帮你安装,但是万一你真的用到了呢,于是他就给你放到了一个文件夹里,你真的用到了就自己安装就好了,这个目录就是:
CentOS-6.5-i386-bin-DVD1.iso\Packages
然后把这些软件包放到Linux虚拟机下,用下面指令安装:
rpm -ivh *.rpm
这一步的软件包一定要仔细的检查,如果遗漏了什么安装包,你的最后的Oracle的安装一定会因为它而失败的。
4、建立Oracle用户
我不希望每次登陆Oracle都使用CentOS的root用户,因为这样是不安全的,拥有太多权限,所以要建立一个用户,然后赋予这个用户合适的权限。既然有了用户,那么这个用户就的有他自己的主组、辅助组和他自己的home目录(也就是默认的根目录)。
groupadd oinstall //建立一个群组
groupadd dba //建立一个群组
cd /
mkdir -p /u01/oracle //在根目录下建立文件夹,计划把软件安装在这里
useradd -g oinstall -G dba -d /u01/oracle oracle //增加一个oracle用户,主组是oinstall,辅助组是dba,缺省的根目录是/u01/oracle
passwd oracle //为新增的用户设密码
这时我们设置u01为用户oracle的缺省根目录,但是这个文件夹是在root用户下创建的,所以它现在是root群主的root用户的成员:
利用下面的命令修改u01的群主和所属用户:
chown -R oracle:oinstall u01
5、配置kernel的parameters
5.1、把下面的参数配置到/etc/sysctl.conf这个文件中去:
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 2147483648
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 = 1048576
5.2把下面的参数配置到/etc/security/limits.conf这个文件中去:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
5.3设置Oracle的环境变量
Linix新增加一个用户后,可以指定一个缺省的根目录。然后会把一些文件拷贝到这个根目录中,其中的一个文件.bash_profile就是用来配置该用户的环境变量的。每个用户登录后,都会自动的执行这个.bash_profile文件,使他自己的环境变量的配置生效。所以为oracle用户配置Oracle软件的环境变量:
ORACLE_BASE=/u01
ORACLE_HOME=$ORACLE_BASE/oracle
ORACLE_SID=stemon //我自己的名字,你可以随便的设置
PATH=$ORACLE_HOME/bin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
然后exit退出oracle用户,这时再次进入root用户了,在用指令su - oracle指令切换到oracle用户。这时环境变量就已经生效了。验证一下:
env | grep ORACLE
就能看到之前的带有ORACLE的环境变量的参数配置。
6、安装Oracle软件具体步骤
因为oracle的安装文件是.zip格式的,所以要到它所在的目录中使用unzip指令,将其解压缩。解压以后就会多出一个文件夹,名字是database。然后运行文件夹中的runinstaller。然后用mv把database文件夹移动到/u01这个目录中,当然这一步不是必须的,这里只是把安装文件放到一个我们自己新建的文件夹中,方便以后查找、管理。
这样的操作以后基本上就是这个样子了:
我们计划把oracle软件安装在oracle这个目录中,并且看到oracle这个文件夹的群主和主属都是合理的,但是安装程序的群组和主属都还是root,为了防止在安装的过程中因为权限问题出错,修改一些安装程序的群组和主属。
chown -R oracle:oinstall database
然后进入到database这个文件夹中就能看到runinstaller这个程序安装接口,运行它就好了。这个接口是图形界面的,所以必须用startx进入图形界面。
进入到了图像安装界面以后->高级安装->弹出的错误,选择OK->然后就是设置inventory的目录,把它重新设置为/u01/inventory中->Oracle软件对你的系统的所有的配置做一次检查。
注意:
在全面检查的这个阶段,它会给出正确的值,同时显示出你配置的错误的值。如果Failed,那就到相应的文件中重新配置,如果你不知道这个参数在哪个文件中配置的,那就根据这个参数的名称,到联机文档中查找。然后重新配置这个参数,并使之生效。(有时候联机文档中的值是错误的,依安装界面给出的值为标准)
就这样修改,直到所有的错误都清除,在界面上显示0 requirements to be verified。
然后继续安装,在这个过程中,会让你选择是否创建数据库,这里选择不创建,只安装软件。数据库的创建我们以后用dbca。
然后经过一段时间的install,就会让你以root用户执行两个脚本:
u01/oraInventory/orainstRoot.sh
u01/oracle/root.sh
到此,整个oracle数据库软件都已经安装完了,但是现在还没有数据库,是没有办法存储数据的。
利用dbca创建数据库
在创建数据库之前,首先要配置一下oracle的listener,用来监听远程的连接。
执行命令netca就能看到配置listener的图形界面。一路的确定,选择端口号1521直到最后就好了。最后可以用ps -ef | grep Lis验证一下。
然后运行dbca建立数据库,一直next就好了,但是注意在选择字符集的时候,要选择UnicodeAL32UTF8,官方推荐的。
http://www.w3cschool.cc/mysql/mysql-tutorial.html
http://www.w3cschool.cc/git/git-install-setup.html
http://www.cnblogs.com/mr-wid/archive/2013/05/09/3068229.html#d22
http://www.w3cschool.cc/
http://www.w3cschool.cc/mysql/mysql-administration.html
http://www.w3school.com.cn/css/index.asp
http://www.w3school.com.cn/example/csse_examples.asp
http://www.w3school.com.cn/css/css_intro.asp