一、安装前准备:
1.操作系统:centos7(Oracle默认不支持centos)
2.安装包:
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
二、环境配置:
1.关闭防火墙
[root@mth ~]# systemctl stop firewalld.service
[root@mth ~]# systemctl disable firewalld.service
2.修改selinux=disabled
[root@mth ~]# vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
3.切换到root用户创建运行oracle数据库的系统用户和用户组
[root@mth ~]# groupadd oinstall
[root@mth ~]# groupadd dba
[root@mth ~]# useradd -g oinstall -g dba -m oracle
[root@mth ~]# passwd oracle
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 密码少于 8 个字符
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@mth ~]# id oracle
uid=1000(oracle) gid=1001(dba) 组=1001(dba)
4.创建目录
[root@mth ~]# mkdir -p /data/database
[root@mth ~]# cd /data
[root@mth data]# chown -R oracle:oinstall /data/database
3.修改标识为redhat-7
[root@mth data]# vi /etc/redhat-release
注:Oracle默认不支持centos,所以需要将centos改为redhat
4.安装oracle数据库所需要的软件包
[root@mth data]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*
5.添加内核参数
[root@mth data]# vi /etc/sysctl.conf
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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
6.配置内核信息
[root@mth data]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
7.配置环境变量
[root@mth data]# vi /home/oracle/.bash_profile
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
8.将oracle安装包拷贝到/usr/local/src目录下
9.重启系统确保所有设置生效
[root@mth data]# reboot
三、安装Oracle:
Oracle用户登录
1.解压软件包
[oracle@mth src]$ unzip p13390677_112040_Linux-x86-64_1of7.zip -d /data/database/
[oracle@mth src]$ unzip p13390677_112040_Linux-x86-64_2of7.zip -d /data/database/
2.切换到root用户给/data/database/database授权
[oracle@mth src]$ su root
密码:
[root@mth src]# chown -R oracle:oinstall /data/database/database/
[root@mth src]# ls /data/database/database/
install readme.html response rpm runInstaller sshsetup stage welcome.html
[root@mth src]# xhost +
access control disabled, clients can connect from any host
注:需要安装Xmanager
3.切换到oracle用户执行安装
[root@mth database]# su oracle
[oracle@mth database]$ export DISPLAY=:0.0
[oracle@mth database]$ export LANG=en_US
[oracle@mth database]$ ./runInstaller
注:在执行./runInstaller之前远程工具最好以Oracle用户登录,否则会出现乱码
4.oracle图形界面选项
a.去掉勾选,下一步
点击yes
b.选择Skip software updates
c.选择第一项 Create and configure a database
d.选择Server class
e.选择Single instance database installation
f.选择Advanced Install
g.选择简体中文Simplified Chinese
h. 选择Enterprise Edition,下一步
i.默认不做修改
j.默认,下一步
k.默认,下一步
l.第一行改为orcl,下一步
m.选择第二个
n. 勾选Create database with sample schemas,下一步
o.默认,下一步
p.默认,下一步
q.第一项,下一步
r. 选择第二项,输入两次密码,下一步
s.默认,下一步
报错信息解决方法:
1. 问题原因是没有swap空间不足导致,需要扩大交换空间
解决:1)、使用dd命令创建一个swap分区
2、#dd if=/dev/zero of=/home/swap bs=1024 count=16400000
3、格式化刚才创建的分区
4、# mkswap /home/swap
5、再使用swapon命令把这个文件分区变成swap分区
6、#swapon /home/swap
7、(关闭SWAP分区的命令为:#swapoff /home/swap)
8、再用free -m 查看已经扩容的了swap分区。
9、为了能够让swap自动挂载,需要修改etc/fstab文件,用vi /etc/fstab
10、在文件末尾加上 /home/swap swap swap default 0 0
11、这样就算重启系统,swap分区也不用手动挂载了
12、但是我感觉好像我重启了系统 swap就没有了,然后我又百度了一下,要执行下面一段命令 #echo "swapon /home/swap" >> /etc/inittab
13、然后在看 vi 看下 /etc/inittab
14、最后一行是swapon /home/swap
2.解决方法:
[root@mth ~]# vim /etc/sysctl.conf
修改配置如下:
kernel.shmmax = 4294967295
emmm,问题还是存在,但是又有一点不一样:
This is a prerequisite condition to test whether the OS kernel parameter "shmmax" is properly set. (more details)
Expected Value : 4294967295
Actual Value : Current=4098955264; Configured=4294967295
解决方法:
[root@mth ~]# cat /proc/sys/kernel/shmmax
4098955264
[root@mth ~]# echo 4294967295 > /proc/sys/kernel/shmmax
[root@mth ~]# cat /proc/sys/kernel/shmmax
4294967295
再次check时,问题解决。
3.解决办法
找到pdksh包安装即可,
注意:如果提示与ksh冲突,则需要先卸载ksh
上传pdksh-5.2.14-36.el5.x86_64.rpm包
[root@mth ~]# ls
anaconda-ks.cfg pdksh-5.2.14-36.el5.x86_64.rpm 模板 图片 下载 桌面
initial-setup-ks.cfg 公共 视频 文档 音乐
[root@mth ~]# rpm -ivh pdksh-5.2.14-36.el5.x86_64.rpm
警告:pdksh-5.2.14-36.el5.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 37017186: NOKEY
错误:依赖检测失败:
pdksh 与 (已安裝) ksh-20120801-142.el7.x86_64 冲突
提示与ksh冲突,需要先卸载ksh.
[root@mth ~]# rpm -qa |grep ksh
ksh-20120801-142.el7.x86_64
[root@mth ~]# rpm -e ksh-20120801-142.el7.x86_64
[root@mth ~]# rpm -ivh pdksh-5.2.14-36.el5.x86_64.rpm
警告:pdksh-5.2.14-36.el5.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID 37017186: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:pdksh-5.2.14-36.el5 ################################# [100%]
t.点击install,选择finish
u.此处会报一错误(不报错的话继续)
修改/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。
v.再报错
打开终端修改/home/oracle/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
点击Retry继续安装。
w.可以点击password按钮,分别给sys,system,sh,scott用户设置密码
设置完成点OK,
x.此时会弹出一个界面,在终端输入界面中的两条命令,当提示输入路径是,直接回车就可以了,最后点击OK
安装完成
启动oracle
[oracle@mth ~]$ lsnrctl start
[oracle@mth ~]$ sqlplus / as sysdba
SQL> startup