Oracle Linux 6.4 中安装Oracle 11g

1# cd /etc/yum.repos.d 进入此目录查看是否有下面的 repo,如果有则不需进行第二步

2# wget http://public-yum.oracle.com/public-yum-ol6.repo  没有则下载

3# vim public-yum-ol6.repo 修改下面×××部分值为1

Oracle linux 6.4自带的repo默认是开启的

 

[ol6_latest]

name=Oracle Linux $releasever Latest ($basearch)

aseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/latest/$basearch/

gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6

gpgcheck=1

enabled=1

[ol6_UEK_latest]

name=Latest Unbreakable Enterprise Kernel for Oracle Linux $releasever ($basearch)

baseurl=http://public-yum.oracle.com/repo/OracleLinux/OL6/UEK/latest/$basearch/

gpgkey=http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6

gpgcheck=1

enabled=1

 

4# yum install oracle-rdbms-server-11gR2-preinstall  对安装Oracle进行预配置,有以下作用:

1) 自动下载和安装Oracle11gR2的特定的依赖包

2) 创建Oracle用户和组oinstall(OraInventory)dba(OSDBA)Oracle用户密码请用PASSWD设置

3) 修改内核参数 /etc/sysctl.conf 等。kernel parameterssemaphoresshared memory...... 

4) 设置硬件和软件shell资源限制 /etc/security/limits.conf如锁定内存空间、文件、进程数,核心文件大小

5) x86_64机器内核中设置numa=off

 

5#rm -f /var/run/yum.pid

若提示:Another app is currently holding the yum lock 则,可以通过强制关掉yum进程:

 

6、再查看cat /etc/sysctl.conf 确保下面参数大于以下值,没有则新建(第四步预配置基本上已经搞定了)

#/sbin/sysctl -p  执行此语法则生效

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 4294967295

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

 

7、配置环境变量,vim /home/oracle/.bash_profile ,在后面加入以下变量定义。

PATH没有配置后面的sqlpluslsnrctlemctl等命令则需要在对应的目录下才能执行

 

export ORACLE_SID=oao             //定义数据库名称,配置了则安装时会带出数据库名oao

export ORACLE_BASE=/oracle        //定义oracle产品基目录,安装时带出路径

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1  //数据库产品目录,通常为BASE的子目录

export PATH=/usr/sbin:$PATH                //此处需特别注意,若没定义系统sbin下命令不能执行

export PATH=$ORACLE_HOME/bin:$PATH         //将安装后的oracle命令追加到执行搜索路径

 

Source ~/.bash_profile 设置生效

 

以上BASEHOMEPATH的路径定义根据自己的实际情况确定,我是单独分了区Oracle

 

8、检查主机名和和ip地址的对应关系:

[root@localhost~]# cat /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=Linux    "Linux"为主机名

 

[root@localhost~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

(此处没有主机名与IP地址的对应关系,一般建议设置成固定IP,然后在此处定义关系,见下面"3"

 

否则,安装Oracle 11gR2时会报错:[INS-06101] IP address of localhost could not be determined

出现这种错误是因为主机名和 /etc/hosts 文件不一致,需将主机名和其IP对应关系写入 /etc/hosts 文件

 

Linux 下修改 /etc/sysconfig/network 里的hostname 需要重启系统才能生效。修改network 文件之外,再使用hostname 命令指定一下主机名,就不用重启OS

 

1) 修改 /etc/sysconfig/network 文件

[root@localhost~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=Linux

 

2) 使用hostname 命令修改主机名,该修改重启会失效,但在第一步我们已经修改过。所以失效也没关系

[root@localhost ~]# hostname

localhost

[root@localhost ~]# hostname Linux

[root@localhost ~]# hostname

Linux

 

3) 修改 /etc/hosts 定义IP与主机名(增加×××部分)

[root@localhost~]# vim /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

10.240.1.100 Linux

 

9oracle 官网下载 Oracle 11g R2,放到新建立到目录下,解压,安装:

# mkdir /oracle 创建目录存放文件 (若已分区则不需要新建)

# cd  /oracle

# unzip linux.x64_11gR2_database_1of2.zip 解压

# unzip linux.x64_11gR2_database_2of2.zip

$ cd /oracle/database

$ ./runInstaller 安装开始

 

10、安装的图形界面此处略去(见其他安装教程),需要注意到是:

安装到最后提醒需要在终端中执行两个语句配置,第二个语句出现让你输入完整到路径时,直接回车即可

 

11、安装完毕。系统默认Oracle服务、监听、控制台是开启状态的。

此时应该可以使用

sqlplus / as sysdba 连接数据库进入 SQL>

若重启电脑后需要重新启动(也可设置成开机启动,见其他教程),启动顺序如下:

1) sqlplus / as sysdba   //连接数据库

           SQL> startup

2) lsnrctl start       //启动监听

3) emctl start dbconsole   //启动em--数据库控制台

 

12、若第11 1)2)3)、均OK,则应可以通过浏览器登陆控制台,https://Linux:1158/em 

若还是无法进入到控制台,请尝试:

关闭防火墙、测试端口是否开启,关闭Selinux ,关于防火墙及端口请看第13步。当然还有可能是浏览器的原因,本人就是因为浏览器的原因折腾了一天一宿

浏览器的原因可升级一下浏览器,oracle linux 6.4 自带 Firefox 12.0 升级到最新的17.0.6即可

# yum update firefox   

========================================== 

Package         Arch        Version             Repository      Size      

==========================================      

Updating: 

firefox        x86_64       17.0.6-1.0.1.el6_4   ol6_latest     25 M      

Updating for dependencies: 

xulrunner      x86_64       17.0.6-2.0.1.el6_4   ol6_latest     14 M

 

13、关于端口、防火墙、Selinux设置

一般情况下iptables已经包含在Linux发行版中。运行iptables --version来查看系统是否安装iptables

1) 重启后生效

开启: chkconfig iptables on      关闭: chkconfig iptables off

2) 即时生效,重启后失效

开启: service iptables start     关闭: service iptables stop

需要说明的是对于Linux下的其它服务都可以用以上命令执行开启和关闭操作。

在开启了防火墙时,做如下设置,开启相关端口

修改 vim /etc/sysconfig/iptables 文件,添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

 

启动iptables service iptables start

iptables --list //*查看iptables规则集*// 。下面是没有定义规划时iptables的样子:

Chain INPUT (policy ACCEPT)

target     prot opt source          destination

Chain FORWARD (policy ACCEPT)        

target     prot opt source          destination

Chain OUTPUT (policy ACCEPT)        

target     prot opt source          destination

 

如何开启/关闭指定端口,例如

开启81端口:

iptables -I INPUT -i eth0 -p tcp --dport 81 -j ACCEPT

iptables  -I OUTPUT -o eth0 -p tcp --sport 81 -j ACCEPT

关闭81端口:

iptables -I INPUT -i eth0 -p tcp --dport 81 -j DROP

iptables -I OUTPUT -o eth0 -p tcp --sport 81 -j DROP

然后保存  /etc/rc.d/init.d/iptables save

 

查看某一端口是否开放我就以81端口为例: lsof -i:81

如果有显示说明已经开放了.如果没有显示说明没有开放

 

检查包: rpm -qa | grep

查端口:lsof -i:端口号

切换到oracle用户:su - oracle

查看配置的环境变量是否正确:env |grep ora

 

关闭SElinuxvim /etc/selinux/config 中修改属性

SELINUX=disable