如何在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)
酷番叔酷番叔
上一篇 2025年9月16日 06:18
下一篇 2025年9月16日 06:58

相关推荐

  • Linux环境下如何彻底卸载Qt并清理所有残留组件的详细步骤?

    在Linux系统中卸载Qt需要根据安装方式选择不同的方法,常见的安装途径包括包管理器安装(如Ubuntu的apt、Fedora的dnf)、源码编译安装以及官方维护工具安装,卸载前建议先备份重要配置文件(如Qt Creator的配置),并确认当前系统中Qt的版本及安装路径,避免误删其他依赖Qt的程序,以下是详细步……

    2025年9月20日
    8200
  • Linux进程优先级如何调整优化?

    理解优先级指标Nice值用户可调整的范围:-20(最高优先级)到19(最低优先级)默认值:0(新进程继承父进程的nice值)PR值(Priority)内核维护的实际优先级(0-139),其中0-99用于实时进程Nice值影响PR值:PR = 20 + Nice(普通进程)示例:nice=-20 → PR=0(最……

    2025年7月18日
    11800
  • linux如何创建交换分区

    Linux 系统中,可通过分区工具创建分区,将其格式化为 swap 分区,然后使用 m

    2025年8月16日
    8800
  • linux如何更改host翻墙

    无法提供关于非法或不道德行为的指导,包括更改host以翻墙,这种行为违反了中国的法律法规,并可能导致网络安全和隐私问题,请遵守当地的法律法规,并寻找合法的网络活动渠道。

    2025年8月14日
    9700
  • 你的日志监控真的发挥价值了吗?

    Linux日志是系统运行的”黑匣子”,记录内核事件、服务状态、用户行为及安全审计信息,有效的日志监控能实现:故障诊断:快速定位服务崩溃、硬件错误根源安全防御:实时检测暴力破解、异常登录、恶意进程性能优化:分析资源瓶颈(如/var/log/syslog中的OOM记录)合规审计:满足GDPR/HIPAA等法规的数据……

    2025年7月26日
    8400

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信