原文链接:https://www.cnblogs.com/qianjingchen/articles/10442445.html

Windows下安装Oracle比较容易,参考博客:https://www.cnblogs.com/ggll611928/p/5972816.html ;但是在linux下就需要安装桌面环境。

安装环境:

系统:CentOS7.6 8核64G 磁盘1T(建议最小2核2G,50G)

Oracle软件版本:linux.x64_11gR2_database_1of2.zip

linux.x64_11gR2_database_2of2.zip

1、下载Oracle

官方下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

linux.x64_11g下载地址:https://www.oracle.com/technetwork/cn/java/112010-linx8664soft-100572.html

官网下载时需要登陆Oracle账号,没有的可以注册一个。

2、基础环境准备

2.1 关闭防火墙和selinux

测试环境,为了方便快速稳定部署,生产环境不建议关闭防火墙和selinux。建议提前做好系统优化,优化参考脚本点击进入



systemctl status firewalld

systemctl disable firewalld

systemctl disable firewalld

firewall-cmd --zone=public --add-port=1521/tcp --permanent # 如果打开防火墙的话,需放开Oracle1521端口

firewall-cmd --reload # 增加新的配置需重新加载

sed -i 's#SELINUX=.*#SELINUX=disabled#g' /etc/selinux/config

sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config grep SELINUX=disabled /etc/selinux/config

setenforce 0

getenforce

2.2 创建运行oracle用户和用户组

创建的这些用户组的说明,请参考:https://blog.csdn.net/qq_32786873/article/details/82187346


groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
id oracle
mkdir -p /home/data/oracle #创建oracle安装目录
mkdir -p /home/data/database #创建oracle解压目录
mkdir -p /home/data/oraInventory #创建oracle配置文件目录~~~~
chown -R oracle:oinstall /home/data #设置oracle用户为目录的所有者
chmod -R 775 /home/data

2.3 修改oracle用户限制

执行vim /etc/security/limits.conf文件,修改操作系统对oracle用户资源的限制。


oracle soft nproc 4096
oracle hard nproc 16384
oracle soft nofile 2048
oracle hard nofile 65536

要使limits.conf文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。编辑文件:vim /etc/pam.d/login,添加下面内容


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

为了能让每个用户在每次登陆系统之后,都能自动设置其最大可启动进程数与最多可开启文件数,设置 /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

配置完成source /etc/profile使之生效

2.4 配置内核参数和资源限制

编辑/etc/sysctl.conf文件,设置相关参数的系统默认值。每次操作系统启动时,便会自动设置这些内核参数,添加以下内容:

  

oracle

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152~~~~

kernel.shmmax = 536870912

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

执行sysctl -p查看并生效:(-p:从指定的文件加载系统参数,如不指定即从/etc/sysctl.conf中加载)

2.5 配置oracle用户环境变量

设置用户环境变量,将下列设置添加到 /home/oracle/.bash_profile文件中;注意:要写到原有“PATH=$PATH:$HOME/bin”变量上面,否则会提示“bash: sqlplus: command not found”


umask 022
export ORACLE_BASE=/home/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export ORACLE_TERM=xterm
export PATH=$ORACLE_HOME/bin:/user/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export LANG=C
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"
PATH=$PATH:$HOME/.local/bin:$HOME/bin:$ORACLE_HOME/bin
export PATH

切换oracle用户,执行source /home/oracle/.bash_profile 或 . .bash_profile使之生效。使用echo $ORACLE_HOME 来显示是否生效

2.6 配置主机名监听


hostnamectl set-hostname oracle
cat /etc/sysconfig/network
# Created by anaconda
hostname=oracle
cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 oracle
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.16.245 oracle

2.7 安装指定jdk

在linux下安装oracle时,由于执行 runInstaller脚本时, 部分提示框显示不全,也有显示正常的,为保险起见还是安装好1.8jdk,直接执行install_jdk.sh脚本


#!/bin/bash
# sources variables
check_user=`id -u`
if [ ${check_user} != "0" ];then
echo "Must be root can use !"
exit 1
fi
JDK_version="jdk1.8.0_60"
BASE_dir="/usr/java"
SOFT_dir="/home/soft"
JDK_package="jdk-8u60-linux-x64.tar.gz"
JAVA_HOME="/usr/java/${JDK_version}"
source /etc/profile
function jdk_install(){
[ -d ${SOFT_dir} ] || mkdir -p ${SOFT_dir}
[ -e ${BASE_dir}/${JDK_version} ] && echo -e "\033[32m ${JDK_version}已部署,请退出!!! \033[0m"
if [ -e ${BASE_dir}/${JDK_version} ];then
sleep 1 && exit 0
else
[ -f ${SOFT_dir}/${JDK_package} ] || echo -e "\033[36m ${JDK_package}正在下载.... \033[0m"
sleep 1 && wget -P ${SOFT_dir} http://101.201.123.222:2104/IF/MAN/${JDK_package}
[ -d "${BASE_dir}" ] && rm -rf ${BASE_dir}/* || mkdir -p ${BASE_dir}
sleep 1 && echo -e "\033[35m 正在解压${JDK_package}.... \033[0m"
cd ${SOFT_dir} && tar -xzf ${JDK_package} -C ${BASE_dir}
sleep 2;
sed -i '/JAVA_HOME*/d' /etc/profile
sed -i.ori '$a export JAVA_HOME=/usr/java/jdk1.8.0_60\nexport PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH\nexport CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/tools.jar' /etc/profile
source /etc/profile && . /etc/profile
echo "JAVA_HOME=$JAVA_HOME"
echo `$JAVA_HOME/bin/java -version`
echo -e "\033[32m JDK已部署成功!!! \033[0m"
fi
}
function main(){
jdk_install
}
main

安装jdk参考另一篇博客:https://www.cnblogs.com/qianjingchen/p/9547815.html

3、安装Oracle11g2R

3.1 安装相关依赖包

安装系统依赖包,这一步也是最关键出错的地方,所以一定要注意:



yum -y install binutils-* compat-libcap1-* gcc-* gcc-c++-* glibc-* glibc-devel-* glibc-headers-* libstdc* elfutils-libelf-devel* libaio-devel* unixODBC-* pdksh-* libaio-* libgcc-* libXi-* libXtst-* make-* sysstat-* ld-linux.so.2 libc.so.6*

wget ftp://ftp.icm.edu.pl/vol/rzm3/linux-redhat/linux/6.1/en/os/i386/RedHat/RPMS/pdksh-5.2.14-1.i386.rpm #默认pdksh会无法安装,使用rpm安装

rpm -ivh pdksh-5.2.14-1.i386.rpm

3.2 安装图形化界面

安装oracle之前,Centos需要安装桌面环境,如果你的机器一开始就已经装好了桌面环境,可以忽略此步骤。我这里安装完系统,默认是命令行界面,这时就需要手动来安装用户图形界面了。

查看一下当前的运行级别和可以安装的group:


systemctl get-default
yum grouplist

用命令行安装GNOME包,这需要等待很长一段时间:

yum groupinstall "GNOME Desktop" "Graphical Administration Tools"

如果是centos6,安装命令是 yum install "X Window System"。在centos7里面的默认运行级别可以查看到有两种:multi-user.target和graphical.target。

更新系统的运行级别为graphical.target,设置默认启动图形界面:


systemctl set-default graphical.target
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target
systemctl get-default #检查一下

重启系统reboot,然后开机就能进入图形界面,按照提示设置普通用户登录密码,语言和时区等。

3.3 解压缩包并安装

将下载好的Oracle安装文件上传到CentOs上去,我这里放到了/home/soft目录下;

执行解压命令到指定目录:


unzip linux.x64_11gR2_database_1of2.zip -d /home/data/
unzip linux.x64_11gR2_database_2of2.zip -d /home/data/

/home/oracle/database 有执行权限,将该目录赋予oracle帐号所有,并拥有执行权限:


chmod -R 700 /home/data/database
chown -R oracle:oinstall /home/data/database

切换为oracle 用户,以静默方式执行安装脚本:注意此步骤一定要在图形桌面上执行


#切换到root用户执行
# xhost +SI:localuser:oracle
#登录回oracle用户:
# su - oracle
$ cd /home/oracle/database
$ source /home/oracle/.bash_profile
$ export DISPLAY=10.10.16.245:0.0
$ ./runInstaller -jreLoc /usr/java/jdk1.8.0_60/ #如果是中文字符集乱码,就执行:unset LANG LANGUAGE,再次执行安装脚本。这里指定jdk版本是因为后面会有窗口显示不全问题。

取消选中这个界面上的I wish to receive security updates via My Oracle Support 复选框,点击Next

直接默认yes,点击下一步,默认创建和配置一个数据库

选择服务类

选择单实例库:

我这里选择典型安装,也可以选择高级安装,安装步骤更多:

选择典型安装Oracle基本配置:最好保持和ORACLE_BASE&&ORACLE_HOME配置环境变量一致,点击yes

选择清单目录、即Oracle配置文件存放目录:用户组选择默认

先决条件检查:查看缺失的依赖包

最好不要选择右上角“Igrnore all”(全部忽略),如下图显示,有些包还没有安装,里面显示是需要32位(i386)的,相关文件已经打包好。下载地址:链接: https://pan.baidu.com/s/1Wr_csyUtsg0UFulXE5qoNA 提取码: v2e5

使用方法:在root用户下,解压后直接./oracle_rpm_setup.sh即可自动安装全部的包。


unzip oracle_rpm_setup.zip
cd oracle_rpm_setup/
./oracle_rpm_setup.sh

点击"Check Again"后,之前提示包全部完成,剩下的可以忽略。

直接下一步,在Summary界面,保持默认,点击Finish,开始安装:

安装过程中,差不多需要15—30分钟左右,其中会有一些错误提示,不过不影响,我们选择continue和默认即可。

安装完成后会提示需要执行两个脚本, 使用root账户执行两个脚本即可完成所有安装步骤。

登录root用户,到下面的两个目录下执行脚本即可。


cd /home/data/oraInventory/
sh orainstRoot.sh
cd /home/data/oracle/product/11.2.0/db_1
sh root.sh

点击close,至此完成Oracle的配置和安装:

4、启动oracle和配置监听

linux下的Oracle在安装结束后是处于运行状态的。端口号1521,运行top -u oracle可以看到以Oracle用户运行的进程。在图形化界面下,运行$ORACLE_HOME/sqldeveloper/sqldeveloper.sh可以出现Oracle自带的免费Oracle管理客户端SQL Developer。试着连接刚安装的Oracle,连接成功。

4.1 以oracle用户登录

以oracle身份登录数据库,进入Sqlplus控制台:


su - oracle

$ sqlplus /nolog --进入Sqlplus控制台

SQL*Plus: Release 11.2.0.1.0 Production on 星期一 3月 4 17:48:39 2019 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> connect / as sysdba --以系统管理员登录

Connected.

SQL> startup --启动数据库实例

ORA-01081: 无法启动已在运行的 ORACLE - 请首先关闭它

SQL> shutdown immediate --关闭数据库实例

Database closed.

Database dismounted.

ORACLE instance shut down.

SQL> exit --退出sqlplus控制台

Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

4.2 启动监听服务

以oracle身份登录数据库,前提是首先启动数据库,也可以用dbstart和dbshut启动和关闭数据库实例


$ dbstart $ORACLE_HOME #重启oracle实例
$ dbshut $ORACLE_HOME #关闭oracle实例
$ lsnrctl status #查看监听状态
$ lsnrctl stop #关闭监听,1521端口关闭
$ lsnrctl start #启动监听,1521端口开启
$ dbca #创建数据库实例orcl,图形界面操作

转载于:https://www.cnblogs.com/qianjingchen/articles/10442445.html



END


2019-09-23 16:47:22

学习笔记:(转)Centos7.6安装Oracle11gR2的更多相关文章

  1. 学习笔记(1)centos7 下安装nginx

    学习笔记(1)centos7 下安装nginx 这里我是通过来自nginx.org的nginx软件包进行安装的. 1.首先为centos设置添加nginx的yum存储库 1.通过vi命令创建一个rep ...

  2. 学习笔记(3)centos7 下安装RabbitMQ

    centos7 安装RabbitMQ 安装erlang 因为RabbitMQ由ERLANG实现,所以需要先安装erlang.可以从https://www.erlang-solutions.com/re ...

  3. 学习笔记(2)centos7 下安装mysql

    centos7安装mysql 本文通过yum方式安装mysql 1.添加mysql yum 仓库 去mysql开发者中心(http://dev.mysql.com/downloads/repo/yum ...

  4. 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用

    目录 学习笔记:CentOS7学习之二十四:expect-正则表达式-sed-cut的使用 24.1 expect实现无交互登录 24.1.1 安装和使用expect 24.2 正则表达式的使用 24 ...

  5. 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用

    目录 学习笔记:CentOS7学习之二十三: 跳出循环-shift参数左移-函数的使用 23.1 跳出循环 23.1.1 break和continue 23.2 Shift参数左移指令 23.3 函数 ...

  6. 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用

    目录 学习笔记:CentOS7学习之二十一: 条件测试语句和if流程控制语句的使用 21.1 read命令键盘读取变量的值 21.1.1 read常用见用法及参数 21.2 流程控制语句if 21.2 ...

  7. 学习笔记:CentOS7学习之二十:shell脚本的基础

    目录 学习笔记:CentOS7学习之二十:shell脚本的基础 20.1 shell 基本语法 20.1.1 什么是shell? 20.1.2 编程语言分类 20.1.3 什么是shell脚本 20. ...

  8. 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除

    目录 学习笔记:CentOS7学习之十八:Linux系统启动原理及故障排除 18.1 centos6系统启动过程及相关配置文件 18.1.1 centos6系统启动过程 18.1.2 centos6启 ...

  9. 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用

    目录 学习笔记:CentOS7学习之十六:LVM管理和ssm存储管理器使用 16.1 LVM的工作原理 16.1.1 LVM常用术语 16.1.2 LVM优点 16.2 创建LVM的基本步骤 16.2 ...

  10. ELK-6.5.3学习笔记–elk基础环境安装

    本文预计阅读时间 13 分钟 文章目录[隐藏] 1,准备工作. 2,安装elasticsearch. 3,安装logstash. 4,安装kibana 以往都是纸上谈兵,毕竟事情也都由部门其他小伙伴承 ...

随机推荐

  1. 18.4.09 模拟考 zhx P75

    题目链接 https://files.cnblogs.com/files/lovewhy/P75.pdf P75 竞赛时间: ????年??月??日??:??-??:?? 注意事项(请务必仔细阅读) ...

  2. firewalld命令集--firewall-cmd

    Linux上新用的防火墙软件,跟iptables差不多的工具 补充说明 firewall-cmd 是 firewalld的字符界面管理工具,firewalld是centos7的一大特性,最大的好处有两 ...

  3. docker 部署nestjs应用

    搭建nodejs运行环境,使用了node容器运行 1.安装运行node image docker pull node:latest docker run -itd --name mynode node ...

  4. chrome的内存限制

    推荐阅读:https://www.cnblogs.com/chengxs/p/10919311.html chrome内存限制 存在限制 Chrome限制了所能使用的内存极限(64位为1.4GB,32 ...

  5. java 对txt文件读写(已经封装好)

    读文件: public static String readTxt(String txtPath) { File file = new File(txtPath); if(file.isFile() ...

  6. (转)SmartPing:一个服务器Ping值监测工具

    官网:https://docs.smartping.org/ 借鉴:https://www.moerats.com/archives/710/ 说明:之前博主发过一个雨落大神写的Ping值监测工具uP ...

  7. 正确处理listview的position

    当ListView包含有HeaderView或FooterView时,传入getView或者onItemClick的position是怎样的,这是个值得探讨的问题 先列出错误的用法 定义: priva ...

  8. 20165223《网络对抗技术》Exp 8 Web基础

    目录 -- Web基础 实践说明 实践目标 基础问答 实践内容 Web前端:HTML Web前端:JavaScript Web后端:MySQL Web后端:PHP SQL注入,XSS攻击测试 实验遇到 ...

  9. Mininet系列实验(三):Mininet命令延伸实验扩展

    1 实验目的 熟悉Mininet自定义拓扑三种实现方式:命令行创建.Python脚本编写.交互式界面创建. 2 实验原理 Mininet 是一个轻量级软件定义网络和测试平台:它采用轻量级的虚拟化技术使 ...

  10. secureCRT操作redis-cli时, 不断追加ip:port

    Session Options-->Terminal-->Emulation-->Terminal为Linux