一、安装环境
CentOS Linux release 7.2.1511 (Core)
Oracle Database 11g Release 2 (11.2.0.1)
二、安装前准备
2.1 修改主机名
修改/etc/sysconfig/network配置文件中的HOSTNAME变量
[root@localhost ~]# hostnamectl set-hostname oracledb ####永久性修改 [root@oracledb~]#vi /etc/sysconfig/network NETWORKING=yes HOSTNAME= oracledb [root@edc ~]# hostname oracledb
2.2 添加主机名与IP对应记录
[root@oracledb~]# vi /etc/hosts
172.17.22.70 oracledb #根据实际情况修改IP
2.3 关闭Selinux
[root@oracledb ~]# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config [root@oracledb ~]# setenforce 0
2.4 firewall开启1521端口及oem控制台端口
[root@oracledb~]# firewall-cmd --permanent --zone=public --add-port=1521/tcp success
[root@oracledb ~]# firewall-cmd --permanent --zone=public --add-port=1588/tcp success
[root@oracledb ~]# firewall-cmd --reload
#如遇到bash: firewall-cmd: 未找到命令,firewall-cmd位于firewalld包中,systemctl位于systemd包中。
通过以下命令进行安装,安装后重启服务器
yum install firewalld systemd -y
2.5下载Oracle 11g
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2.6 检查硬件配置要求
最小内存 1 GB of RAM
虚拟内存容量
Available RAM | Swap Space Required |
Between 1 GB and 2 GB | 1.5 times the size of RAM |
Between 2 GB and 16 GB | Equal to the size of RAM |
More than 16 GB | 16 GB |
硬盘空间要求
数据库软件硬盘空间需求:
Installation Type | Requirement for Software Files (GB) |
Enterprise Edition | 3.95 |
Standard Edition | 3.88 |
数据文件硬盘空间需求:
Installation Type | Requirement for Data Files (GB) |
Enterprise Edition | 1.7 |
Standard Edition | 1.5 |
检查的命令
#内存 grep MemTotal /proc/meminfo #交换空间 grep SwapTotal /proc/meminfo #磁盘空间 df -ah
2.7 安装所需的软件包
通过查看Oracle安装文档中列出的Package Requirements可以查看在不同平台上需要的软件包。
packages for Oracle Linux 7
yum -y install libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64
yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++.x86_64 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libgcc.i686 libgcc.x86_64
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
yum install -y --nodeps compat-gcc* compat-glibc* compat-libstd* (会提示执行事务命令,执行即可)
2.8 创建安装oracle所需用户与用户组
root用户:创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户
[root@oracledb ~]# groupadd -g 200 oinstall [root@oracledb ~]# groupadd -g 201 dba [root@oracledb ~]# useradd -u 440 -g oinstall -G dba -d /home/oracle oracle [root@oracledb ~]# passwd oracle
2.9 更改kernel参数
[root@oracledb ~]# vi /etc/sysctl.conf
#末尾添加如下
kernel.shmmni = 4096
kernel.shmmax = 2147483648
kernel.sem = 250 32000 100 128
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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@oracledb ~]# sysctl -p
2.10 修改系统资源限制
[root@oracledb ~]# vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
[root@oracledb ~]# vi /etc/profile if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
[root@oracledb ~]# vi /etc/pam.d/login #下面添加一条pam_limits.so
session required pam_limits.so
2.11 创建安装目录及设置权限
[oracle@oracledb /]$ tree /u01/
/u01/
└── oracle
├── app
└── oradata
root创建
[root@oracledb ~]# mkdir /u01 [root@oracledb ~]# chmod 777 /u01
[root@oracledb~]$ mkdir /u01/oracle
[root@oracledb ~]$ chmod 777 /u01/oracle
[root@oracledb ~]$ mkdir /u01/oracle/app
[root@oracledb ~]$ chmod 777 /u01/oracle/app/
[root@oracledb ~]$ mkdir /u01/oracle/oradata
[root@oracledb ~]$ chmod 777 /u01/oracle/oradata/
2.12 设置oracle环境变量
[root@oracledb ~]$ vi ~/.bash_profile
umask 022
export ORACLE_BASE=/u01/oracle/app
export ORACLE_BASE=/u01/app/oracle/
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$PATH:/u01/app/oracle/product/11.2.0/dbhome_1/bin
export ORACLE_SID=orcl
[root@oracledb ~]$ source .bash_profile #立即生效 复制代码
2.13 安装GNOME图形桌面
[root@oracledb ~]$ yum groupinstall "GNOME Desktop" "Graphical Administration Tools" #安装
[root@oracledb ~]$ startx #进入图形桌面
[root@oracledb ~]$ export DISPLAY=:0
[root@oracledb ~]$ xhost +
三、安装Oracle Database
使用FileZilla把linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_2of2.zip上传到CentOS
[oracle@oracledb ~]$ su oracle #切换到oracle用户安装
[oracle@oracledb ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@oracledb ~]$ unzip linux.x64_11gR2_database_2of2.zip
[oracle@oracledb ~]$ cd /database ./runInstaller #运行安装程序 如果后面步骤出现弹窗跳出但无显示 不可以点击下一步 用命令
./runInstaller -jreLoc /usr/lib/jvm/jre-1.8.0
输入邮件地址及密码(oracle用户),以从oralce接收安全更新等信息
选择安装数据库软件并创建数据,也可以选择第二项仅安装数据库软件
选择服务器版本
本实例中选择安装单实例数据库
高级模式安装
选择语言
选择要安装的版本,这里选择 “Enterprise Edition”
指定Oracle Base 与 Software Location, 我们在oracle用户的profile文件里已设置此环境变量,此处保持默认(容易出现权限不足错误,给相关目录权限即可)
指定Inventory Directory, 本例保持默认
选择数据库用途
数据库名及服务名
开启自动内存管理
设置默认编码为UTF8
示例方案
启用Oracle企业管理控制台OEM
选择数据库文件目录
自动备份设置
设置数据库用户名和密码[注意:密码不要以数字开头,否则后面会报错ORA-00922: 选项缺失或无效]
指定oralce特权用户组,本例保持默认
接下来,oralce安装程序会对安装环境进行检查,
安装完缺少的package,重新检查
显示安装信息如下。直接Finish, 开始安装。
静待oracle安装
当出现以下窗口时,另开一个终端,以root用户登陆,并执行下面的命令。执行完毕后,点击OK
[root@oracledb home]# sh /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@oracledb home]# sh /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
至此oracle 11g R2数据库安装完毕。
四、oracle启动
启动oracle
[root@oracledb ]# su oracle
[oracle@oracledb ]# sqlplus "/as syoracledb" SQL> startup
SQL> shutdown immediate #停止
启动监听器
[oracle@oracledb ]# lsnrctl start 启动 #lsnrctl status 查看状态
启动emctl
[oracle@oracledb ]# emctl start dbconsole
五、遇到问题提示ins_ctx.mk错误
解决办法:
先查看 /usr/lib64/libc.a是否存在:
ls /usr/lib64 | grep libc.a
如果查找不到先安装:glibc-static,如果有则略过此步
yum -y install glibc-static
修改oracle安装目录下 $ORACLE_HOME/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通过
安装oracle时报错Error in invoking target 'agent nmhs':
解决办法:
将
$(MK_EMAGENT_NMECTL)
修改为
$(MK_EMAGENT_NMECTL) -lnnz11
参考
https://www.jianshu.com/p/2fda26a7edf1
https://blog.csdn.net/peanut_butter/article/details/52328187
http://www.cnblogs.com/lightnear/archive/2012/10/07/2714247.html
http://www.cnblogs.com/xqzt/p/5456401.html
http://www.cnblogs.com/anzerong2012/p/7528311.html
http://blog.csdn.net/ljunjie82/article/details/49404481
http://www.voidcn.com/article/p-ftlwoyby-gn.html