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 firewalldvi /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

确认安装无误

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下:

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
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

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 数据库已经成功安装和配置。

当然可以,以下是对你提供的脚本的Markdown博客说明:

20. 创建表空间

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

20.1 PIS 表空间

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

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

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

20.2 临时表空间 pis_temp

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

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

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

21. 创建用户

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

create user PIS identified by PISdefault tablespace pistemporary tablespace pis_tempprofile DEFAULT;

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

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

22. 授予权限

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

grant connect to PIS;
grant resource to PIS;
grant create procedure to PIS;
grant create sequence to PIS;
grant create synonym to PIS;
grant create trigger to PIS;
grant create type to PIS;
grant create view to PIS;
grant unlimited tablespace to PIS with admin option;

这些代码行将各种权限授予用户 “PIS”:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/59685.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux服务器安装部署MongoDB数据库 – 【无公网IP远程连接】

文章目录 前言1.配置Mongodb源2.安装MongoDB数据库3.局域网连接测试4.安装cpolar内网穿透5.配置公网访问地址6.公网远程连接7.固定连接公网地址8.使用固定公网地址连接 前言 MongoDB是一个基于分布式文件存储的数据库。由 C 语言编写,旨在为 WEB 应用提供可扩展的高…

什么是OLAP

一、什么是OLAP OLAP(On-line Analytical Processing,联机分析处理)是在基于数据仓库多维模型的基础上实现的面向分析的各类操作的集合。可以比较下其与传统的OLTP(On-line Transaction Processing,联机事务处理&…

Redisson分布式锁 原理源码 分析

# 基于setnx实现的分布式锁存在的问题: # 为了解决上面的问题,可以用Redisson # Redisson入门 # Redisson可重入锁原理 获取锁的Lua脚本: 释放锁的Lua脚本: # 锁重试原理分析 tryLock()底层代码分析 tim…

什么是自动语音识别?

在人工智能发展和全球疫情的双重作用下,企业加强了与客户的线上沟通。企业越发依赖于虚拟助手、聊天机器人以及其他的语音技术,以实现与客户的高效互动。这几类人工智能,都是依赖于自动语音识别技术,简称为ASR。ASR涉及到将语音转…

Gson与FastJson详解

Gson与FastJson详解 Java与JSON 做什么? 将Java中的对象 快速的转换为 JSON格式的字符串. 将JSON格式的字符串, 转换为Java的对象. Gson 将对象转换为JSON字符串 转换JSON字符串的步骤: 引入JAR包 在需要转换JSON字符串的位置编写如下代码即可: String json new Gs…

python安装playwright问题记录

python安装playwright这个时候,有得时候会https timeout 有的时候会 not found。 我最后使用的方法三,挺好用的。 PyPI The Python Package Index 可以尝试使用的方法 1. 更换pip源:使用国内的pip源可以提高下载速度并减少超时问题。例如&#xff0c…

【PHP】PHP的面向对象编程

PHP面向对象编程是PHP编程的一个重要方向,它通过将数据和操作封装在对象中,使得代码更加模块化、可重用性和易于维护。本文将介绍PHP面向对象编程的基本概念、核心思想和常见应用,并探讨使用PHP面向对象编程时需要注意的问题。 一、概述 PH…

LLM推理部署(一):LLM七种推理服务框架总结

自从ChatGPT发布以来,国内外的开源大模型如雨后春笋般成长,但是对于很多企业和个人从头训练预训练模型不太现实,即使微调开源大模型也捉襟见肘,那么直接部署这些开源大模型服务于企业业务将会有很大的前景,本文将介绍七…

Effective C++条款16——成对使用new和delete时要采取相同形式(资源管理)

以下动作有什么错? std::string* stringArray new std::string[100]; // ... delete stringArray;每件事看起来都井然有序。使用了new,也搭配了对应的 delete。但还是有某样东西完全错误:你的程序行为不明确(未有定义)。最低限度&#xff…

PHP竞赛管理系统Dreamweaver开发mysql数据库web结构php编程计算机网页

一、源码特点 PHP 竞赛管理系统是一套完善的web设计系统,对理解php编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。 下载地址 https://download.csdn.net/download/qq_41221322/88244066 二、功能介绍 后…

Spring Boot Dubbo Zookeeper(含ZK安装脚本)

文章目录 Spring Boot Dubbo Zookeeper&#xff08;含ZK安装脚本&#xff09;简介DubboCommonProviderConsumer Zookeeper Spring Boot Dubbo Zookeeper&#xff08;含ZK安装脚本&#xff09; 简介 Dubbo Common 公共依赖 <!-- Spring Boot Starter --> <dependen…

C#_特性反射详解

特性是什么&#xff1f; 为程序元素额外添加声明信息的一种方式。 字面理解&#xff1a;相当于把额外信息写在干胶标签上&#xff0c;然后将其贴在程序集上。 反射是什么&#xff1f; 反射是一种能力&#xff0c;运行时获取程序集中的元数据。 字面理解&#xff1a;程序运行…

一键实现 Oracle 数据整库同步至 Apache Doris

在实时数据仓库建设或迁移的过程中&#xff0c;用户必须考虑如何高效便捷将关系数据库数据同步到实时数仓中来&#xff0c;Apache Doris 用户也面临这样的挑战。而对于从 Oracle 到 Doris 的数据同步&#xff0c;通常会用到以下两种常见的同步方式&#xff1a; OGG/XStream/Lo…

事务管理-事务进阶-propagation属性

目录 事务属性-传播行为 propagation 案例 需求 步骤 具体代码 小结 事务属性-传播行为 propagation 事务传播行为&#xff1a;指的就是当一个事务方法被另一个事务方法调用时&#xff0c;这个事务方法应该如何进行事务控制。即如果事务方法A中调用了事务方法B&#xff0c…

设计模式-桥接模式

核心思想 适配器模式类似&#xff0c;以后也会遇到意思接近一样的设计模式。在开发中一般多个模式混用&#xff0c;且根据不同的场景进行搭配&#xff0c;桥接模式也是结构型模式将抽象的部分和实现的部分分离&#xff0c;使它们都可以独立的变化。通俗来说&#xff0c;就是通…

探索链表:数据结构的精妙之处

前言 在计算机科学中&#xff0c;数据结构是构建和组织数据的基础&#xff0c;它们是解决复杂问题的关键。然而&#xff0c;在众多数据结构中&#xff0c;链表&#xff08;Linked List&#xff09;因其独特的特点和广泛的应用而备受关注。本文将带您深入探讨链表的概念、种类、…

Linux特殊指令

目录 1.dd命令 2.mkfs格式化 3.df命令 4.mount实现硬盘的挂载 5.unshare 1.dd命令 dd命令可以用来读取转换并输出数据。 示例一&#xff1a; if表示infile&#xff0c;of表示outfile。这里的/dev/zero是一个特殊文件&#xff0c;会不断产生空白数据。 bs表示复制一块的大…

mysql 分库分表实现思路

MySQL的分库分表是一种常用的数据库拆分方案&#xff0c;它可以提高数据库的性能和扩展性。下面是一般的实现步骤&#xff1a; 数据库设计&#xff1a;首先&#xff0c;需要对数据库进行良好的设计。确定要分库分表的实体和关系&#xff0c;并根据业务需求进行合理的拆分。 数…

vscode 对模型train、detect脚本进行Debug时配置参数

我们训练yolov5代码时&#xff0c;一般会配置一些参数&#xff0c;比如模型权重文件--weights, 模型的配置文件--cfg, 以及训练的数据--data, 对应的训练脚本为: 训练train python train.py -- weights ./yolov5s.pt --cfg models\yolov5s.yaml --data ./data/coco128.yaml…

9.oracle中sign函数

在Oracle/PLSQL中, sign 函数返回一个数字的正负标志. 语法如下&#xff1a;sign( number ) number 要测试标志的数字. If number < 0, then sign returns -1. If number 0, then sign returns 0. If number > 0, then sign returns 1. 应用于: Oracle 8i, Oracle …