Oracle 数据库下载与安装完整教程 2026:免费版与企业版区别与备份恢复实战

Oracle 数据库下载与安装完整教程:详解免费版(Database Free)、SE2、EE 三大版本区别,手把手在 Linux 上安装 19c LTS 数据库,含表空间规划、业务用户权限精细授权、RMAN 物理备份、Data Pump 逻辑备份与跨实例迁移完整实战。

📞 IT 峰哥团队 · 企业信息化落地服务

IT 峰哥深耕企业 IT 基础设施领域多年,专注为各类型企业提供网络安全规划、设备选型、上网行为管理、超融合部署、文档加密、考勤门禁、视频监控等信息化项目整包落地服务。从方案设计、设备选型、上门实施到后期运维,全程跟进。

承接规模:小微企业 / 成长型企业 / 中大型企业,均提供定制化方案
服务范围:防火墙、上网行为、AP+AC、域控、NAS、超融合、文档加密、人脸考勤、视频监控、机房动环等
合作流程:需求沟通 → 方案设计 → 设备选型 → 落地实施 → 持续运维

📱 17712677007(微信同号)

📞 24 小时全天候响应 · 紧急项目优先安排

Oracle 数据库下载与安装完整教程

Oracle 数据库是企业级关系型数据库的事实标准,金融、电信、政府、能源、制造业的核心系统绝大多数跑在 Oracle 上。对于初次接触的企业 IT 运维来说,”下载哪个版本?企业版到底免不免费?Oracle 数据库的安装到底有哪些坑?”是绕不开的三个问题。本文按”版本选型 → 下载 → 安装 → 表空间与用户管理 → 备份恢复 → 新建数据库实例 → 用户权限配置”七个实战步骤,全程以 Oracle Database 19c(长期支持版) 为例在 Linux (CentOS / RHEL / Rocky) 上演示,把企业 IT 团队最关心的关键链路说清楚。

一、Oracle 各版本到底有什么区别?免费吗?

Oracle 数据库版本体系一直让新人头晕。光是”Enterprise Edition / Standard Edition / Express Edition”就够分清,更何况近年又多了”Database Free”和”Autonomous”。下面把这几类的核心差异点直接说清楚。

版本系列 是否收费 单实例内存上限 是否可用于生产 适用场景
Database Free (XE) 完全免费 2 GB 内存 + 12 GB 用户数据 + 1 个实例 ✅ 可以(中小项目) 学习、自建小型业务系统(限制内可生产用)
Standard Edition 2 (SE2) 付费(按 socket 计价) 无显式内存上限 ✅ 商用 单机/SMB 业务,最多 2 路 socket
Enterprise Edition (EE) 付费(按 socket 或用户数) 无显式内存上限 ✅ 商用(绝大多数企业生产) RAC、Data Guard、分区、Advanced Compression 等高级特性
Personal Edition 付费 单用户 仅个人开发 单机桌面用,研发中心个人 license

1.1 「免费企业版」这个说法准确吗?

准确说法:Oracle 没有”免费的 Enterprise Edition”。“Oracle 数据库免费下载”这句话在 Oracle 官方语义里只指向 Oracle Database Free(前身是 Express Edition,21c 起改名 Database Free)以及 评估版(Trial / Evaluation)。其中 Database Free 是 GPL 风格的免费 license,但有 2GB 内存 / 12GB 用户数据 / 单实例硬限制;评估版功能等同 EE,但 180 天后停用、不能用于生产。

企业生产用 Oracle,基本上只有两条路径:花钱买 SE2 / EE,或用 Database Free 在限制内运营。如果是 Oracle 云用户,可以使用 Autonomous Database,但那是云服务不是本地下载安装的产品。

1.2 长期支持版本(LTS)怎么选?

Oracle 目前主流活跃版本包括 19c(长期支持至 2027 年,错误修复延保可至 2030 年)和 21c(创新版,仅短期支持,到 2026 年底)。新部署建议首选 19c LTS:①各云厂商的 RDS、Exadata 默认版本;②官方维护期最长;③生态适配(驱动、Data Guard、GoldenGate)最成熟。本文所有安装步骤均以 19c 为例。

二、下载:去哪下?下哪个文件?

2.1 Oracle 官方下载入口

Oracle 所有正式发布版都从 Oracle 软件交付云(edelivery.oracle.com)OTN(otn.oracle.com) 提供下载,必须注册 Oracle 账户。Database Free 走 container-registry.oracle.com(容器镜像),也可到 OTN 拿 RPM 安装包。

下载清单(以 19c 为例)

  • Linux x86-64 主流生产LINUX.X64_193000_db_home.zip(约 2.8 GB),需要 Oracle 账户登录
  • Database Free 21c RPMoracle-database-free-21c-1.0-1.ol8.x86_64.rpm,免登录
  • 对应 OPatch/补丁:通过 MOS(support.oracle.com)下载 p6880880_190000_LINUX.zip

2.2 Linux 服务器 wget 直接拉

登录 Oracle 账户后,右键 “Download” 复制链接,在 Linux 服务器用 wget 即可,例如:

# 登录后从 OTN 页面复制 cookie + 直接拉(需要 Oracle 账户)
wget --user='oracle_account@example.com' --ask-password 
  https://download.oracle.com/otn/linux/oracle19c/190000/LINUX.X64_193000_db_home.zip

备用:用 curl + 浏览器 cookies 文件 也是同样思路。下载到 /opt/oracle/stage/,解压给 2.8 GB 留够 10 GB 以上空闲

三、安装前的环境准备:内核、依赖、用户

Oracle 19c 安装对 Linux 系统有明确基线要求,跳过这一步直接 runInstaller 必然报依赖错误。

3.1 系统与硬件基线

  • 操作系统:Oracle Linux 7.x / 8.x、RHEL 7.9 / 8.4 及以上、Rocky Linux 8.x(本文以 OL 8 为例)
  • 内存:Database Free 至少 2 GB;SE2/EE 生产建议 8 GB 起;SGA/PGA 占比按业务量调
  • 磁盘:Oracle 软件目录 /opt ≥ 12 GB;数据目录 /u01 ≥ 50 GB 起步
  • Swap:物理内存 ≤ 8 GB 时,swap = 物理内存;> 8 GB 时,swap ≥ 物理内存的 25%
  • 关闭 SELinux 或设为 permissive(生产建议配置 SELinux 策略,不要简单 setenforce 0
  • 关闭防火墙或放行 1521/5500/3938 端口(详见下节 4.3)

3.2 一键装依赖

以 Oracle Linux 8 为例:

dnf install -y bc binutils compat-libcap1 compat-libstdc++-33 
  elfutils-libelf elfutils-libelf-devel fontconfig-devel glibc 
  glibc-devel ksh libaio libaio-devel libX11 libXau libXi libXtst 
  libxcb libgcc libstdc++ libstdc++-devel make smartmontools sysstat 
  unixODBC unixODBC-devel
# 如果是 OL 7 或 RHEL 7,把 dnf 换成 yum
yum install -y compat-libstdc++-*

3.3 创建 oracle 用户与目录

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
groupadd -g 54324 backupdba
groupadd -g 54325 dgdba
groupadd -g 54326 kmdba
groupadd -g 54327 racdba

useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba 
  -d /home/oracle -s /bin/bash oracle

mkdir -p /opt/oracle/product/19c/dbhome_1
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /opt /u01
chmod -R 775 /opt /u01

echo "oracle:YOUR_PASSWORD_HERE" | chpasswd
passwd oracle

3.4 配置内核参数与资源限制

/etc/sysctl.d/99-oracle.conf 写入(按 16 GB 内存基线):

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
fs.aio-max-nr = 1048576

然后 sysctl --system 立即生效。在 /etc/security/limits.d/99-oracle.conf 给 oracle 用户放开资源:

oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc     16384
oracle   hard   nproc     16384
oracle   soft   stack     10240
oracle   hard   stack     32768
oracle   soft   memlock   unlimited
oracle   hard   memlock   unlimited

再配置 /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

四、正式安装 Oracle Database 19c(含补丁)

4.1 解压并启动 runInstaller

# 切 oracle 用户
su - oracle

# 解压安装包到 ORACLE_HOME(不要放在其它目录,OUI 会检测路径一致性)
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME

# 启动图形安装(X11 转发需要 ssh -X,若纯 SSH 终端用 -silent 模式)
cd $ORACLE_HOME
./runInstaller

图形安装按 8 步走:①配置更新选项(默认跳过);②仅安装数据库软件(第一个选项 “Install database software only”,先把软件装好再用 dbca 建库);③单实例数据库;④企业版;⑤保持默认 ORACLE_BASE;⑥保持默认用户组 dba / oper / backupdba / dgdba / kmdba / racdba;⑦先决条件检查失败时按提示补包;⑧执行脚本与完成。

纯 SSH 静默安装(无 GUI 服务器推荐),编辑 $ORACLE_HOME/install/response/db_install.rsp,改关键字段:

oracle.install.option=INSTALL_DB_SWONLY
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory
ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
DECLINE_SECURITY_UPDATES=true

# 执行静默安装
./runInstaller -silent -waitforcompletion -responseFile 
  $ORACLE_HOME/install/response/db_install.rsp

4.2 安装收尾:以 root 执行两个脚本

无论图形或静默安装,最后都会提示 “Execute Configuration Scripts”:

# 安装器会提示两条路径,执行:
sh /u01/app/oraInventory/orainstRoot.sh
sh /opt/oracle/product/19c/dbhome_1/root.sh

4.3 防火墙与端口放行

Oracle 默认监听 1521(SQL*Net)、Enterprise Manager Database Express 5500、监听器 3938。firewalld 放行:

firewall-cmd --permanent --add-port=1521/tcp
firewall-cmd --permanent --add-port=5500/tcp
firewall-cmd --reload
firewall-cmd --list-ports

若是 iptables 直接老命令:

iptables -I INPUT -p tcp --dport 1521 -j ACCEPT
iptables -I INPUT -p tcp --dport 5500 -j ACCEPT
service iptables save

4.4 安装后打补丁(OPatch + RU)

19c 上线前需要打 Release Update(RU)。从 MOS(support.oracle.com)下载 p6880880_190000_LINUX.zip(OPatch 工具)和对应 RU 包(如 p#####_190000_LINUX.zip)。

# 1. 升级 OPatch 工具
mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch.bak
unzip p6880880_190000_LINUX.zip -d $ORACLE_HOME/

# 2. 解压 RU 补丁包
unzip p#####_190000_LINUX.zip

# 3. 应用补丁
cd $ORACLE_HOME
$ORACLE_HOME/OPatch/opatch apply ./#####/

完成后重启数据库监听:lsnrctl reload

五、用 DBCA 新建第一个数据库实例

软件装好了,下一步是用 DBCA(Database Configuration Assistant) 建立第一个可用的数据库。DBCA 把”建库 + 配置监听 + 注册服务”全包了。

5.1 DBCA 图形与静默双模式

图形:dbca;静默用响应文件。生产环境推荐静默 + 模板化:

# 用现有模板复制一份(生产模板 "General Purpose")
cp $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc /home/oracle/custom.dbc

# 静默建库
dbca -silent -createDatabase 
  -templateName General_Purpose.dbc 
  -gdbName ORCLCDB -sid ORCLCDB 
  -characterSet AL32UTF8 
  -nationalCharacterSet AL16UTF16 
  -createAsContainerDatabase true 
  -numberOfPDBs 1 -pdbName ORCLPDB1 
  -pdbAdminPassword 'YourPwd#2026' 
  -sysPassword 'YourSysPwd#2026' 
  -systemPassword 'YourSysPwd#2026' 
  -emConfiguration NONE 
  -datafileDestination /u01/app/oracle/oradata 
  -recoveryAreaDestination /u01/app/oracle/fast_recovery_area 
  -storageType FS 
  -memoryPercentage 40 
  -databaseType OLTP 
  -redoLogFileSize 1024

说明:

  • -gdbName / -sid:全局数据库名 + 实例名,本文用 ORCLCDB
  • -createAsContainerDatabase true -numberOfPDBs 1 -pdbName ORCLPDB1:建容器数据库(CDB)+ 1 个插拔式数据库(PDB),这是 12c 起的标准架构
  • -storageType FS:文件系统存储;ASM 集群场景改 ASM
  • -memoryPercentage 40:内存上限占物理内存 40%,生产 OLTP 类建议 60-75%

5.2 验证安装

# 切 oracle 用户
sqlplus / as sysdba

SQL> SELECT name, open_mode, database_role FROM v$database;
SQL> SELECT instance_name, status FROM v$instance;
SQL> SHOW PDBS;
SQL> ALTER PLUGGABLE DATABASE ORCLPDB1 OPEN;
SQL> ALTER PLUGGABLE DATABASE ORCLPDB1 SAVE STATE;

看到 OPEN_MODE = READ WRITE、CDB 内 PDB 正常打开,说明建库成功。

5.3 配置远程连接

Oracle 默认监听只允许本机登录。需要远程访问,在 $ORACLE_HOME/network/admin/listener.ora 中:

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
    )
  )

# 重启监听
lsnrctl stop
lsnrctl start
lsnrctl status

tnsnames.ora 加客户端连接描述:

ORCLCDB =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = your-server-ip)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = ORCLCDB)
    )
  )

六、表空间与用户权限:让业务表能落库

数据库实例建好了,但此时还没有”业务用户”。企业实践里通常需要建 表空间(业务数据文件存放点) + 用户(应用连接登录身份) + 权限(GRANT 赋予的读写对象) 三件套。

6.1 表空间:分三类创建

  • SYSTEM / SYSAUX:Oracle 自带,存放数据字典,不要存业务数据
  • USERS / EXAMPLE:默认表空间,可删可重建
  • 业务表空间:每个项目单独建一个,便于后期迁移、备份、限速
CREATE TABLESPACE app_data
  DATAFILE '/u01/app/oracle/oradata/ORCLCDB/app_data01.dbf'
  SIZE 5G AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED;

CREATE TABLESPACE app_idx
  DATAFILE '/u01/app/oracle/oradata/ORCLCDB/app_idx01.dbf'
  SIZE 2G AUTOEXTEND ON NEXT 256M MAXSIZE UNLIMITED;

-- 19c 多租户架构下,要在 PDB 里建
ALTER SESSION SET CONTAINER = ORCLPDB1;

CREATE TABLESPACE pdb_app_data
  DATAFILE SIZE 5G AUTOEXTEND ON NEXT 512M MAXSIZE UNLIMITED;

6.2 用户:分角色创建

推荐三个角色分类:

角色 是否日常使用 建议权限 典型用途
SYS / SYSTEM 仅 DBA 应急 SYSDBA / SYSOPER DBA 紧急排障,禁做日常
业务管理用户 应用连接 CONNECT, RESOURCE + 表空间配额 应用服务账户(读自家表、写自家表)
只读分析用户 报表 / BI CONNECT + SELECT 授权 BI、报表、只读备份验证

以业务管理用户为例:

-- 切到业务 PDB
ALTER SESSION SET CONTAINER = ORCLPDB1;

CREATE USER app_user IDENTIFIED BY "StrongPwd#2026"
  DEFAULT TABLESPACE pdb_app_data
  TEMPORARY TABLESPACE temp
  QUOTA UNLIMITED ON pdb_app_data
  QUOTA 512M ON pdb_app_idx
  PROFILE DEFAULT
  ACCOUNT UNLOCK;

GRANT CONNECT, RESOURCE TO app_user;
GRANT CREATE VIEW TO app_user;
GRANT SELECT ANY DICTIONARY TO app_user;

6.3 权限精细化(最小权限原则)

生产场景不能给业务用户 DBA,需要 按表对象精细授权。需要由 SYS 在建表脚本里统一收口:

-- 假设 app_user 是 owner,再给一个只读分析账号
CREATE USER bi_reader IDENTIFIED BY "ReadPwd#2026"
  DEFAULT TABLESPACE pdb_app_data
  TEMPORARY TABLESPACE temp
  QUOTA 0 ON pdb_app_data;
GRANT CONNECT TO bi_reader;

ALTER SESSION SET CONTAINER = ORCLPDB1;
ALTER SESSION SET CURRENT_SCHEMA = app_user;
GRANT SELECT ON orders TO bi_reader;
GRANT SELECT ON order_items TO bi_reader;
GRANT SELECT ON customers TO bi_reader;

-- 创建同义词,方便 BI 直接 SELECT 表名不用加 schema
CREATE OR REPLACE SYNONYM bi_reader.orders FOR app_user.orders;

6.4 用户解锁与口令策略

-- 解锁用户
ALTER USER app_user ACCOUNT UNLOCK;

-- 修改口令策略
ALTER PROFILE DEFAULT LIMIT
  PASSWORD_LIFE_TIME 90
  PASSWORD_REUSE_MAX 10
  PASSWORD_VERIFY_FUNCTION ora12c_verify_function
  FAILED_LOGIN_ATTEMPTS 10
  PASSWORD_LOCK_TIME 1;

-- 改用户密码
ALTER USER app_user IDENTIFIED BY "NewStrongPwd#2026";

七、备份与恢复:RMAN 是核心

Oracle 备份有 物理备份(RMAN)逻辑备份(Data Pump / exp-imp) 两条主线,大多数生产场景建议两条并行。

7.1 RMAN 物理备份(首选)

RMAN(Recovery Manager)做的是数据块级增量备份,能恢复到任意时间点。先连上目标库:

rman TARGET /
# 或远程
rman TARGET sys/Password@ORCLCDB CATALOG rman_user/rman_pwd@RMANDB

# 全量备份(含归档日志)
RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
RMAN> CONFIGURE BACKUP OPTIMIZATION ON;
RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG;
RMAN> LIST BACKUP SUMMARY;
RMAN> REPORT OBSOLETE;
RMAN> DELETE OBSOLETE;

7.2 RMAN 定时计划(Cron + crontab)

# 每天凌晨 2 点跑一次
cat > /home/oracle/rman_full.sh <<'BASH'
#!/bin/bash
export ORACLE_SID=ORCLCDB
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH

$ORACLE_HOME/bin/rman TARGET / <> /home/oracle/rman_full.log 2>&1" 
  >> /var/spool/cron/oracle

7.3 RMAN 恢复实战

假设业务数据库磁盘故障 / 文件丢失,从备份恢复:

# 0. 把数据库关掉,确保归档模式
sqlplus / as sysdba
SQL> SHUTDOWN IMMEDIATE;
SQL> STARTUP MOUNT;
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE OPEN;

# 1. 全库恢复
rman TARGET /
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;

# 2. 单表空间恢复(无需停库)
RMAN> RESTORE TABLESPACE users;
RMAN> RECOVER TABLESPACE users;
SQL> ALTER TABLESPACE users ONLINE;

# 3. 基于时间点恢复(Point-in-Time Recovery, PITR)
RMAN> RUN {
  SET UNTIL TIME "TO_DATE('2026-07-20 14:30:00','YYYY-MM-DD HH24:MI:SS')";
  RESTORE DATABASE;
  RECOVER DATABASE;
  ALTER DATABASE OPEN RESETLOGS;
}

7.4 Data Pump 逻辑备份(导出 / 导入)

Data Pump 是 expdp / impdp,适合迁移单库、迁移表、跨实例同步数据。先建目录对象:

-- 切到 PDB
ALTER SESSION SET CONTAINER = ORCLPDB1;

CREATE OR REPLACE DIRECTORY dpump_dir AS '/u01/app/oracle/dump';
GRANT READ, WRITE ON DIRECTORY dpump_dir TO app_user;

-- 全库导出
expdp system/SysPwd@ORCLCDB 
  DIRECTORY=dpump_dir 
  DUMPFILE=full_db_$(date +%Y%m%d).dmp 
  LOGFILE=expdp_$(date +%Y%m%d).log 
  FULL=Y COMPRESSION=ALL

-- 导入到新实例(同名 schema)
impdp system/SysPwd@TARGETDB 
  DIRECTORY=dpump_dir 
  DUMPFILE=full_db_20260720.dmp 
  LOGFILE=impdp_20260720.log 
  FULL=Y

-- 只导一个 schema(日常很常用)
expdp system/SysPwd@ORCLCDB 
  DIRECTORY=dpump_dir 
  DUMPFILE=app_user_20260720.dmp 
  LOGFILE=expdp_app_user_20260720.log 
  SCHEMAS=app_user

impdp system/SysPwd@TARGETDB 
  DIRECTORY=dpump_dir 
  DUMPFILE=app_user_20260720.dmp 
  LOGFILE=impdp_app_user_20260720.log 
  SCHEMAS=app_user 
  REMAP_SCHEMA=app_user:app_user_new 
  REMAP_TABLESPACE=app_data:pdb_app_data

参数速记:

  • SCHEMAS:导一个用户所有对象(最常用)
  • TABLES:导指定表
  • CONTENT=METADATA_ONLY:只导对象定义,不导数据
  • REMAP_SCHEMA=src:dst:从一个用户迁到另一个
  • REMAP_TABLESPACE:源表空间 → 目标表空间
  • PARALLEL=4:并行度,大库导数据快很多

7.5 旧版 exp/imp 兼容

历史脚本有时仍用 exp imp,但 Oracle 19c 起,exp 已被废弃。新部署全面走 expdp/impdp;老备份迁移需要用 impdp system/.. file=legacy.dmp 重新执行(exp 导出文件 impdp 也能读)。

八、生产部署常见 5 类坑

8.1 中文乱码:环境变量没设对

导入数据后中文全变 ? 或乱码字符,先看客户端字符集,再检查数据库与监听:

sqlplus / as sysdba
SQL> SELECT userenv('language') FROM dual;
SQL> SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';

# 客户端一定要设 NLS_LANG 与数据库一致
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

数据库建好后改字符集非常麻烦,所以建库时就要决定 —— 中文、混合语言用 AL32UTF8;纯英文/西欧 WE8MSWIN1252

8.2 监听器只允许本机连

本地能连、远程连不上 ORA-12541: TNS:no listenerORA-12514。99% 是 listener.oraHOST=localhost、或防火墙没放 1521。改为 HOST = 0.0.0.0lsnrctl reload

8.3 启动报错 ORA-00845

19c 在小于 2 GB 内存的 Linux 虚机启动会报错 ORA-00845。原因是 /dev/shm 小于 SGA。需要:

# 临时挂大
mount -o remount,size=4G /dev/shm

# 永久生效,在 /etc/fstab 添加
tmpfs   /dev/shm   tmpfs   defaults,size=4G   0 0
mount -o remount /dev/shm

8.4 “运行 runInstaller 图形不显示”

服务器无显示器:①Linux 用 ssh -X 转 X11;②Windows 用 Xming / MobaXterm 转发;③直接 ./runInstaller -silent 跳过图形(推荐)。

8.5 误删数据文件恢复

删了 datafile 还开库会报 ORA-01157。先关库再回滚文件:

SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE CREATE DATAFILE '/u01/.../users01.dbf' AS '/u01/.../users01.dbf';
SQL> RECOVER DATAFILE '/u01/.../users01.dbf';
SQL> ALTER DATABASE OPEN;

九、运维监控与常用诊断命令速查

诊断目标 查询语句
数据库状态 / 角色 SELECT name, open_mode, database_role FROM v$database;
实例 / 主机 SELECT instance_name, host_name, status FROM v$instance;
表空间使用率 SELECT tablespace_name, ROUND(used_percent,2) pct FROM dba_tablespace_usage_metrics ORDER BY pct DESC;
当前会话 SELECT username, machine, program, status FROM v$session WHERE type='USER';
慢 SQL TOP 10 SELECT sql_id, elapsed_time, sql_text FROM v$sql ORDER BY elapsed_time DESC FETCH FIRST 10 ROWS ONLY;
归档日志状态 SELECT dest_name, status, error FROM v$archive_dest WHERE status!='OK';
数据文件 / 表空间对应 SELECT tablespace_name, file_name, bytes/1024/1024 mb FROM dba_data_files ORDER BY bytes DESC;
锁等待 SELECT session_id, oracle_username, process, locked_mode FROM v$locked_object;

十、官方实时参考 URL(发布前必核对)

Oracle 版本迭代频繁,下载链接、补丁号、最小内存上限都会变。本文所有步骤基于 Database 19c (19.3.0.0.0) 基础包 + 截至 2026 年 7 月的 RU 补丁。在生产部署前请打开以下官方 URL 实时核对:

  1. Database 19c 下载页:https://www.oracle.com/database/technologies/oracle19c-linux-downloads.html
  2. Database Free 21c 下载页:https://www.oracle.com/database/free/get-started/
  3. Database 19c 安装文档(Linux):https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/index.html
  4. Database 19c 升级与补丁:https://support.oracle.com/portal/
  5. Database 19c 错误修复延保表:https://www.oracle.com/support/lifetime-support-resources/
  6. DBCA 命令参考:https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/creating-and-configuring-an-oracle-database.html
  7. RMAN 备份恢复参考:https://docs.oracle.com/en/database/oracle/oracle-database/19/rcmrf/index.html
  8. Data Pump 实用程序:https://docs.oracle.com/en/database/oracle/oracle-database/19/sutil/index.html
  9. 表空间与用户管理:https://docs.oracle.com/en/database/oracle/oracle-database/19/admin/managing-tablespaces.html
  10. Oracle 用户权限体系:https://docs.oracle.com/en/database/oracle/oracle-database/19/dbseg/index.html

强烈建议:正式上生产前,对照官方”最新版本 + 最新 RU”把 opatch lspatches 输出与”已发布 RU 列表”比对一次。实时以 Oracle 官方页面为准。

🚀 IT 峰哥软件库 — 海量软件资源一键直达

正版企业软件、运维工具、数据库、中间件、备份容灾、视频监控、加密软件……数千款授权版本,覆盖企业 IT 全部场景,登录后免费下载。

👉 立即访问 pan.92zl.cn · 注册即送 7 天高级会员体验

访问首页底部”联系合作”获取企业批量授权、企业级交付方案

默认

Hyper-V 双机集群对接群晖 iSCSI 存储:故障转移与 MPIO 多路径实战

2026-7-24 10:41:00

默认

IObit Driver Booster Pro 11.2 驱动更新工具绿色版详解

2025-1-25 9:00:00

搜索