Redhat6.5安装oracle11g
一、 安装环境
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 –p选项设置管道缓冲区的大小,以 Kbytes 为单位;ulimit –n选项设置可以打开最大文件描述符的数量;ulimit –u选项设置用户最大可用的进程数。
检查/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 –p /oradata/app/oracle/oradata
chown –R oracle:oinstall /oradata/app/oracle/oradata
chmod –R 755 /oradata/app/oracle/oradata
mkdir /oradata/app/oraInventory
chown –R oracle:oinstall /oradata/app/oraInventory
chmod –R /oradata/app/oraInventory
mkdir –p /oradata/app/oracle/product/11.2.0/dbhome_1
chown –R 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 – Passive
2、$ export DISPLAY=172.16.0.155:0.0
3、$ xhost
4、$./runInstaller之后是图形化界面了;
安装的大部分时候保持默认安装,点击下一步,数据库实例和全局数据库最好设置成一样的;安装完成后会有两个root用户执行的脚本,根据提示自己执行:
安装结束后自己测试下能否连上:
sqlplus sys as sysdba 输入密码后即可进入数据库:
最后要说的就是安装前数据库会有环境检查,需要很多的包,本次所有的包都已经打包好了见附件;有依赖关系的rpm –ivh XXX.rpm --nodeps
有高版本的rpm –ivh XXX.rpm –force或者rpm –ivh XXX.rpm –nodeps
--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 –w
FAQ:
1、同步的时候提示:no server suitable for synchronization,如果上述配置都没有问题,则可能需要几分钟等待;