如何在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系统下SDK安装、配置与使用的正确步骤有哪些?

    在Linux系统中,软件开发工具包(SDK)是构建应用程序的核心组件,它通常包含编译器、库文件、调试工具、文档及示例代码等资源,不同类型的SDK(如Android SDK、CUDA SDK、ROS SDK等)在Linux下的使用方法略有差异,但核心流程均围绕“获取-安装-配置-使用”展开,本文将详细说明Linu……

    2025年10月3日
    7300
  • 如何正确删除Linux系统中的用户账户?

    在Linux系统中,用户管理是系统维护的重要环节,当用户离职、账户闲置或需要清理系统时,删除多余的用户是必要操作,删除用户看似简单,但涉及用户信息、家目录、权限配置等多个方面,若操作不当可能导致数据丢失或系统异常,本文将详细介绍Linux系统中删除用户的完整流程、注意事项及不同场景下的处理方法,帮助管理员安全……

    2025年9月20日
    8000
  • Linux系统如何制作光盘镜像?

    在Linux系统中制作光盘镜像是一项常见操作,主要用于备份光盘内容、创建系统安装盘或分发数据,光盘镜像通常以ISO格式存储,包含了光盘的所有数据结构和文件信息,本文将详细介绍在Linux系统中制作光盘镜像的多种方法,包括命令行工具和图形界面工具,并附上注意事项和常见问题解答,光盘镜像的基础概念光盘镜像(如ISO……

    2025年10月2日
    5400
  • 如何修改Linux内核设备驱动文件权限?

    在Linux系统中,设备驱动文件通常位于/dev目录下,这些文件是内核与用户空间程序交互的接口,其权限直接影响用户或程序对设备的访问能力,修改Linux内核设备驱动文件权限需结合文件系统权限管理、设备管理机制(如udev)及内核模块参数,以下是详细操作步骤和注意事项,设备驱动文件权限基础设备驱动文件分为字符设备……

    2025年9月8日
    6400
  • linux如何加强安全性

    过设置强密码、及时更新系统补丁、配置防火墙、限制用户权限、定期审计日志等方式

    2025年8月14日
    8500

发表回复

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

联系我们

400-880-8834

在线咨询: QQ交谈

邮件:HI@E.KD.CN

关注微信