1.1 编写目的
指导进行oracle数据库安装
- Oracle数据库安装
2.1 硬件要求
内存:最小1G,推荐2G
磁盘空间:推荐20G
环境准备
2.2.1 操作系统
# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core) |
2.2.2 安装包
linux.x64_11gR2_database_1of2.zip
linux.x64_11gR2_database_2of2.zip
2.3 安装准备
2.3.1 创建oracle数据库相关用户和组
#创建用户组oinstall [root@localhost ~]# groupadd oinstall #创建用户组dba [root@localhost ~]# groupadd dba #创建oracle用户,并加入到oinstall和dba用户组 [root@localhost ~]# useradd -g oinstall -g dba -m oracle #设置用户oracle的登陆密码 [root@localhost ~]# passwd oracle 更改用户 oracle 的密码 。 新的 密码: 无效的密码: 密码少于 8 个字符 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 |
2.3.2 创建oracle安装目录
#oracle数据库安装目录 [root@localhost ~]# mkdir -p /data/oracle #oracle数据库配置文件目录 [root@localhost ~]# mkdir -p /data/oraInventory #oracle数据库软件包解压目录 [root@localhost ~]# mkdir -p /data/database #设置目录所有者为oinstall用户组的oracle用户 [root@localhost ~]# cd /data [root@localhost ~]# chown -R oracle:oinstall * |
2.3.3 修改OS系统标识为redhat
[root@localhost ~]# vi /etc/redhat-release redhat-7 [root@localhost ~]# cat /etc/redhat-release redhat-7 |
2.3.4 安装oracle数据库所需要的软件包
[root@localhost ~]# 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* |
注:需要安装的依赖包名
检查依赖:rpm -qa 包名 安装依赖包:rpm -ivh 包名 |
kernel-headers-3.10.0-123.el7.x86_64 gcc-c++-4.8.2-16.el7.x86_64 numactl-devel-2.0.9-2.el7.x86_64 glibc-headers-2.17-55.el7.x86_64 glibc-common-2.17-55.el7.x86_64 binutils-2.23.52.0.1-16.el7.x86_64 unixODBC-devel-2.3.1-10.el7.x86_64 libaio-0.3.109-12.el7.x86_64 make-3.82-21.el7.x86_64 elfutils-libelf-0.158-3.el7.x86_64 elfutils-libelf-devel-0.158-3.el7.x86_64 sysstat-10.1.5-4.el7.x86_64 glibc-static-2.17-55.el7.x86_64 glibc-devel-2.17-55.el7.x86_64 glibc-2.17-55.el7.x86_64 elfutils-libelf-devel-static-0.158-3.el7.x86_64 libaio-0.3.109-12.el7.i686 gcc-4.8.2-16.el7.x86_64 libgcc-4.8.2-16.el7.i686 libstdc++-static-4.8.2-16.el7.x86_64 libaio-devel-0.3.109-12.el7.x86_64 libstdc++-4.8.2-16.el7.x86_64 libaio-devel-0.3.109-12.el7.i686 unixODBC-2.3.1-10.el7.x86_64 libstdc++-devel-4.8.2-16.el7.x86_64 compat-libstdc++-33-3.2.3-71.el7.x86_64 libgcc-4.8.2-16.el7.x86_64 libgomp-4.8.2-16.el7.x86_64 |
2.3.5 关闭防火墙
#查看防火墙状态 [root@localhost ~]# systemctl status firewalld.service [root@localhost ~]# systemctl stop firewalld.service #查看防火墙状态 [root@localhost ~]# systemctl status firewalld.service #禁止使用防火墙 [root@localhost ~]# systemctl disable firewalld.service Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service. |
2.3.6 关闭selinux
[root@localhost ~]# 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 two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted |
2.3.7 修改内核参数
[root@localhost ~]# 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 #使配置修改内核的参数生效 [root@localhost ~]# sysctl -p |
2.3.8 修改用户进程数限制
[root@localhost ~]# vi /etc/security/limits.conf #添加 oracle soft nproc 65536 oracle hard nproc 65536 oracle soft nofile 65536 oracle hard nofile 65536 |
2.3.9 重启使配置生效
[root@localhost ~]# reboot |
2.4 oracle安装
2.4.1 配置用户环境变量
[root@localhost src]# su - oracle [oracle@localhost ~]$ vi /home/oracle/.bash_profile #oracle数据库安装目录 export ORACLE_BASE=/data/oracle #oracle数据库路径 export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle启动数据库实例名 export ORACLE_SID=esbdb export ORACLE_UNQNAME=esbdb #xterm窗口模式安装 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 #字符集配置,与oracle安装字符集保持一致 export NLS_LANG=AMERICAN_AMERICA.AL32UTF8 |
2.4.2 解压安装包
[oracle@localhost ~]$ cd /usr/local/src [oracle@localhost src]$ unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ [oracle@localhost src]$ unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ [oracle@localhost database]$ su – root [root@localhost ~]# chown -R oracle:oinstall /data/database/database/ [root@localhost ~]# su - oracle |
2.4.3 图形界面安装oracle
[oracle@localhost ~]$ cd /data/database/database/ [oracle@localhost database]$ ./runInstaller |
如果系统没有安装图形界面,则可用调用Xmanager – Broadcast进行安装。
[oracle@localhost database]$ export DISPLAY=192.168.41.102:1.0 #本地IP |
不接受安全更新
选择创建和配置数据库
选择服务器类
选择单实例安装
选择高级安装
选择简体中文和英语
选择企业版
选择安装目录,与环境变量一致
填写全局数据库名和数据库实例,尽量保持一致
启用内存管理选项去掉
选择字符集,这里选择AL32UTF8,与环境变量保持一致
安全性选项去掉
口令设置
安装过程中如出现一下问题,解决方案:
1、ins_ctx.mk编译错误
错误日志
INFO: /lib64/libstdc++.so.5: undefined reference to `memcpy@GLIBC_2.14'
INFO: collect2: error: ld returned 1 exit status
INFO: make: *** [ctxhx] Error 1
解决方式
[oracle@localhost database]$ su – root [root@localhost ~]# yum -y install glibc-static |
修改/data/oracle/product/11.2.0/db_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继续安装。
2、Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.'
解决方式:
修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。
2.5 启动数据库
#进入sysdba [oracle@localhost ~]$ sqlplus "/ as sysdba" #启动数据库 SQL> startup ORACLE instance started. Total System Global Area 572043264 bytes Fixed Size 2215424 bytes Variable Size 381682176 bytes Database Buffers 180355072 bytes Redo Buffers 7790592 bytes Database mounted. Database opened. --依次停止oracle SQL> shutdown immediate Database closed. Database dismounted. ORACLE instance shut down.
#启动数据库监听 [oracle@localhost ~]$ lsnrctl LSNRCTL> start up --查看监听 LSNRCTL> status |