在 CentOS 7.9上部署 Oracle 11.2.0.4.0 数据库
目录
- 在 CentOS 7.9上部署 Oracle 11.2.0.4.0 数据库
- 引言
- 安装常见问题
- vim粘贴问题
- 环境情况
- 环境信息
- 安装包下载
- 初始环境准备
- 关闭 SELinux
- 关闭 firewalld
- 安装前初始化工作
- 配置主机名
- 安装依赖
- 优化内核参数
- 限制 Oracle 用户的 Shell 权限
- 配置 PAM 模块
- 配置swap
- 创建用户组与用户,以及oracle所需目录
- 配置oracle用户环境变量
- 切换到 Oracle 用户
- 编辑 .bash_profile
- 解释各个环境变量
- 使配置生效
- 验证配置
- 配置安装目录以及解压安装包
- 切换到 Oracle 用户
- 解压 Oracle 安装包
- 移动解压后的文件
- 复制响应文件
- 修改安装配置项
- 修改db_install.rsp
- 修改dbca.rsp
- 开始安装
- 切换到 Oracle 用户
- 安装Oracle软件
- 执行扩展脚本
- 配置监听
- 切换到 Oracle 用户
- 配置 Oracle Listener
- 创建oracle实例以及创建新用户
- 切换到 Oracle 用户
- 创建实例
- 开机自启
- 其他
- 总结
在 CentOS 7.9上部署 Oracle 11.2.0.4.0 数据库
引言
Oracle 数据库作为一种高性能的关系型数据库管理系统,广泛应用于企业级应用中。尽管 Oracle 官方推荐使用其自家的 Linux 版本进行部署,但在 CentOS 上部署 Oracle 同样是一个常见的选择,尤其是在测试和开发环境中。
本文将带领大家一步步通过 CentOS 7 操作系统部署 Oracle 数据库的过程,从环境准备到数据库安装,确保在 CentOS 上成功运行 Oracle 数据库。我们将涵盖安装前的准备工作、必备依赖、配置优化以及常见的安装问题和解决方案。
安装常见问题
vim粘贴问题
关于 vim 编译粘贴带有 # 号的情况,可以描述为:在 vim 中进行编译或粘贴代码时,尤其是粘贴来自外部编辑器或文档的内容,如果内容前有 # 注释符号,可能会因为缩进或特殊字符导致格式错误。这时,可以使用 vim 的粘贴模式来避免这些问题。
具体操作步骤如下:
-
启用粘贴模式
在vim中,使用以下命令启用粘贴模式::set paste -
粘贴内容
粘贴操作时,vim会忽略自动缩进和格式化,使得粘贴的内容按照原样保留,包括注释符号#。 -
关闭粘贴模式
粘贴完成后,可以使用以下命令退出粘贴模式,恢复正常的格式化行为::set nopaste
通过上述方法,粘贴代码时带有 # 的注释符号不会被误处理,避免格式错误。
环境情况
环境信息
对于Oracle 11g,建议至少有4核的CPU和8GB的RAM作为最小配置
| 项目 | 详情 |
|---|---|
| 操作系统 | CentOS Linux release 7.9.2009 (Core) |
| CPU 核心数 | 8 核(逻辑核心) |
| 内存 | 16G |
| Oracle版本 | 11.2.0.4.0 |
官方安装参考
安装包下载
百度网盘下载oracle软件包

下边这两个文件夹别下载错了
p13390677_112040_Linux-x86-64_1of7.zip
p13390677_112040_Linux-x86-64_2of7.zip
初始环境准备
在开始 Oracle 数据库的安装之前,我们需要对 CentOS 系统进行一些必要的配置。这些配置有助于确保安装过程顺利进行,并避免出现常见的安装问题。
关闭 SELinux
SELinux(Security-Enhanced Linux)是 Linux 系统的一种安全机制,但它可能会干扰 Oracle 安装过程。因此,我们需要在安装之前暂时关闭 SELinux。
执行以下命令查看 SELinux 状态:
sestatus
如果 SELinux 处于启用状态,使用以下命令关闭 SELinux:
setenforce 0
要永久禁用 SELinux,需要编辑 /etc/selinux/config 文件,将 SELINUX 设置为 disabled:
vim /etc/selinux/config
修改:
SELINUX=disabled
保存并退出编辑器后,重启系统使配置生效:
reboot
关闭 firewalld
Oracle 数据库的安装和配置可能会受到防火墙的限制,因此需要关闭 CentOS 系统上的 firewalld 服务。
执行以下命令停止并禁用 firewalld:
systemctl stop firewalld
systemctl disable firewalld
检查 firewalld 状态,确保其已被禁用:
systemctl status firewalld
安装前初始化工作
配置主机名
使用 hostnamectl set-hostname db 来设置主机名为 db,然后将主机名与 IP 地址映射到 /etc/hosts 文件中,以便本地解析:
hostnamectl set-hostname db
echo "10.255.101.216 db" >> /etc/hosts
- 注意:这里的 IP 地址
10.255.101.216应替换为你实际的服务器 IP 地址。

安装依赖
首先检查是否已经安装了所需的依赖,使用命令:
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

这将检查系统中是否已安装所需的软件包。如果没有安装,使用以下命令来安装:
yum -y install net-tools lrzsz telnet wget unzip zip binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
注意事项:
- 安装
gcc、glibc等开发工具包和库对于数据库的安装和编译是必不可少的 unixODBC和其相关开发包通常用于与数据库进行连接(例如,ODBC 驱动程序)
安装完再rpm检查,都有了

优化内核参数
在 Oracle 安装前,我们需要调整一些内核参数,确保系统性能能够满足 Oracle 数据库的需求。可以通过修改 /etc/sysctl.conf 文件来设置这些参数。
- 计算
shmall和shmmax的值
-
kernel.shmall:表示系统共享内存总页数。计算方法是:shmall = total_memory / 4,其中total_memory是通过free -k命令获取的系统总内存(单位:KB)。 -
kernel.shmmax:表示共享内存段的最大值,计算方法是:shmmax = total_memory - 1,其中total_memory是通过free -b获取的总内存(单位:字节)。
假设你运行 free -k 得到的输出为:
total used free shared buff/cache available
Mem: 16425172 123732 16164392 8784 137048 16059168
然后计算:
kernel.shmall = total / 4 = 16425172 / 4 = 4106293
假设你运行 free -b 得到的输出为:
total used free shared buff/cache available
Mem: 16819376128 125624320 16553308160 8994816 140443648 16445612032
然后计算:
kernel.shmmax = total - 1 = 16819376128 - 1 = 16819376127

备份配置文件,防止错误时恢复
cp -p /etc/sysctl.conf /etc/sysctl.conf_bak
编辑 /etc/sysctl.conf 文件,并加入以下配置:
# 最大异步I/O请求数
fs.aio-max-nr = 1048576# 系统最大打开文件数
fs.file-max = 6815744# 共享内存段的最大数量
kernel.shmall = 4106293# 每个共享内存段的最大大小
kernel.shmmax = 16819376127# 系统中共享内存段的最大数量
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
这些优化的内核参数将帮助 Oracle 数据库在 CentOS 上运行时获得更好的性能,特别是对于大规模并发访问和共享内存的需求。

限制 Oracle 用户的 Shell 权限
为了确保 Oracle 数据库的稳定运行,我们需要设置一些资源限制,以限制 Oracle 用户的进程数、打开文件数和栈大小等。通过修改 /etc/security/limits.conf 文件,可以有效地控制 Oracle 用户的资源使用。
-
编辑
/etc/security/limits.conf使用文本编辑器打开
/etc/security/limits.conf文件:vim /etc/security/limits.conf然后在文件的末尾添加以下配置:
# 限制 Oracle 用户的资源使用 oracle soft nproc 2047 # 限制 Oracle 用户的最大进程数(软限制) oracle hard nproc 16384 # 限制 Oracle 用户的最大进程数(硬限制) oracle soft nofile 4096 # 限制 Oracle 用户的最大打开文件数(软限制) oracle hard nofile 65536 # 限制 Oracle 用户的最大打开文件数(硬限制) oracle soft stack 10240 # 限制 Oracle 用户的栈大小(软限制) -
说明
nproc: 限制 Oracle 用户可以创建的最大进程数。软限制和硬限制分别为 2047 和 16384,软限制可以由用户自行调整,而硬限制则是最大值,不允许超过。
nofile: 限制 Oracle 用户可以打开的最大文件数。软限制为 4096,硬限制为 65536。
stack: 限制 Oracle 用户的栈大小。软限制为 10240(单位为 KB)。 -
应用更改
保存并退出文件后,重新登录系统使更改生效。Oracle 用户的资源限制将会按上述配置进行控制。

配置 PAM 模块
首先,备份原始的 login 配置文件:
cp -p /etc/pam.d/login /etc/pam.d/login-bak
然后,编辑 /etc/pam.d/login 文件,追加以下内容:
session required /lib64/security/pam_limits.so
session required pam_limits.so
pam_limits.so:该模块用于读取/etc/security/limits.conf中的资源限制,并将其应用于用户会话。通过这条配置,确保 PAM 模块在每个会话中加载资源限制。
配置swap
oracle安装程序要求至少有 150 MB 的交换空间swap
-
创建交换文件:
fallocate -l 1G /swapfile这将创建一个 1 GB 大小的交换文件。如果你需要更大的交换空间,可以根据需要调整文件大小。
-
设置交换文件格式:
mkswap /swapfile这会将交换文件格式化为交换空间。
-
启用交换空间:
swapon /swapfile这会立即启用交换空间。
-
使交换文件在重启后生效:
echo "/swapfile swap swap defaults 0 0" >> /etc/fstab -
交换空间(Swap)相关信息:
cat /proc/meminfo | grep Swap- SwapTotal:交换空间的总大小
- SwapFree:当前未使用的交换空间
- SwapCached:被缓存但未使用的交换空间

创建用户组与用户,以及oracle所需目录
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo oracle|passwd --stdin oraclemkdir -p /data/app/oracle/app /data/app/oracle/etc
chown -R oracle:oinstall /data/app/oracle /data/bag
chmod -R 775 /data/app/oracle /data/bag

配置oracle用户环境变量
切换到 Oracle 用户
首先,确保以 oracle 用户身份登录。你可以使用 su 命令切换到 oracle 用户:
su - oracle
编辑 .bash_profile
然后,编辑 oracle 用户的 .bash_profile 文件,通常位于 ~/.bash_profile,在文件末尾追加以下配置:
# oracle安装目录
export ORACLE_BASE=/data/app/oracle/app
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0# oracle实例SID名称
export ORACLE_SID=orcl# 同SID
export ORACLE_TERM=orcl# 设置Oracle的可执行文件路径
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH# 设置Oracle库文件路径
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib# 设置语言环境
export LANG=C
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8# 同SID
export ORACLE_UNQNAME=orcl# 追加 Oracle 可执行文件路径
export PATH=$ORACLE_HOME/bin:$PATH
export PATH# 设置 SQLPATH
export SQLPATH=/data/app/oracle/labs
解释各个环境变量
ORACLE_BASE:指定 Oracle 安装的基础目录路径。ORACLE_HOME:指定 Oracle 数据库软件的安装路径。通常,它位于ORACLE_BASE目录下的product子目录中。ORACLE_SID:设置 Oracle 实例的 SID(System Identifier),这对应于你的 Oracle 数据库实例。ORACLE_TERM:设置 Oracle 使用的终端类型,一般与 SID 名称相同。PATH:确保 Oracle 的二进制文件路径被加入到PATH环境变量中,方便执行 Oracle 相关命令。LD_LIBRARY_PATH:设置 Oracle 的库文件路径,确保 Oracle 能找到所需的共享库。LANG和NLS_LANG:指定语言和字符集设置。NLS_LANG=AMERICAN_AMERICA.AL32UTF8用于指定数据库使用的语言环境和字符集(通常是 UTF-8)。ORACLE_UNQNAME:同ORACLE_SID,表示 Oracle 实例的唯一名称。SQLPATH:指定 SQL 脚本的默认路径,方便执行 SQL 文件。
使配置生效
完成编辑后,保存并关闭文件。然后使用以下命令使修改生效:
source ~/.bash_profile
这会重新加载 .bash_profile 文件并使配置立即生效。
验证配置
你可以通过运行以下命令验证环境变量是否配置正确:
echo $ORACLE_BASE
echo $ORACLE_HOME
echo $ORACLE_SID
echo $PATH
这些命令应该会显示你刚刚设置的环境变量值。

配置安装目录以及解压安装包
切换到 Oracle 用户
确保以 oracle 用户身份登录。可以通过 su 命令切换到 oracle 用户:
su - oracle
解压 Oracle 安装包
假设你已经有了 Oracle 安装包文件,如 p13390677_112040_Linux-x86-64_1of7.zip 和 p13390677_112040_Linux-x86-64_2of7.zip,并且这两个文件放在了同一个目录下/data/bag/
运行以下命令解压这些文件:
cd /data/bag/
unzip p13390677_112040_Linux-x86-64_1of7.zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
解压后,你会得到一个 databases 目录,里面包含了 Oracle 安装所需的文件。

移动解压后的文件
将解压后的 database 目录移动到指定的路径 /data/app/oracle/app/:
mv database /data/app/oracle/app/

复制响应文件
Oracle 安装过程中需要使用响应文件(response 文件)来配置安装选项。将响应文件从 cp /data/app/oracle/app/database/response/ 复制到 Oracle 的配置目录 /data/app/oracle/etc/:
cp /data/app/oracle/app/database/response/* /data/app/oracle/etc/
设置响应文件权限
chmod 700 /data/app/oracle/etc/*.rsp
具体来说:
-
db_install.rsp:这个响应文件通常用于 Oracle 数据库安装过程中的自动配置。它包含了安装过程中的配置参数,如 Oracle 安装路径、数据库名称等 -
dbca.rsp:这是 Oracle 数据库创建助手(DBCA)使用的响应文件,用于自动化创建数据库的过程。它指定了数据库配置,如字符集、数据库模板、监听器配置等 -
netca.rsp:这是 Oracle 网络配置助手(NETCA)使用的响应文件,用于自动化配置 Oracle 网络设置,通常用于配置监听器、TNS 网络服务等

修改安装配置项
修改db_install.rsp
/data/app/oracle/etc目录下
主要是修改这几个参数,也可以直接吧下边的复制进去
INVENTORY_LOCATION 、ORACLE_HOME、ORACLE_BASE
grep -v "^#" db_install.rsp |grep -v "^$"
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=db
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/data/app/oracle/app/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/data/app/oracle/app/product/11.2.0
ORACLE_BASE=/data/app/oracle/app
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.optionalComponents=oracle.rdbms.partitioning:11.2.0.4.0,oracle.oraolap:11.2.0.4.0,oracle.rdbms.dm:11.2.0.4.0,oracle.rdbms.dv:11.2.0.4.0,oracle.rdbms.lbac:11.2.0.4.0,oracle.rdbms.rat:11.2.0.4.0
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
oracle.install.db.CLUSTER_NODES=
oracle.install.db.isRACOneInstall=
oracle.install.db.racOneServiceName=
oracle.install.db.config.starterdb.type=
oracle.install.db.config.starterdb.globalDBName=orcl
oracle.install.db.config.starterdb.SID=orcl
oracle.install.db.config.starterdb.characterSet=AL32UTF8
oracle.install.db.config.starterdb.memoryOption=true
oracle.install.db.config.starterdb.memoryLimit=
oracle.install.db.config.starterdb.installExampleSchemas=false
oracle.install.db.config.starterdb.enableSecuritySettings=true
oracle.install.db.config.starterdb.password.ALL=
oracle.install.db.config.starterdb.password.SYS=
oracle.install.db.config.starterdb.password.SYSTEM=
oracle.install.db.config.starterdb.password.SYSMAN=
oracle.install.db.config.starterdb.password.DBSNMP=
oracle.install.db.config.starterdb.control=DB_CONTROL
oracle.install.db.config.starterdb.gridcontrol.gridControlServiceURL=
oracle.install.db.config.starterdb.automatedBackup.enable=false
oracle.install.db.config.starterdb.automatedBackup.osuid=
oracle.install.db.config.starterdb.automatedBackup.ospwd=
oracle.install.db.config.starterdb.storageType=
oracle.install.db.config.starterdb.fileSystemStorage.dataLocation=
oracle.install.db.config.starterdb.fileSystemStorage.recoveryLocation=
oracle.install.db.config.asm.diskGroup=
oracle.install.db.config.asm.ASMSNMPPassword=
MYORACLESUPPORT_USERNAME=
MYORACLESUPPORT_PASSWORD=
SECURITY_UPDATES_VIA_MYORACLESUPPORT=
DECLINE_SECURITY_UPDATES=true
PROXY_HOST=
PROXY_PORT=
PROXY_USER=
PROXY_PWD=
PROXY_REALM=
COLLECTOR_SUPPORTHUB_URL=
oracle.installer.autoupdates.option=
oracle.installer.autoupdates.downloadUpdatesLoc=
AUTOUPDATES_MYORACLESUPPORT_USERNAME=
AUTOUPDATES_MYORACLESUPPORT_PASSWORD=
修改dbca.rsp
/data/app/oracle/etc目录下
grep -v "^#" dbca.rsp |grep -v "^$"
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "sysdba"
SYSTEMPASSWORD = "sysdba"
SYSMANPASSWORD = "sysdba"
DBSNMPPASSWORD = "sysdba"
CHARACTERSET = "ZHS16GBK"
TEMPLATENAME = "General_Purpose.dbc"
[createTemplateFromDB]
SOURCEDB = "myhost:1521:orcl"
SYSDBAUSERNAME = "system"
TEMPLATENAME = "My Copy TEMPLATE"
[createCloneTemplate]
SOURCEDB = "orcl"
TEMPLATENAME = "My Clone TEMPLATE"
[DELETEDATABASE]
SOURCEDB = "orcl"
[generateScripts]
TEMPLATENAME = "New Database"
GDBNAME = "orcl11.us.oracle.com"
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = "orcl"
NODELIST=
SYSDBAUSERNAME = "sys"
[DELETEINSTANCE]
DB_UNIQUE_NAME = "orcl"
INSTANCENAME = "orcl"
SYSDBAUSERNAME = "sys"
开始安装
切换到 Oracle 用户
首先,确保以 oracle 用户身份登录。你可以使用 su 命令切换到 oracle 用户:
su - oracle
安装Oracle软件
cd /data/app/oracle/app/database
./runInstaller -silent -force -responseFile /data/app/oracle/etc/db_install.rsp -ignorePrereq

它不会直接回到命令行,需要按下回车
执行扩展脚本
回到 root用户
/data/app/oracle/app/oraInventory/orainstRoot.sh
/data/app/oracle/app/product/11.2.0/root.sh

配置监听
切换到 Oracle 用户
首先,确保以 oracle 用户身份登录。你可以使用 su 命令切换到 oracle 用户:
su - oracle
配置 Oracle Listener
在安装并配置 Oracle 数据库时,listener.ora 文件用于定义 Oracle Listener 的配置。Oracle Listener 是一个重要的组件,它允许客户端通过网络访问数据库实例。以下是如何配置和启动 Oracle Listener 的步骤:
- 配置
listener.ora
Oracle Listener 配置文件 listener.ora 通常位于 $ORACLE_HOME/network/admin 目录下。你可以编辑该文件来配置 Listener 的详细参数。
以下是一个配置示例,位于 /data/app/oracle/app/product/11.2.0/network/admin/samples/listener.ora:
# listener.ora Network Configuration File: /data/app/oracle/app/product/11.2.0/network/admin/samples/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER =(SID_LIST =(SID_DESC =(GLOBAL_DBNAME = orcl)(ORACLE_HOME = /data/app/oracle/app/product/11.2.0)(SID_NAME = orcl)))
LISTENER =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = $(/sbin/ip a|grep "inet "|grep -v 127|awk -F'[ /]' '{print $6}'))(PORT = 1521)))
ADR_BASE_LISTENER = /data/app/oracle
Listener 配置了:
SID_LIST_LISTENER:定义了 Oracle 数据库实例的 SID(System Identifier)以及数据库名称orcl。LISTENER:定义了监听协议、主机地址和端口号。HOST配置使用了动态命令来获取服务器的 IP 地址(非127.0.0.1)。ADR_BASE_LISTENER:配置了诊断日志的存储位置。
- 启动 Listener
配置完 listener.ora 后,可以使用 lsnrctl 命令来启动 Oracle Listener:
lsnrctl start
启动成功后,会显示如下信息:
LSNRCTL for Linux: Version 11.2.0.4.0 - Production on 25-FEB-2025 19:03:23
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Starting /data/app/oracle/app/product/11.2.0/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Log messages written to /data/app/oracle/app/diag/tnslsnr/db/listener/alert/log.xml
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db)(PORT=1521)))
- 检查 Listener 状态
启动 Listener 后,可以使用以下命令检查其状态:
lsnrctl status
输出将类似于:
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.4.0 - Production
Start Date 25-FEB-2025 19:03:23
Uptime 0 days 0 hr. 0 min. 12 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Log File /data/app/oracle/app/diag/tnslsnr/db/listener/alert/log.xml
Listening Endpoints Summary...(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db)(PORT=1521)))
The listener supports no services
- Listening Endpoints Summary 显示了监听的地址和端口。
- The listener supports no services 表示当前 Listener 尚未注册任何数据库服务。这个问题可以通过配置数据库服务或启动数据库实例来解决。

创建oracle实例以及创建新用户
切换到 Oracle 用户
首先,确保以 oracle 用户身份登录。你可以使用 su 命令切换到 oracle 用户:
su - oracle
创建实例
cd /data/app/oracle/app/product/11.2.0/bin/
./dbca -silent -responseFile /data/app/oracle/etc/dbca.rsp
## 创建test用户
- 登录到 Oracle 数据库
首先,以 sysdba 身份登录到 Oracle 数据库:
sqlplus / as sysdba
- 创建新用户
使用以下 SQL 命令创建一个名为 test 的新用户,并为其设置密码 123456:
create user test identified by 123456;
- 授予权限
接下来,授予新用户 test 以下权限:
connect:允许用户连接到数据库resource:允许用户创建和管理资源(如表、视图、存储过程等)dba:授予数据库管理员权限,允许执行所有管理任务
授予权限的 SQL 命令如下:
grant connect, resource, dba to test;
- 撤销权限
如果以后需要撤销某些权限,可以使用 revoke 命令。例如,要撤销 test 用户的 connect、resource 和 dba 权限,可以使用以下命令:
revoke connect, resource, dba from test;
- 退出 SQL*Plus
完成操作后,可以退出 SQL*Plus:
exit


开机自启
切换到root用户
/etc/oratab 修改文件将N改为Y
orcl:/data/app/oracle/app/product/11.2.0:Y
配置/etc/systemd/system/oracle.service
[Unit]
Description=Oracle Database 11g Startup/Shutdown Service
After=syslog.target network.target[Service]
LimitMEMLOCK=infinity
LimitNOFILE=65535
Type=oneshot
RemainAfterExit=yes
User=oracle
Environment="ORACLE_HOME=/data/app/oracle/app/product/11.2.0"
ExecStart=/data/app/oracle/app/product/11.2.0/bin/dbstart $ORACLE_HOME >> 2>&1 &
ExecStop=/data/app/oracle/app/product/11.2.0/bin/dbshut $ORACLE_HOME 2>&1 &[Install]
WantedBy=multi-user.target
systemctl start oracle
systemctl enable oracle
其他
在 Oracle 数据库中,常见的配置调整包括修改最大连接数、禁用回收站功能、关闭审计功能等。以下是如何执行这些操作的示例。
- 修改最大连接数
最大连接数决定了 Oracle 数据库可以同时处理的最大进程数。要修改此值,可以使用以下命令:
SQL> show parameter processes;
这将显示当前的 processes 参数。接下来,执行以下命令修改最大连接数(例如,将其设置为 2000):
SQL> alter system set processes=2000 scope = spfile;
scope = spfile:表示更改将生效于数据库的初始化参数文件(spfile),并将在下一次数据库重启时生效。
- 禁用回收站功能
Oracle 数据库的回收站功能类似于 Windows 操作系统中的回收站,它允许用户恢复删除的数据表。根据需求,你可以选择是否禁用回收站。要查看回收站的状态:
SQL> show parameter recyclebin;
要禁用回收站功能,可以执行以下命令:
SQL> alter system set recyclebin=off scope=spfile;
scope=spfile:表示更改会在下一次数据库重启时生效。
. 关闭审计功能
审计功能用于记录用户对数据库的操作,以便后续审查。根据需求,你可以选择关闭审计功能。首先,查看当前的审计设置:
SQL> show parameter audit;
然后,执行以下命令关闭审计功能:
SQL> alter system set audit_trail=NONE scope=spfile;
audit_trail=NONE:表示禁用审计功能。
- 查看内存参数设置
要查看 Oracle 数据库的内存参数设置,可以使用以下命令:
-
查看 SGA(系统全局区)参数:
SQL> show parameter sga; -
查看 PGA(程序全局区)参数:
SQL> show parameter pga; -
查看所有内存相关参数:
SQL> show parameter memory;
这些命令可以帮助你查看数据库的内存分配情况,方便进行性能调优。
总结
Oracle 数据库的部署过程涉及多方面的配置和调优。合理的安装、配置和优化能够确保数据库高效、稳定地运行。通过本博文中的步骤,你可以从安装 Oracle 数据库到配置数据库实例、管理用户权限、优化系统设置,最终实现一个可靠、高效的数据库系统。
部署 Oracle 数据库是一个需要细致操作和持续监控的过程,尤其在生产环境中。通过本篇博文的学习,希望能帮助你更好地理解并掌握 Oracle 数据库部署的各项技术,提升系统的稳定性、性能与安全性。
相关文章:
在 CentOS 7.9上部署 Oracle 11.2.0.4.0 数据库
目录 在 CentOS 7.9上部署 Oracle 11.2.0.4.0 数据库引言安装常见问题vim粘贴问题 环境情况环境信息安装包下载 初始环境准备关闭 SELinux关闭 firewalld 安装前初始化工作配置主机名安装依赖优化内核参数限制 Oracle 用户的 Shell 权限配置 PAM 模块配置swap创建用户组与用户,…...
idea里的插件spring boot helper 如何使用,有哪些强大的功能,该如何去习惯性的运用这些功能
文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...
Docker 搭建 Redis 数据库
Docker 搭建 Redis 数据库 前言一、准备工作二、创建 Redis 容器的目录结构三、启动 Redis 容器1. 通过 redis.conf 配置文件设置密码2. 通过 Docker 命令中的 requirepass 参数设置密码 四、Host 网络模式与 Port 映射模式五、检查 Redis 容器状态六、访问 Redis 服务总结 前言…...
JAVAweb之过滤器,监听器
文章目录 过滤器认识生命周期FilterConfigFilterChain过滤器执行顺序应用场景代码 监听器认识ServletContextListenerHttpSessionListenerServletRequestListener代码 过滤器 认识 Java web三大组件之一,与Servlet相似。过滤器是用来拦截请求的,而非处…...
计算机毕业设计SpringBoot+Vue.js足球青训俱乐部管理系统(源码+文档+PPT+讲解)
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
基于 DeepSeek LLM 本地知识库搭建开源方案(AnythingLLM、Cherry、Ragflow、Dify)认知
写在前面 博文内容涉及 基于 Deepseek LLM 的本地知识库搭建使用 ollama 部署 Deepseek-R1 LLM知识库能力通过 Ragflow、Dify 、AnythingLLM、Cherry 提供理解不足小伙伴帮忙指正 😃,生活加油 我站在人潮中央,思考这日日重复的生活。我突然想,…...
QSplashScreen --软件启动前的交互
目录 QSplashScreen 类介绍 使用方式 项目中使用 THPrinterSplashScreen头文件 THPrinterSplashScreen实现代码 使用代码 使用效果 QSplashScreen 类介绍 QSplashScreen 是 Qt 中的一个类,用于显示启动画面。它通常在应用程序启动时显示,以向用户显…...
「软件设计模式」责任链模式(Chain of Responsibility)
深入解析责任链模式:用C打造灵活的请求处理链 引言:当审批流程遇上设计模式 在软件系统中,我们经常会遇到这样的场景:一个请求需要经过多个处理节点的判断,每个节点都有权决定是否处理或传递请求。就像企业的请假审批…...
蓝桥杯嵌入式客观题以及解释
第十一届省赛(大学组) 1.稳压二极管时利用PN节的反向击穿特性制作而成 2.STM32嵌套向量终端控制器NVIC具有可编程的优先等级 16 个 3.一个功能简单但是需要频繁调用的函数,比较适用内联函数 4.模拟/数字转换器的分辨率可以通过输出二进制…...
你对WebAssembly的看法是什么?
WebAssembly(Wasm)是一种新兴的技术,旨在通过提供一种新的低级字节码格式来提高 Web 应用程序的性能和效率。它与 JavaScript 互补,使得开发者可以将其他编程语言(如 C、C、Rust 等)编译为高效的字节码&…...
Qt在Linux嵌入式开发过程中复杂界面滑动时卡顿掉帧问题分析及解决方案
Qt在Linux嵌入式设备开发过程中,由于配置较低,加上没有GPU,我们有时候会遇到有些组件比较多的复杂界面,在滑动时会出现掉帧或卡顿的问题。要讲明白这个问题还得从CPU和GPU的分工说起。 一、硬件层面核心问题根源剖析 CPU&#x…...
vscode 版本
vscode官网 Visual Studio Code - Code Editing. Redefined 但是官网只提供最新 在之前的版本就要去github找了 https://github.com/microsoft/vscode/releases 获取旧版本vscode安装包的方法_vscode 老版本-CSDN博客...
low rank decomposition如何用于矩阵的分解
1. 什么是矩阵分解和低秩分解 矩阵分解是将一个矩阵表示为若干结构更简单或具有特定性质的矩阵的组合或乘积的过程。低秩分解(Low Rank Decomposition)是其中一种方法,旨在将原矩阵近似为两个或多个秩较低的矩阵的乘积,从而降低复…...
C# string转unicode字符
在 C# 中,将字符串转换为 Unicode 字符(即每个字符的 Unicode 码点)可以通过遍历字符串中的每个字符并获取其 Unicode 值来实现。Unicode 值是一个整数,表示字符在 Unicode 标准中的唯一编号。 以下是实现方法: 1. 获…...
51单片机-串口通信编程
串行口工作之前,应对其进行初始化,主要是设置产生波特率的定时器1、串行口控制盒中断控制。具体步骤如下: 确定T1的工作方式(编程TMOD寄存器)计算T1的初值,装载TH1\TL1启动T1(编程TCON中的TR1位…...
Fisher信息矩阵与Hessian矩阵:区别与联系全解析
Fisher信息矩阵与Hessian矩阵:区别与联系全解析 在统计学和机器学习中,Fisher信息矩阵(FIM)和Hessian矩阵是两个经常出现的概念,它们都与“二阶信息”有关,常用来描述函数的曲率或参数的敏感性。你可能听说…...
有哪些开源大数据处理项目使用了大模型
以下是一些使用了大模型的开源大数据处理项目: 1. **RedPajama**:这是一个开源项目,使用了LLM大语言模型数据处理组件,对GitHub代码数据进行清洗和处理。具体流程包括数据清洗、过滤低质量样本、识别和删除重复样本等步骤。 2. …...
ubuntu离线安装Ollama并部署Llama3.1 70B INT4
文章目录 1.下载Ollama2. 下载安装Ollama的安装命令文件install.sh3.安装并验证Ollama4.下载所需要的大模型文件4.1 加载.GGUF文件(推荐、更容易)4.2 加载.Safetensors文件(不建议使用) 5.配置大模型文件 参考: 1、 如…...
机器学习数学通关指南——泰勒公式
前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 一句话总结 泰勒公式是用多…...
目标检测tricks
A. Stochastic Weight Averaging (SWA) 1. 基本思想 SWA 的核心思想是通过对训练过程中不同时间点的模型参数进行加权平均,从而获得一个更好的模型。具体来说,SWA 在训练过程的后期阶段对多个不同的模型快照(snapshots)进行平均…...
JNA基础使用,调用C++返回结构体
C端 test.h文件 #pragma oncestruct RespInfo {char* path;char* content;int statusCode; };extern "C" { DLL_EXPORT void readInfo(char* path, RespInfo* respInfo); }test.cpp文件 #include "test.h"void readInfo(char* path, RespInfo* respInfo…...
【算法】793. 高精度乘法
题目 793. 高精度乘法 思路 把b当作一个整体进行乘法,用A的每一位和b相乘,还要加上判断001的情况,把前面的0删掉。 代码 #include<iostream> #include<vector> using namespace std; vector<int>mul(vector<int>…...
解锁养生密码,拥抱健康生活
在快节奏的现代生活中,养生不再是一种选择,而是我们保持活力、提升生活质量的关键。它不是什么高深莫测的学问,而是一系列融入日常的简单习惯,每一个习惯都在为我们的健康加分。 早晨,当第一缕阳光洒进窗户,…...
OpenCV(6):图像边缘检测
图像边缘检测是计算机视觉和图像处理中的一项基本任务,它用于识别图像中亮度变化明显的区域,这些区域通常对应于物体的边界。是 OpenCV 中常用的边缘检测函数及其说明: 函数算法说明适用场景cv2.Canny()Canny 边缘检测多阶段算法,检测效果较…...
spark的一些指令
一,复制和移动 1、复制文件 格式:cp 源文件 目标文件 示例:把file1.txt 复制一份得到file2.txt 。那么对应的命令就是:cp file1.txt file2.txt 2、复制目录 格式:cp -r 源文件 目标文件夹 示例:把目…...
OpenHarmony全球化子系统
OpenHarmony全球化子系统 简介系统架构目录相关仓 简介 当OpenHarmony系统/应用在全球不同区域使用时,系统/应用需要满足不同市场用户关于语言、文化习俗的需求。全球化子系统提供支持多语言、多文化的能力,包括: 资源管理能力 根据设备类…...
创建私人阿里云docker镜像仓库
步骤1、登录阿里云 阿里云创建私人镜像仓库地址:容器镜像服务 步骤2、创建个人实例 步骤:【实例列表】 》【创建个人实例】 》【设置Registry登录密码】 步骤3、创建命名空间 步骤:【个人实例】》【命名空间】》【创建命名空间】 注意&am…...
【LLM】本地部署LLM大语言模型+可视化交互聊天,附常见本地部署硬件要求(以Ollama+OpenWebUI部署DeepSeekR1为例)
【LLM】本地部署LLM大语言模型可视化交互聊天,附常见本地部署硬件要求(以OllamaOpenWebUI部署DeepSeekR1为例) 文章目录 1、本地部署LLM(以Ollama为例)2、本地LLM交互界面(以OpenWebUI为例)3、本…...
【考研】复试相关上机题目
文章目录 22机试回忆版1、判断燃气费描述输入格式输出格式输入样例输出样例 C o d e Code Code 2、统计闰年数量描述输入格式输出格式输入样例输出样例 C o d e Code Code 3、打印图形描述输入格式输出格式 C o d e Code Code 4、密文数据描述输入格式输出格式输入样例输出样例…...
vue3除了pinia/vuex的其他通讯方式还有那些
1. Props 和 Events Props:父组件通过 props 向子组件传递数据。 Events:子组件通过 $emit 向父组件发送事件。 <!-- ParentComponent.vue --> <template><ChildComponent :message"parentMessage" update-message"updat…...
