如何在Linux系统中创建Oracle实例?

在Linux操作系统上创建Oracle实例是一个涉及环境准备、软件安装、实例配置等多步骤的过程,需要严格遵循Oracle官方文档和最佳实践,以下以CentOS 7系统为例,详细说明从环境准备到实例创建的完整流程。

如何建oracle实例linux

环境准备

在安装Oracle数据库软件前,需确保操作系统满足硬件和软件要求,并进行必要的系统配置。

硬件要求

Oracle数据库对系统资源有明确要求,建议配置如下:

  • CPU:至少2核(推荐4核及以上)
  • 内存:至少4GB(推荐8GB及以上,需预留1GB给操作系统)
  • 磁盘空间:至少20GB(建议使用独立磁盘挂载,如/oradata用于数据文件,/u01用于软件安装)

系统依赖安装

Oracle数据库运行需要一系列系统依赖包,通过yum命令安装:

yum install -y 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

内核参数调整

编辑/etc/sysctl.conf文件,添加以下参数以优化系统性能:

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmax = 4398046511104
kernel.shmall = 4194304
kernel.panic_on_oops = 1
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使参数生效。

用户和组创建

创建oinstall(安装组)和dba(管理组)用户,并设置oracle用户:

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle  # 设置密码

目录规划与权限设置

创建Oracle软件安装目录和数据文件目录,并设置权限:

mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
mkdir -p /oradata
chown -R oracle:oinstall /u01 /oradata
chmod -R 775 /u01 /oradata

环境变量配置

以oracle用户登录,编辑.bash_profile文件,添加以下环境变量:

如何建oracle实例linux

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/dbhome_1
export ORACLE_SID=orcl  # 实例名,可自定义
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib

执行source .bash_profile使配置生效。

Oracle数据库软件安装

下载Oracle Database安装文件(如linuxx64_19c_database.zip),并解压到/tmp目录,以oracle用户执行安装。

图形界面安装(推荐)

cd /tmp/database
./runInstaller

安装过程中,按向导操作:

  • 选择“创建和配置数据库”→“高级安装”
  • 选择“企业版”语言选择“简体中文”
  • 指定安装目录(ORACLE_HOME已配置环境变量)
  • 创建数据库前,选择“仅安装数据库软件”
  • 完成安装后,以root用户执行$ORACLE_HOME/root.sh脚本。

静默安装(可选)

若需无界面安装,创建响应文件db_install.rsp(参考Oracle官方模板),执行:

./runInstaller -silent -responseFile /tmp/db_install.rsp -ignorePrereq

创建数据库实例

使用DBCA(Database Configuration Assistant)工具创建实例,支持图形和静默方式。

图形界面创建

dbca

按向导操作:

  • 选择“创建数据库”→“高级配置”
  • 设置数据库标识:全局数据库名(如orcl.example.com)、SID(与ORACLE_SID一致)
  • 选择“事务处理”模板
  • 配置内存:建议分配总内存的40%-60%(如8GB内存分配4GB SGA)
  • 配置存储:数据文件路径设为/oradata/orcl/,选择“文件系统存储”
  • 设置初始化参数:字符集选择“AL32UTF8”,开启“归档模式”(可选)
  • 创建管理账户:设置SYS、SYSTEM等用户密码
  • 完成创建,DBCA将自动启动数据库实例。

静默创建(可选)

创建响应文件dbca.rsp,关键参数如下:

GDBNAME = "orcl.example.com"
SID = "orcl"
SYSPASSWORD = "YourPassword"
SYSTEMPASSWORD = "YourPassword"
SYSMANPASSWORD = "YourPassword"
DBSNMPPASSWORD = "YourPassword"
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "4096"  # 单位MB
DATAFILEDEST = "/oradata"
RECOVERYAREADEST = "/oradata"

执行静默创建命令:

如何建oracle实例linux

dbca -silent -responseFile /tmp/dbca.rsp

初始化参数配置示例

参数名 推荐值 说明
SGA_TARGET 4096M 系统全局区域大小
PGA_AGGREGATE_TARGET 1024M 程序全局区域大小
DB_BLOCK_SIZE 8192 数据块大小(根据数据类型调整)
PROCESSES 300 最大进程数
OPEN_CURSORS 1000 最大打开游标数

监听器配置与验证

监听器配置

Oracle安装后会默认创建监听器(默认端口1521),使用NETCA检查配置:

netca

选择“配置、添加、监听器”,按向导完成配置,启动监听器:

lsnrctl start

实例验证

使用sqlplus连接数据库,验证实例状态:

sqlplus / as sysdba
SELECT status FROM v$instance;  -- 应返回"OPEN"
SELECT name FROM v$database;    -- 应返回数据库名

常见问题处理

若启动实例时报错“ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务”,需检查:

  • 监听器状态:lsnrctl status,确认服务是否注册(应显示”ORCL = (DESCRIPTION = …)”)
  • tnsnames.ora配置:确认客户端连接的SERVICE_NAME与数据库名一致。

相关问答FAQs

Q1:创建Oracle实例时报错“ORA-01565: error in identifying file ‘/oradata/orcl/system01.dbf’”,如何解决?
A:该错误通常因数据文件路径不存在或权限不足导致,检查/oradata/orcl/目录是否存在,以及oracle用户是否有读写权限:chown -R oracle:oinstall /oradata;若目录不存在,需手动创建并赋权。

Q2:如何修改Oracle实例的内存参数(如SGA_TARGET)?
A:动态修改(无需重启):

ALTER SYSTEM SET SGA_TARGET=6144M SCOPE=MEMORY;  -- 临时生效,重启后失效
ALTER SYSTEM SET SGA_TARGET=6144M SCOPE=SPFILE; -- 持久化,需重启数据库生效

若需永久生效,需修改SPFILE(服务器参数文件),重启数据库后新参数才会应用。

原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/23788.html

(0)
酷番叔酷番叔
上一篇 2小时前
下一篇 1小时前

相关推荐

  • 如何编译一个属于自己的Linux操作系统?详细步骤与方法

    编译一个属于自己的Linux系统是一个复杂但极具价值的过程,它不仅能让你深入理解Linux系统的底层结构,还能根据需求定制专属功能,以下是详细的步骤指南,涵盖从环境准备到系统优化的全流程,准备工作:工具与环境编译Linux系统需要稳定的硬件环境和必要的工具支持,确保宿主机系统(推荐Ubuntu 22.04或De……

    2025年8月27日
    1600
  • Linux系统32位还是64位?速查

    在 Linux 系统中,确认操作系统位数(32 位或 64 位)对软件安装、驱动兼容性和性能优化至关重要,以下是 5 种权威方法,适用于所有主流 Linux 发行版(Ubuntu、CentOS、Debian 等),无需专业知识即可操作:🔍 方法 1:使用 uname 命令(推荐)步骤:打开终端(快捷键 Ctrl……

    2025年8月8日
    1800
  • 如何查看Linux系统是32位还是64位?

    在Linux系统中,了解当前系统是32位还是64位至关重要,这不仅关系到软件的安装与兼容性,还影响系统性能和硬件资源的利用效率,无论是开发者选择编译参数,还是普通用户安装应用程序,都需要准确判断系统架构,本文将详细介绍多种查看Linux系统32位或64位的方法,涵盖命令行工具、图形界面及系统文件读取等场景,帮助……

    2025年8月27日
    1600
  • 如何在Linux显示文件行号

    使用 cat 命令显示行号cat -n filename.txt效果:在每行前添加行号(包括空格行),示例输出: 1 Linux is powerful 2 This is line two 3 4 Line four after empty line适用场景:快速预览小文件,使用 nl 命令(专业行号工具)n……

    2025年6月21日
    3900
  • linux中如何查看目录

    在Linux操作系统中,目录是文件系统的基础组织结构,掌握查看目录的方法是高效管理文件的前提,Linux提供了多种命令和工具,帮助用户从不同维度查看目录内容、结构及属性,满足日常运维、开发及管理需求,本文将详细介绍常用的目录查看命令,包括其语法、选项、实际应用场景及注意事项,并通过表格对比不同命令的适用情况,最……

    2025年9月9日
    700

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信