CentOS 7 上安装 Oracle 11g 数据库

这篇具有很好参考价值的文章主要介绍了CentOS 7 上安装 Oracle 11g 数据库。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本博客将向您介绍在 CentOS 7 操作系统上安装 Oracle 11g 数据库的步骤,以及在 Oracle 数据库中创建表空间和用户的脚本。

1. 安装必要的软件和依赖

首先,我们需要安装一些必要的软件和依赖项。在终端中执行以下命令:

yum -y install xorg-x11-xauth
yum -y install libXtst
yum -y install unzip

2. 关闭防火墙和 SELinux

为了确保安装的顺利进行,我们需要暂时关闭防火墙和 SELinux:

systemctl stop firewalld
systemctl disable firewalld

vi /etc/selinux/config
# 修改 SELINUX=disabled,用于指示系统在启动时禁用 SELinux。

# 立即将 SELinux 切换到“宽松模式”,允许警告但不会阻止操作
setenforce 0

3. 检查并创建 Swap 分区

Oracle 安装过程需要一些 Swap 空间。您可以使用以下命令检查是否有足够的 Swap:

free -m

如果 Swap 空间不足,可以通过分配新的 Swap 分区来解决。

4. 修改主机名和 hosts 文件

/etc/hosts 文件中添加主机名和 IP 地址的映射:

vi /etc/hosts
# 添加类似这样的行:192.168.20.235  oracle

5. 安装 Oracle 依赖包

安装 Oracle 所需的依赖包:

yum install -y gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-devel numactl-devel sysstat unixODBC unixODBC-devel pcre-devel

注意:CENTOS8会缺少compat-libstdc+±33-3.2.3,参考这篇博客解决
解决在CENTOS8安装Oracle数据库时缺失compat-libstdc+±33-3.2.3的问题

确认安装无误

rpm -qa gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel elfutils-libelf-devel-static ksh libaio libaio-develnumactl-devel sysstat unixODBC unixODBC-devel pcre-devel

6. 创建用户和组

为 Oracle 创建所需的用户和组:

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

7. 修改内核参数

编辑/etc/sysctl.conf 增加以下内容,其中kernel.shmmax = 1073741824为本机物理内存(2G)的一半,单位为byte

vi /etc/sysctl.conf 

# 增加以下内容
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 1048576
kernel.shmmax = 4294967295
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

8. 修改用户限制

编辑 /etc/security/limits.conf 文件并添加以下内容:

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

9. 修改 PAM 配置

编辑 /etc/pam.d/login 文件并添加以下内容:

vi /etc/pam.d/login
# 添加 PAM 配置
session required /lib64/security/pam_limits.so
session required pam_limits.so

10. 修改/etc/profile文件

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

# 执行生效
source /etc/profile

11. 创建必要的目录

创建 Oracle 所需的目录并设置权限:

mkdir -p /u01/oracle/product/11.2.0
mkdir /u01/oracle/oradata
mkdir /u01/oraInventory
mkdir /u01/oracle/fast_recovery_area
chown -R oracle:oinstall /u01/oracle
chmod -R 775 /u01/oracle
chown -R oracle:oinstall /u01/oraInventory
chmod -R 775 /u01/oraInventory

12. 上传 Oracle 软件包

将 Oracle 软件包 1of2 2of2 上传至目录/opt/oracle下:

mkdir /opt/oracle
## 上传文件到/opt/oracle 后执行以下命令
chown -R oracle:oinstall /opt/oracle
chmod 755 -R /opt/oracle
su - oracle
cd /opt/oracle
unzip linux.x64_11gR2_database_1of2.zip && unzip linux.x64_11gR2_database_2of2.zip

13. 修改oracle用户环境变量

编辑 ~/.bash_profile 文件并添加 Oracle 相关的环境变量:

vi ~/.bash_profile
# 添加 Oracle 环境变量
ORACLE_BASE=/u01/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export  LD_LIBRARY_PATH=$ORACLE_HOME:$LD_LIBRARY_PATH
ORACLE_SID=orcl
PATH=$PATH:$ORACLE_HOME/bin
export  ORACLE_BASE  ORACLE_HOME  ORACLE_SID  PATH

# 执行以下命令加载环境变量
source ~/.bash_profile

14. 配置静默安装文件

编辑 /opt/oracle/database/response/db_install.rsp 文件,并根据您的需求设置选项。

vi /opt/oracle/database/response/db_install.rsp

# 需要设置的选项如下:
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracle
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/oracle/product/11.2.0
ORACLE_BASE=/u01/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true

15. 安装 Oracle 数据库软件

执行安装命令,并根据静默安装文件进行安装:

cd /opt/oracle/database
./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq

centos8需要安装如下

yum install libnsl -y

否则会报错如下

[oracle@GreenCloud response]$ cd /opt/oracle/database
[oracle@GreenCloud database]$ ./runInstaller -silent -responseFile /opt/oracle/database/response/db_install.rsp -ignorePrereq
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 120 MB.   Actual 81336 MB    Passed
Checking swap space: must be greater than 150 MB.   Actual 255 MB    Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2023-11-12_01-47-38PM. Please wait ...[oracle@GreenCloud database]$ There was an error trying to initialize the HPI library.
Please check your installation, HotSpot does not work correctly
when installed in the JDK 1.2 Linux Production Release, or
with any JDK 1.1.x release.
Could not create the Java virtual machine.

16. 完成安装步骤

以 root 用户身份执行以下两个脚本:

/u01/oraInventory/orainstRoot.sh
/u01/oracle/product/11.2.0/root.sh

17. 配置监听器

使用静默方式安装监听器:

netca /silent /responseFile /opt/oracle/database/response/netca.rsp

18. 创建 Oracle 数据库

编辑 /opt/oracle/database/response/dbca.rsp 文件,并设置数据库相关选项。

vi /opt/oracle/database/response/dbca.rsp

# 修改如下内容
GDBNAME= "orcl"
SID ="orcl"
SYSPASSWORD= "Oracle_123"
SYSTEMPASSWORD= "Oracle_123"
SYSMANPASSWORD= "Oracle_123"
DBSNMPPASSWORD= "Oracle_123"
DATAFILEDESTINATION=/u01/oracle/oradata
RECOVERYAREADESTINATION=/u01/oracle/fast_recovery_area
CHARACTERSET= "AL32UTF8"
# ----TOTALMEMORY ="1638" 为1638MB,物理内存2G*80%。
TOTALMEMORY= "40960"

# 执行如下命令安装
dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp

19. 完成安装

到此处,您的 Oracle 11g 数据库已经成功安装和配置。

20. 创建表空间

登录数据库

sqlplus / as sysdba

首先,脚本创建了两个不同类型的表空间:

20.1 JGCRM_ZH 表空间

CREATE TABLESPACE JGCRM_ZH LOGGING DATAFILE '/u01/oracle/oradata/jgcrm_zh.dbf' SIZE 2048m AUTOEXTEND ON NEXT 512m MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

这段代码创建了名为 “JGCRM_ZH” 的表空间,其中包含以下设置:

  • Logging:指示数据库更改将记录在重做日志中。
  • Datafile:指定与表空间关联的数据文件的位置和名称。
  • Size:将表空间的初始大小设置为 2048 兆字节。
  • Autoextend:启用数据文件的自动扩展。
  • Next:指定在需要时扩展数据文件的大小。
  • Maxsize Unlimited:表示数据文件可以无限增长,没有特定的上限。
  • Extent Management Local:使用本地区段管理来管理表空间。

20.2 临时表空间 JGCRM_ZH_TEMP

CREATE TEMPORARY TABLESPACE JGCRM_ZH_TEMP TEMPFILE '/u01/oracle/oradata/jgcrm_zh_temp.dbf' SIZE 512m AUTOEXTEND ON NEXT 512m MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;

这段代码创建了名为 “JGCRM_ZH_TEMP” 的临时表空间,与上述过程类似,包含以下设置:

  • Tempfile:指定临时数据文件的位置和名称。
  • Size:将临时表空间的初始大小设置为 512 兆字节。
  • Autoextend、Next、Maxsize:与 JGCRM_ZH 表空间中的设置类似。
  • Extent Management Local:再次使用本地区段管理来管理临时表空间。

21. 创建用户

接下来,脚本创建一个名为 “JGCRM_ZH” 的用户,并为该用户分配了一系列权限:

create user JGCRM_ZH identified by JGCRM_ZH default tablespace jgcrm_zh temporary tablespace jgcrm_zh_temp profile DEFAULT;

这段代码创建了一个用户 “JGCRM_ZH”,具有以下属性:

  • Identified by JGCRM_ZH:将用户的密码设置为 "JGCRM_ZH。
  • Default Tablespace:将用户的默认表空间设置为 “jgcrm_zh”。
  • Temporary Tablespace:将用户的临时表空间设置为 “jgcrm_zh_temp”。
  • Profile:将默认配置文件 “DEFAULT” 分配给用户。

22. 授予权限

以下部分将各种权限授予了用户 “JGCRM_ZH”:

-- 为 JGCRM_ZH 用户授予基本权限
GRANT CONNECT TO JGCRM_ZH;
GRANT RESOURCE TO JGCRM_ZH;
GRANT CREATE PROCEDURE TO JGCRM_ZH;
GRANT CREATE SEQUENCE TO JGCRM_ZH;
GRANT CREATE SYNONYM TO JGCRM_ZH;
GRANT CREATE TRIGGER TO JGCRM_ZH;
GRANT CREATE TYPE TO JGCRM_ZH;
GRANT CREATE VIEW TO JGCRM_ZH;

-- 为 JGCRM_ZH 用户授予数据导入/导出的目录权限
GRANT READ, WRITE ON DIRECTORY DATA_PUMP_DIR TO JGCRM_ZH;

-- 为 JGCRM_ZH 用户授予会话和基本对象创建权限
GRANT CREATE SESSION TO JGCRM_ZH;
GRANT CREATE TABLE TO JGCRM_ZH;
GRANT CREATE PROCEDURE TO JGCRM_ZH;
GRANT CREATE ANY PROCEDURE TO JGCRM_ZH; -- 合并 CREATE PROCEDURE 和 CREATE ANY PROCEDURE
GRANT CREATE TRIGGER TO JGCRM_ZH;

-- 为 JGCRM_ZH 用户授予分析和执行权限
GRANT ANALYZE ANY TO JGCRM_ZH;
GRANT EXECUTE ANY PROCEDURE TO JGCRM_ZH WITH ADMIN OPTION;

-- 为 JGCRM_ZH 用户授予额外的权限
GRANT SELECT ANY SEQUENCE TO JGCRM_ZH;
GRANT DATAPUMP_IMP_FULL_DATABASE TO JGCRM_ZH;

-- 为 JGCRM_ZH 用户授予无限表空间权限,并设置 ADMIN OPTION
GRANT UNLIMITED TABLESPACE TO JGCRM_ZH WITH ADMIN OPTION;

这些代码行将各种权限授予用户 “JGCRM_ZH”:文章来源地址https://www.toymoban.com/news/detail-691880.html

  • Grant CONNECT:允许用户连接到数据库。
  • Grant RESOURCE:为用户提供创建对象的基本资源权限。
  • Grant CREATE 权限:允许用户创建存储过程、序列、同义词、触发器、类型、视图,并授予了具备管理员选项的无限表空间权限。

到了这里,关于CentOS 7 上安装 Oracle 11g 数据库的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos 7 安装 Oracle 11G

    准备环境 p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip Centos 7- rhel7- 英文版的系统 –不想换语言的执行(LANG=en_US)– 传输 文件到服务器上 创建用户和组 解压文件 安装 ps: 最好使用代图形化界面的系统安装,使用xhell 会提示下载xmanager… 或者使用vnc 5.2 解决报错

    2024年02月16日
    浏览(39)
  • 在虚拟机linux系统centos中安装oracle11gR2,并使用plsql工具连接使用数据库

    1.X工具,我使用的是Xftp,Xshell和Xmanager,也可以选用其他相同类型的工具 2.oracle安装包,我选用的是oracle11gR2,其他版本仅供参考 3.plsql工具 需要使用Xshell使虚拟机脸上Xmanager打开图形化界面,具体步骤如下: 1.打开虚拟机,登录 2.使用Xshell连接虚拟机         打开Xshell,创建

    2024年02月15日
    浏览(41)
  • Linux之CentOS 7.9部署Oracle 11g r2_p13390677_112040最终版简易安装实测验证(桌面模式)

    前言: Linux之CentOS 7.9部署Oracle 11g r2最终版安装实测验证(桌面模式) 介于前段时间的Windows以及linux无桌面模式环境,之前的linux oracl源包因缺失会存在报错现象,这次主要以oracle 11gr2更新包来记录下部署方式,当然还有更多的其他部署,大家可根据自身环境及学习来了解。

    2024年01月19日
    浏览(38)
  • <Oracle>《Linux 下安装Oracle数据库 - Oracle 19C By CentOS 8 》(第三部分)

    2.5.1 修改centos主机名 类型 英文 解释 静态 Static hostname 内核主机名,是系统在启动时从/etc/hostname自动初始化的主机名。 瞬态 Tansient hostname 系统运行时临时分配的主机名,例如,通过DHCP或mDNS服务器分配。 灵活 Pretty hostname 有人叫做“别名”主机名,允许使用自由形式(包括

    2024年02月11日
    浏览(41)
  • Linux安装Oracle11g(无图形界面下的静默安装)

    创建组和用户 创建oracle安装目录 关闭防火墙 优化系统内核参数 编辑 /etc/sysctl.conf 文件,在文件尾添加如下内容: 执行 sysctl -p 使修改生效 对oracle用户设置限制 编辑 /etc/security/limits.conf 文件,在文件尾添加如下内容: 设置用户变量 编辑 /home/oracle/.bash_profile 文件,在文件尾

    2024年04月14日
    浏览(27)
  • CentOS中Oracle11g进程有哪些

            最近遇到Oracle数据库运行过程实例进程由于某种原因导致中止的问题,专门看了下正常Oracle数据库启动后的进程有哪些,查阅资料了解了下各进程的作用,记录如下。         这是监听进程,用来监听客户端请求的。可以看到其端口就是Oracle连接的默认端口

    2024年02月11日
    浏览(27)
  • 64位Linux系统上安装64位Oracle10gR2及Oracle11g所需的依赖包

    在64位Linux系统上安装64位Oracle 10gR2,到底需要装哪些包?  这不是一个完整的安装教程 , 仅仅探讨在 64 位 CentOS 5.8 系统上安装 64 位 Oracle 10gR2, 到底需要装哪些 RPM 包 . 实验环境 VMWare Workstation 8.0 Linux 发行版 : CentOS 5.8 x86_64 Kernel 版本 : 2.6.18-308.el5 Oracle Database 版本 : 10201_database_l

    2024年02月09日
    浏览(30)
  • CentOS7中安装Oracle11g的详细步骤

    目录 1.先在/opt/目录下面新建一个文件夹install 2.禁用防火墙 3.安装依赖包 4.验证依赖包 5.创建orcale用户 6.创建oradata目录,解压oracle安装 7.将install文件夹下的压缩包剪切到/oradata下面 8.将/oradata上当及目录内的所有文件和文件夹的归属都修改为oracle用户 9.登录oracle用户将两个压

    2024年02月15日
    浏览(29)
  • (第31天)RHEL 7 安装 Oracle 11GR2 RAC 数据库

    Oracle RAC是什么? Oracle Real Application Clusters (RAC) 允许客户跨多台服务器运行单个 Oracle 数据库,以最大限度地提高可用性并实现水平可扩展性,同时访问共享存储。 连接到 Oracle RAC 实例的用户会话可以在中断期间进行故障转移并安全地重放更改,而无需对最终用户应用程序进行

    2024年02月04日
    浏览(35)
  • Oracle19c数据库安装 - 基于Linux环境

    安装文件链接在文章末尾。 本文介绍多种在Linux环境下安装Oracle19c数据库软件和Oracle数据库的方式,多种方式选择其中一种即可,适用于19c数据库学习环境的配置。 数据库软件和数据库是不同的,都需要安装。 关闭防火墙和selinux 更改完reboot,使其生效 搭建yum,安装依赖包

    2024年02月15日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包