惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
博客园 - 【当耐特】
Engineering at Meta
Engineering at Meta
IT之家
IT之家
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
美团技术团队
S
SegmentFault 最新的问题
The GitHub Blog
The GitHub Blog
Martin Fowler
Martin Fowler
Recorded Future
Recorded Future
H
Help Net Security
aimingoo的专栏
aimingoo的专栏
Y
Y Combinator Blog
博客园_首页
A
About on SuperTechFans
MongoDB | Blog
MongoDB | Blog
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
大猫的无限游戏
大猫的无限游戏
B
Blog
The Register - Security
The Register - Security
I
InfoQ
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
雷峰网
雷峰网
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
月光博客
月光博客
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
N
Netflix TechBlog - Medium
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
Stack Overflow Blog
Stack Overflow Blog
Jina AI
Jina AI
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News - Newest:
Hacker News - Newest: "LLM"
U
Unit 42
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
W
WeLiveSecurity
Latest news
Latest news
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
博客园 - 叶小钗
L
Lohrmann on Cybersecurity
博客园 - Franky
Recent Commits to openclaw:main
Recent Commits to openclaw:main
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - dirgo

梅特勒托-托利多衡器串口连续输出数据格式的说明 utf-8编码详解 mybaits updateWrapper更新报错:无效的列类型: 1111 @RequestPart和@RequestParam有什么区别 如何避免Mass Assignment漏洞? 关于vxe-table v4 导出大数据量excel浏览器卡死问题的解决 开源的Linux换源和安装docker脚本 wsl常用命令 使用网页静默打印 在Oracle中,授予用户角色和权限 Linux下查看当前哪些端口在监听状态,哪些端口在连接状态 mobaxterm常用配置 Windows下udp工具 Oracle表空间用户授权创建dblink等操作 用nmap扫描找出某个网段下空闲的ip脚本 Oracle 19c 常用运维 SQL Oracle是 CDB/PDB 环境下,让PDB在数据库启动后自动打开 怎样禁止dbeaver点击导航中数据库自动切换sql编辑器所属的数据库 Oracle 19c占内存高的解决方法 sudo -i -u zhangsan 与su - zhangsan区别,在现代 Linux 系统中,推荐使用 sudo 进行权限切换 Linux 的目录结构英文全称(及可能的命名背景)和更详细的说明 利用 Logback 的热加载特性,安全的迁移日志,改变日志保存路径 Linux中查询进程内存占用 iotDB调整内存占用及注意事项 Eclipse Milo 处理PLC"字(Word)"类型,最直接和正确的做法是使用其内置的 UShort 类型 centos7.9安装minio RELEASE.2025-04-22T22-12-26Z centos7.9编译安装nginx 1.28.1 linux(centos7.9)编译安装redis7.2.4 UFW 防火墙常用命令速查表
Linux下设置CDB/PDB 环境的Oracle19c开机启动
dirgo · 2026-03-02 · via 博客园 - dirgo

首先确定手工能够启动:

进入Linux 的oracle账号

sqlplus / as sysdba登录 执行startup

可以正常启动的话,再执行

SELECT status FROM v$instance;

可以查到cbd状态

设置开机启动方法:

  • 要“开机就自动启动”,需要做两件事:
    1. 让 Linux 启动时自动跑 Oracle 的启动脚本(用 systemd + dbstart)。
    2. 让 CDB/PDB 启动后,PDB 也自动打开(用 ALTER PLUGGABLE DATABASE ... SAVE STATE)。

第一步:配置 /etc/oratab,告诉 Oracle 哪些实例要自动启动

1. 查看 oratab

cat /etc/oratab

这部可能会报错cat: /etc/oratab: No such file or directory,说明

安装时漏执行了 root.sh

以 root 身份:ls -l $ORACLE_HOME/root.sh

如果这个脚本本身就存在,说明安装过程确实准备执行 root.sh,只是没被执行。

补执行 root.sh

以root身份执行$ORACLE_HOME/root.sh

检查cat /etc/oratab,如果没有自己的实例启动的配置,需要在最后添一下,示例如下:

orclcdb:/u01/app/oracle/product/19c/dbhome_1:Y

第 1 段:ORACLE_SID

第 2 段:ORACLE_HOME

第 3 段:Y 表示允许 dbstart 自动启动该实例。

第二步 创建systemd服务

 1.确认 dbstart / dbshut 是否存在:

ls -l $ORACLE_HOME/bin/dbstart
ls -l $ORACLE_HOME/bin/dbshut

这两个脚本是 Oracle 自带的,用来根据 /etc/oratab 启动/关闭实例。

2.创建文件/etc/systemd/system/oracle-db.service

[Unit]
Description=Oracle Database 19c (ORCLCDB)
After=network.target

[Service]
Type=forking

# 直接用绝对路径,不再依赖 $ORACLE_HOME 变量
ExecStart=/opt/oracle/product/19c/dbhome_1/bin/dbstart /opt/oracle/product/19c/dbhome_1
ExecStop=/opt/oracle/product/19c/dbhome_1/bin/dbshut /opt/oracle/product/19c/dbhome_1

User=oracle
Group=oinstall

LimitMEMLOCK=infinity
LimitNOFILE=65535

RemainAfterExit=yes

[Install]
WantedBy=multi-user.target

重新加载并启动

sudo systemctl daemon-reload
sudo systemctl enable oracle-db
sudo systemctl start oracle-db
sudo systemctl status oracle-db

如果之前服务是 failedstart 前可以先 reset-failed

sudo systemctl reset-failed oracle-db
sudo systemctl start oracle-db

注意:关于监听的自启动

dbstart 已经负责启动监听

Oracle 官方文档说明:用 dbstart / dbshut 做自动启停时,这两个脚本会根据 /etc/oratab 启动/关闭对应实例,同时也会启动/关闭监听,不用单独写监听自启动脚本

第三步 验证

oracle    XXXX   1  10:38 ?   00:00:00 ora_smon_ORCLCDB

就说明实例已经随 systemd 起来了。

关于PDB的自启动,见上一篇博文