您的位置:首页 > 数据库 > Oracle

新手教你centOS 6.5下面如何安装Oracle 11g(通用版)

2014-10-18 22:16 941 查看
由于课程需要,本人需要在centOS 6.5下面安装Oracle 11g,对于我这么一个对Linux一无所知的菜鸟,确实任务很艰巨。但是所幸的是,在第一遍装的遍体鳞伤之后,第二遍成功安装运行。

在网上查找了很多资料,但是很多资料的内容在细节部分总是有些不同,让属于菜鸟的我们无所适从,一些专业的术语更是让我们摸不着方向,在听到周围不断有人抱怨装了十几二十遍还没装上的时候,本菜决定完整的写下作为一个门外汉的成功安装过程。

第一步:

软件安装:

本菜是在VMware 虚拟机上安装的centOS 6.5,开辟的虚拟硬盘空间一定要大于30G(本菜一开始只开辟了20g,结果最后提示空间不够,惨痛的经历,所以第二遍直接开辟了50G硬盘空间),建议在40G~50G,内存最低要1G!!!

至于VMware虚拟机和centOS的安装不是本文重点,更不是难点,大家可以参考其他内容进行安装,在此不再赘述!

软件准备:

Oracle的下载,分为32位和64位,安装过程都是一样的。如果你的机器是32位的,就下载32位的Oracle软件,若是64位的就下载64位的。下面的安装过程是完全一样的,本菜一开始在这个环节还犹豫了一些时间,汗~

因为我是32位的操作系统,所以我下载的是linux_11gR2_database_1of2和linux_11gR2_database_2of2两个压缩文件。若是64位的请下载:linux.x64_11gR2_database_1of2和linux.x64_11gR2_database_2of2(注意都是下载两个文件,缺一不可)。如图:



 

第二步:修改主机名

以root权限登录虚拟机,打开终端输入命令行,将主机名改为oracledb:

[root@oracledb ~]# sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
[root@oracledb ~]# hostname oracledb

 

第三步:修改网络连接方式

这一步是必须要做的!因为在安装centOS(网络连接选的是桥接,不要选择NAT,否则外网无法访问你的虚拟机)的时候我们都是动态获取IP,但是在安装Oracle的时候是需要更改的,我们必须要使用静态IP,可以这样理解,装上Oracle数据库,你的虚拟机就是提供数据访问的服务器了,IP就像你的身份证,如果你的每次都变换身份,谁能找得到你!

知道了为什么,那么就要就行修改配置了:

1.修改网卡配置:

在终端输入命令行:ifconfig可以查看网卡信息,其中inet addr是IP地址的意思。

网上很多都是说用命令行:vi /etc/sysconfig/network-scripts/ifcfg-eth0进行修改网卡配置信息,但是我没有修改成功。所以直接讲述我的方法!那就是找到文件,打开进行修改。打开文件系统filesystem,打开etc文件夹,再打开sysconfig文件夹,再打开network-scripts文件夹,最后打开ifcfg-eth0文件,进行配置。

我的配置信息如下:



 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth0

 BOOTPROTO=static #(这是需要修改的,由原来的dhcp改为static!)设置网卡获得ip地址的方式,可能的选项为static,dhcp;分别对应静态指定的 ip地址,通过dhcp协议获得的ip地址

 BROADCAST=192.168.1.255 #(如果没有的话是需要自己添加的,最后一位必须是255,前面和你的外边的网络ip是一致的)对应的子网广播地址

 HWADDR=00:07:E9:05:E8:B4 #对应的网卡物理地址

 IPADDR=12.168.1.118 #(自己手动添加的,必须和外部本地IP同一个网段,即前三位192.168.1和外部本机IP一致)如果设置网卡获得 ip地址的方式为静态指定,此字段就指定了网卡对应的ip地址

 NETMASK=255.255.255.0 #(需要自己添加的,都是255.255.255.0)网卡对应的网络掩码

  GATEWAY=192.168.1.1 # (需要自己添加的,和外部网关一致即可)

 NETWORK=192.168.1.1 #(需要自己添加的,和网关GATEWAY保持一致即可)网卡对应的网络地址

上面我一直说和外部一致,或者是和外部同一网段,那么外部的信息怎么看,在外面打开网络信息,参考进行配置,如图:



2.修改网关配置

 逐步进入etc/sysconfig/network文件 修改后如下: 

  

 


 NETWORKING=yes(表示系统是否使用网络,一般设置为yes。如果设为no,则不能使用网络,而且很多系统服务程序将无法启动)

 HOSTNAME=oracledb(设置本机的主机名,这里设置的主机名要和/etc/hosts中设置的主机名对应)

 GATEWAY=192.168.1.1 # (需要自己添加的,设置本机外部连接的网关的保持一致。)

3.修改DNS 配置

  逐步进入/etc/resolv.conf文件 修改后如下: 

  


  nameserver(需要自己添加的)即是DNS服务器IP地址,第一个是首选,第二个是备用,和外部DNS保持一致。

4.重启网络服务

  执行命令:

  service network restart  或   /etc/init.d/network restart

第四步:添加主机名与IP对应记录

命令行如下:

[root@oracledb ~]# vi /etc/hosts 192.168.1.118 oracledb

注:如果命令行没成功,仍然可以找到文件进行添加,其实就是在文件里添加上一行:

192.168.1.118 oracledb

第五步:关闭防火墙Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
[root@oracledb ~]# setenforce 0

第六步:安装依赖包
[root@oracledb ~]# yum -y install  gcc gcc-c++ make binutilscompat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-commonglibc-devel  libaio libaio-devel libgcclibstdc++ libstdc++-devel unixODBC unixODBC-devel

第七步:创建用户和组
[root@oracledb ~]# sysctl -p 
[root@oracledb ~]# groupadd -g 200 oinstall 
[root@oracledb ~]# groupadd -g 201 dba 
[root@oracledb ~]# useradd -u 440 -g oinstall -G dba oracle 
[root@oracledb ~]# passwd oracle

第八步:修改内核参数
[root@oracledb ~]# vi/etc/sysctl.conf  #末尾添加如下 (注:建议新手还是逐步找到相应的文件,直接在文件末尾粘贴下面的参数信息)
net.ipv4.ip_local_port_range= 9000 65500 
fs.file-max = 6815744 
kernel.shmall = 10523004 
kernel.shmmax = 6465333657 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100128 
net.core.rmem_default=262144 
net.core.wmem_default=262144 
net.core.rmem_max=4194304 
net.core.wmem_max=1048576 
fs.aio-max-nr = 1048576

第九步:修改系统资源限制
[root@oracledb ~]# vi/etc/security/limits.conf #末尾添加如下 (注:建议新手到文件里面进行手动添加)
oracle  soft  nproc  2047 
oracle  hard  nproc  16384 
oracle  soft  nofile  1024 
oracle  hard  nofile  65536 

[root@oracledb ~]# vi/etc/pam.d/login (注:建议新手到文件里面进行手动添加)
session    required    pam_namespace.so  #下面添加一条pam_limits.so 
session    required    pam_limits.so

[root@oracledb ~]# 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

第十步:创建安装目录及设置权限,命令行输入:
[root@oracledb ~]# mkdir /opt/oracle/app/ 
[root@oracledb ~]# mkdir /opt/oracle/oradata/ 
[root@oracledb ~]# chmod 755 /opt/oracle/ 
[root@oracledb ~]# chmod 775 /opt/oracle/app/ 
[root@oracledb ~]# chown oracle.oinstall -R /opt/oracle/

第十一步:(很重要,第二遍安装差点让它搞砸)设置环境变量!

[oracle@oracledb ~]$ vi ~/.bash_profile (注:~/表示的是当前登录用户的根目录的意思)
export ORACLE_BASE=/opt/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export PATH=$PATH:$ORACLE_HOME/bin

export ORACLE_SID=orcl 
export ORACLE_PID=orcl 

以上信息如果命令行没法修改,我们依然需要进行找到文件进行手动添加信息,但是你会发现找不到!!!因为.开头的文件都是隐藏文件!!!所以这时候你需要进入oracle用户的文件系统,按CTRL+H即可让所有的隐藏文件都现身,然后再进行添加信息!!!
[oracle@oracledb ~]$ source .bash_profile  #立即生效

第十二步:将已经下载好的两个oracle压缩文件复制到/media文件夹里面,如图:



第十三步:解压oracle文件:

[root@oracledb~]# unzip /media/linux_11gR2_database_1of2.zip (如果你是64位的压缩文件,命令应该是unzip /media/linux.x64_11gR2_database_1of2.zip )
[root@oracledb~]# unzip /media/linux_11gR2_database_2of2.zip 
[root@oracledb~]# xhost +  #使所有用户都能访问图形桌面 
[root@oracledb~]# su –oracle 
[oracle@oracle~]#./media/database/runInstaller (注:我在网上看到的资料解压之后的文件默认是放在了/media的文件夹里面,但是我的并不在里面,而是在root的根目录生成了文件夹database,所以这一步的文件路径是错误的,因而runInstaller没法运行),如图:



这一步我浪费了很长时间,不知道该如何解决,因为和网上解压的位置不一样,以后再输入命令行就错误百出。后来解决办法其实很简单,手动将database这个文件夹剪切到文件系统下的/home/oracle里面。如图:

 


 

然后再输入命令行:[oracle@oracle~]#./home/oracle/database/runInstaller

即可运行oracle安装操作。

(如果成功进入到图形界面安装的话,下面这段话可以跳过不看!!!)

但是本菜又遇到了一个问题,就是我输入这个命令行的时候,提示我没有权限。这样的话,我就返回到root权限,添加了命令行:

[root@oracledb ~]# chmod 755 /home/oracle/database

然后在用命令行:[root@oracledb ~]# su oracle

进入oracle用户,执行命令行:[oracle@oracle~]#./home/oracle/database/runInstaller

 (如果这里不行的话建议在oracle用户下,找到压缩包,直接右键,进行手动解压缩,指定压缩后存放在/home/oracle;解压缩完成后,然后在命令行运行installer)

第十四步:成功进入到了图形化界面安装:

1.不要输入Email地址,直接next

 


2.选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件,然后next



3.选择服务器版本,如图,点击next



4.单例数据库,如图,点击next



5.高级模式安装,如图,点击next



6.添加支持的语言,如图,点击next



7.选择要安装的版本,如图,点击next

 


8.安装数据库目录,如图,点击next

 


9.创建详细目录

 


10.选择配置类型

 


11.数据库与服务名

 


12.开启自动内存管理(如果512m太大,会出现提示,减少一些就可以),然后先不要点击next,而是点击Memory旁边的Charactor sets选项。

 


13.设置默认编码为UTF8

 


14.启用oracle企业管理控制台OEM

 


15.选择数据库文件目录

 


16.自动备份设置

 


17.设置数据库用户名和密码,他是有一个密码建议的,否则会提示错误,密码建议是包含大写和小写字母,总长度不能低于8位。

 


18.授权的组

 


19.检查oracle一些安装要求,包都已经安装,直接忽略

 


20.开始安装(速度比较慢,耐心等待,喝杯咖啡)

 


 

21.创建备份数据库

 


22.安装完成!



安装完成后,会出来一个对话框,提示使用root用户执行这两个脚本

[root@oracledb ~]$ /opt/oracle/oraInventory/orainstRoot.sh

[root@oracledb ~]$ /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

第十五步:命令行进入数据库,畅爽oracle吧!

(注:如果在输入命令开启数据库的时候,提示bash:XXX command not found的时候很有可能是你没有在oracle用户下输入命令行,这时候用su oracle试一下,如果还是不行可以到/opt/oracle/app/product/11.2.0/dbhome_1/bin目录下,确认一下此命令是否存在!!!
如果开启过程出现ERROR:ORA-12162: TNS:net service name is incorrectly specified这种语句的时候,很有可能是环境变量没有配置好,建议到oracle用户中的.bash_profile文件里查看一下,如何找到.bash_profile请参见第十一步!)

[root@oracledb ~]# su –oracle

[oracle@oracledb ~]# lsnrctl start

[oracle@oracledb ~]# sqlplus / as sysdba

SQL> startup #启动数据库实例

如图:



#至此数据库已经开启,然后就可以操作数据库了!

SQL> shutdown immediate #关闭数据库实例

SQL> select * from tab; #查看所有表

SQL> select name from v$datafile #查看数据库存放目录

SQL> show parameter service #查看服务名

SQL> select * from v$instance; #查看实例名

SQL> select name from v$database; #查看数据库名

SQL> select * fromdba_users; #查看所有用户信息

SQL> select username,password from dba_users; #只查询用户和密码

SQL> select * fromv$pwfile_users; #查看具有sysdba权限的用户

SQL> select * fromdba_ustats; #查看当前用户信息

SQL> select * fromuser_sys_privs #查看当前用户系统权限

SQL> select * fromuser_role_privs #查看当前用户角色

SQL> select * fromdba_sys_privs #查看指定用户所具有的系统权限

SQL> select * fromv$version #查看oracle版本

SQL> select * fromuser_views #查看视图信息

[root@oracledb ~]# lsnrctl start #开启远程监听端口
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息