当前位置:主页 > 数据库 > Oracle >

Redhat6.5安装oracle11g的方法

时间:2021-12-22 10:23:48 | 栏目:Oracle | 点击:

一、    安装环境

linux服务器:Redhat 6.5 64位

oracle版本:oracle11gR2
远程windows服务器:已安装Xmanager

内存:8G

存储空间:1T

二、    安装前系统设置

1、软连接lib库:ln -s /lib/libc.so.6 /lib/libc.so.5

2、修改一下lib库搜索路径vim /etc/ld.so.conf
有以下内容 include ld.so.conf.d/*.conf 改为:
include ld.so.conf.d/*.conf  /usr/X11R6/lib/

3、修改主机名

vim /etc/hosts

添加 192.200.239.40   ccod

将添加这一行放到127.0.0.1这一行之上,然后

vim /etc/sysconfig/network
HOSTNAME= ccod

这样才算是彻底的改过主机名,然后

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

最后hostname一下看看名字改过来了没有,虚拟机的话需要reboot下;

4、设置内核参数,为了保障安装检查能通过

vim /etc/sysctl.conf

添加以下信息:

kernel.shmall = 4194304

kernel.shmmax = 4147483648

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 6815744

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 1048576

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

之后需要/ sbin/sysctl -p”让内核立刻生效;

5、调整oracle使用者的环境限制

vim /etc/security/limits.conf

在# End of file 的上面的行上添加


* 2047          soft      nproc           
* 16384          hard      nproc          
* 1024          soft      nofile         
*  65536             hard       nofile         

其中nofile为Oracle用户可打开的文件描述符的最大数;nproc为单个用户可用的最大进程数量。

修改登陆配置文件,编辑

vim /etc/pam.d/login

在该文件的最下面的行下添加

* session required /lib/security/pam_limits.so
* session required pam_limits.so

上面增加的内容为提升Oracle用户的权限,其中pam_limits.so 为控制为用户分配的资源,不同的模块控制不同范围的资源。

修改系统环境变量

vim /etc/profile
unset i
unset pathmunge

这两行上增加下面的内容:

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
    ulimit -p 16384
    ulimit -n 65536
  else
    ulimit -u 16384 -n 65536
  fi
 fi

我们编辑用户环境配置文件为Oracle用户设置相关限制(由于已经提升了Oracle的权限,所以这里为了保障系统安全,还需要做一些限制),其中 ulimit ?Cp选项设置管道缓冲区的大小,以 Kbytes 为单位;ulimit ?Cn选项设置可以打开最大文件描述符的数量;ulimit ?Cu选项设置用户最大可用的进程数。

检查/tmp文件夹是否有400M的空余空间

df /tmp

6、Selinux和防护墙的设置

关闭防火墙:service iptables stop

vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled

重启生效;

三、    用户,用户组以及安装目录环境变量的的配置

ROOT用户,创建oracle用户:
groupadd oinstall  创建主组
groupadd dba  创建副组
useradd -g oinstall -G dba oracle  创建oracle用户并且赋予oinstall为主组dba为副组
#usermod -g oinstall -G dba oracle (已存在oracle用户,将其赋予oinstall为主组dba为副组)

passwd oracle  修改密码oracle修改权限
chown -R oracle:oinstall /home/oracle
chmod -R 755 /home/oracle

chown -R oracle:oinstall /oradata
chmod -R 755 /oradata

因为1T的空间挂载在/下,所以所有的安装目录都在/oradata下

创建安装文件夹:

mkdir ?Cp /oradata/app/oracle/oradata

 chown ?CR oracle:oinstall /oradata/app/oracle/oradata

chmod ?CR 755 /oradata/app/oracle/oradata

mkdir /oradata/app/oraInventory

chown ?CR oracle:oinstall /oradata/app/oraInventory

chmod ?CR /oradata/app/oraInventory

mkdir ?Cp /oradata/app/oracle/product/11.2.0/dbhome_1

 chown ?CR oracle:oinstall/oradata/app/oracle/product/11.2.0/dbhome_1

设置环境变量

编辑vim .bash_profile文件,添加

umask 022

export PATH

export ORACLE_BASE=/oradata/app/oracle

export ORACLE_SID=ccod

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

export LC_CTYPE=en_US.UTF-8

export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

其中ORACLE_BASE为Oracle的根目录,ORACLE_HOME为Oracle产品的目录,ORACLE_SID为Oracle实例的名称,PATH与LD_LIBRARY_PATH分别为启动路径和字典库路径。执行下面的命令使环境变量生效

$ source .bash_profile

四、执行安装

将准备好的linux.x64_11gR2_database_1of2.zip和linux.x64_11gR2_database_2of2.zip放在/oradata/app下面unzip解压后得到database的目录

之后去你的windows上启动X-manager

为了防止安装的时候乱码,你可以设置下本次shell的环境变量

$ export LANG=en_US

在oracle用户下输入“export DISPLAY=你windows本地的IP:0.0”

然后输入xhost,之后启动安装的脚本就会自动在windows上图形化界面安装;1、启动Xmanager ?C Passive

2、$ export DISPLAY=172.16.0.155:0.0

3、$ xhost

4、$./runInstaller之后是图形化界面了;

安装的大部分时候保持默认安装,点击下一步,数据库实例和全局数据库最好设置成一样的;安装完成后会有两个root用户执行的脚本,根据提示自己执行:

安装结束后自己测试下能否连上:

sqlplus sys as sysdba 输入密码后即可进入数据库: 

最后要说的就是安装前数据库会有环境检查,需要很多的包,本次所有的包都已经打包好了见附件;有依赖关系的rpm ?Civh XXX.rpm --nodeps

有高版本的rpm ?Civh XXX.rpm ?Cforce或者rpm ?Civh XXX.rpm ?Cnodeps

--force强制安装;

FAQ:监听启动不了或者失败

/etc/resolve.conf

注释nameserver当有网卡有DNS配置时,数据库不能连接到DNS导致监听出错,取消掉DNS,重启网卡,监听正常

配置ntp服务小节:

主要是配置主server的服务,其他的client只需要开启ntp服务然后ntpdate命令同步即可:

[root@localhost ~]# cat /etc/ntp.conf |awk '{if($0 !~ /^$/ && $0 !~ /^#/) {print $0}}' 
restrict default ignore  //默认不允许修改或者查询ntp,并且不接收特殊封包 
restrict 127.0.0.1    //给于本机所有权限 
restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify //给于局域网机的机器有同步时间的权限 
server time.nist.gov prefer   //设置时间服务器,加prefer表示优先 
server 0.asia.pool.ntp.org 
server 1.asia.pool.ntp.org 
server 2.asia.pool.ntp.org 
server 127.127.1.0   # local clock 

10. fudge   127.127.1.0 stratum 10 

11. driftfile /var/lib/ntp/drift 

12. keys /etc/ntp/keys 

13. [root@localhost ~]# netstat -upnl |grep ntpd   //查看时程 

14.  
15. [root@localhost ~]# ntpq -pn    //查看同步的服务器IP 

16.  remote           refid      st t when poll reach   delay   offset  jitter 
17. ============================================================================== 

18.  50.77.217.185   .INIT.          16 u    -   64    0    0.000    0.000   0.000 
19.  202.90.158.4    .INIT.          16 u    -   64    0    0.000    0.000   0.000 
20.  202.71.100.89   .INIT.          16 u    -   64    0    0.000    0.000   0.000 
21.  202.134.1.10    .INIT.          16 u    -   64    0    0.000    0.000   0.000 
22. *127.127.1.0     .LOCL.          10 l   18   64  377    0.000    0.000   0.001 

23.  
24. [root@localhost ~]# ntpstat   //同步的结果 

25. synchronised to local net at stratum 11 

26.  time correct to within 12 ms 

27.  polling server every 512 s 

1、server中的配置需要三点:server ip prefer

server time.nist.gov prefer      //设置时间服务器,加prefer表示优先 

server 0.asia.pool.ntp.org 

server 1.asia.pool.ntp.org 

server 2.asia.pool.ntp.org 

2、网关和路由内的ip设置一般配置的格式;

restrict 192.168.1.0 mask 255.255.255.0 notrap nomodify  //给于局域网机的机器有同步时间的权限 

3、本地没有联网的话只能配置本地同步server的地址127.127.1.0设置;

server  127.127.1.0     # local clock 

fudge   127.127.1.0 stratum 10

4、关闭或者解除123端口限制

service iptables stop;或者配置防火墙策略

查看状态:

iptables -L -n

下面添加对特定端口开放的方法:

使用iptables开放如下端口

/sbin/iptables -I INPUT -p tcp --dport 8000 -j ACCEPT

保存

/etc/rc.d/init.d/iptables save

重启服务

service iptables restart

查看需要打开的端口是否生效?

/etc/init.d/iptables status

法2:

或直接编辑/etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT

保存在前面部分

再重启:

service iptables restart

开放某端口给特定的ip方法:https://www.cnblogs.com/fengyefeiluo/p/5057617.html

 编辑/etc/sysconfig/iptables,添加

-A INPUT -m state --state NEW -m tcp -p tcp -s 127.0.0.1 --dport 6379 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp -s 126.212.173.185 --dport 6379 -j ACCEPT 

以上加红地方就是只对本机和126.212.173.185开放6379端口,其他ip用telnet是无法连接的,

如果访问ip没有限制,就不需要添加-s ip地址了,例如

-A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

对了,一定要在最后添加

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

5、编辑/etc/sysconfig/ntpd添加SYNC_HWCLOCK=yes

6、C-S的ntp服务启动;

7、同步:/usr/sbin/ntpdate -u 192.168.13.17 && /sbin/hwclock ?Cw

FAQ:

1、同步的时候提示:no server suitable for synchronization,如果上述配置都没有问题,则可能需要几分钟等待;

总结

您可能感兴趣的文章:

相关文章