Oracle Database 21c installation on Oracle Linux 8 and connect with SQL Developer
以下是完整的步骤指南,用于在Oracle Linux 8.10上安装Oracle Database 21c,配置它,并从另一个系统(如Windows)通过SQL Developer连接到它:
✅ 先决条件
📌 系统要求
- Oracle Linux 8.10(64位)
- 建议至少8 GB RAM
- 40+ GB 空闲磁盘空间
- 互联网访问或离线RPM包
🧱 步骤1:准备Oracle Linux 8.10
🖥️ 1.1 更新系统
1
2
|
sudo dnf update -y
sudo dnf install -y oracle-epel-release-el8
|
🛠️ 1.2 安装先决条件包
1
|
sudo dnf install -y oracle-database-preinstall-21c wget zip unzip vim
|
📦 步骤2:下载并安装Oracle Database 21c
🌐 2.1 下载Oracle 21c RPM(企业版)
从以下链接下载:
🔗 https://www.oracle.com/database/technologies/oracle21c-linux-downloads.html
文件:
oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm
💡 如果服务器离线,使用SCP或USB驱动器上传RPM到服务器。
📦 2.2 安装RPM
1
|
sudo dnf localinstall oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm -y
|
⚙️ 步骤3:配置并启动Oracle数据库
🧾 3.1 运行配置脚本
1
|
sudo /etc/init.d/oracledb_ORCLCDB-21c configure
|
这将:
- 创建可插拔数据库ORCLPDB1
- 启用自动启动
- 设置SYS、SYSTEM等的默认密码为Oracle_4U
您将看到类似输出:
1
2
|
Database configuration complete.
...
|
🔐 步骤4:在oracle用户中设置环境变量
1
2
3
4
5
|
su - oracle
echo "export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1" >> ~/.bash_profile
echo "export PATH=\$ORACLE_HOME/bin:\$PATH" >> ~/.bash_profile
echo "export ORACLE_SID=ORCLCDB" >> ~/.bash_profile
source ~/.bash_profile
|
🔥 步骤5:启动Oracle服务(如果尚未运行)
1
|
sudo systemctl start oracle-database
|
启用启动时启动:
1
|
sudo systemctl enable oracle-database
|
🌐 步骤6:启用远程访问
📍 6.1 打开监听器端口(1521)
1
2
|
sudo firewall-cmd --add-port=1521/tcp --permanent
sudo firewall-cmd --reload
|
📝 6.2 在监听器中允许远程连接
编辑文件:
1
|
sudo vi $ORACLE_HOME/network/admin/listener.ora
|
确保监听器绑定到0.0.0.0或服务器的IP:
1
2
3
4
5
6
|
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 0.0.0.0)(PORT = 1521))
)
)
|
重启监听器:
1
2
|
lsnrctl stop
lsnrctl start
|
👤 步骤7:创建用户用于远程访问
💻 登录到SQL*Plus
1
2
3
4
5
6
|
sqlplus / as sysdba
SQL> show pdbs;
CON_ID CON_NAME OPEN MODE RESTRICTED
---
2 PDB$SEED READ ONLY NO
3 ORCLPDB1 READ ONLY NO
|
1
2
3
4
5
|
SQL> SHOW CON_NAME;
---
CON_NAME
---
CDB$ROOT
|
🫙 检查实例状态
1
2
3
4
5
|
SQL> SELECT status FROM v$instance;
---
STATUS
---
OPEN
|
如果数据库未打开,则运行以下命令:
1
2
|
SQL> ALTER DATABASE OPEN;
Database altered.
|
👥 创建用户
1
2
3
4
|
SQL> ALTER SESSION SET CONTAINER = ORCLPDB1;
SQL> CREATE USER chirag IDENTIFIED BY Tiger123;
SQL> GRANT CONNECT, RESOURCE TO chirag;
SQL> ALTER USER chirag DEFAULT TABLESPACE users;
|
✅ 可选:授予DBA权限
🧪 步骤8:本地测试
1
|
sqlplus chirag/Tiger123@localhost:1521/ORCLPDB1
|
如果成功,继续远程访问。
💻 步骤9:从SQL Developer连接(其他系统)
下载SQL Developer:
https://www.oracle.com/in/database/sqldeveloper/technologies/download/
(Windows 64位,包含JDK 17)
https://download.oracle.com/otn_software/java/sqldeveloper/sqldeveloper-24.3.1.347.1826-x64.zip
🎯 使用详情:
- 用户名:chirag
- 密码:Tiger123
- 主机名:Oracle Linux服务器的IP(例如,192.168.224.133)
- 端口:1521
- 服务名称:ORCLPDB1
🔍 在Oracle服务器上使用“ip a”查找其IP地址。
📂 在SQL Developer中:
- 点击➕添加新连接。
- 输入以上凭据。
- 测试连接。
- 点击连接。
✅ 可选:启用重启时自动启动
如果数据库未自动启动:
1
|
sudo systemctl enable oracle-database
|
🧽 故障排除提示
| 问题 |
解决方案 |
| ORA-01017 |
错误的用户名/密码 |
| ORA-12514 |
服务名称错误/未注册 |
| 连接超时 |
防火墙问题 — 确保端口1521已打开 |
| SQL Developer空白屏幕 |
检查服务名称(ORCLPDB1)或使用SID(ORCLCDB) |
📚 附加提示
- 检查监听器状态:
lsnrctl status
- 检查服务名称:
lsnrctl services
- 查看日志:
$ORACLE_BASE/diag/tnslsnr/hostname/listener/alert/log.xml
- Web UI:https://localhost:5500/em
如有疑问,请在YouTube视频📽️评论💬部分留言。
注意:遵循视频📽️中展示的流程。
😉请订阅并点赞以获取更多视频:
https://www.youtube.com/@chiragtutorial
💛不要忘记,💘关注、💝点赞、💖分享💙和评论
谢谢与问候,
Chitt Ranjan Mahto “Chirag”
https://www.chirags.in
注意:本演示中使用的所有脚本将在我们的网站上提供。
链接将在描述中提供。