以下是使用Oracle 19c进入Oracle Enterprise Manager Database Express(EM Express)的详细步骤:
### **步骤 1:确认EM Express配置状态**
1. **登录数据库服务器**
使用Oracle用户或管理员权限账户登录操作系统。
2. **查看EM Express端口配置**
通过SQL*Plus连接到数据库,执行以下SQL查询确认HTTP/HTTPS端口:
```sql
SELECT DBMS_XDB_CONFIG.getHttpsPort() AS HTTPS_PORT FROM DUAL;
```
- 若返回`0`,表示未配置HTTPS端口。
- 若返回非零值(如5500),则为当前HTTPS端口。
3. **配置端口(如未设置)**
- **设置HTTPS端口**:
```sql
EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
COMMIT;
```
- **设置HTTP端口(不推荐)**:
```sql
EXEC DBMS_XDB_CONFIG.SETHTTPPORT(5501);
COMMIT;
```
### **步骤 2:检查监听器与数据库状态**
1. **确认监听器运行**(win+R输入cmd)
```bash
lsnrctl status
```
- 确保监听器状态为`READY`,且PORT列中包含EM Express的端口(如5500)。
2. **确认数据库实例运行**
```bash
sqlplus / as sysdba
SQL> SELECT status FROM v$instance;
```
- 确保输出为`OPEN`状态。
---
### **步骤 3:访问EM Express**
1. **生成访问URL**
- 默认格式:
```
https://<hostname>:<https_port>/em
```
(例如:`https://localhost:5500/em`)
2. **浏览器访问**
- 输入URL,首次访问需忽略浏览器的SSL证书警告(点击“高级”→“继续前往”)。
3. **登录凭据**
- **用户名**:具有`SYSDBA`或`SYSOPER`权限的账户(如`SYS`)。
- **密码**:安装数据库时设置的密码。
- **连接身份**:选择`SYSDBA`(推荐)或`NORMAL`(需权限)。
---
### **步骤 4:常见问题解决**
- **端口无法访问**
- 检查防火墙是否开放端口:
```bash
# Linux/Unix
sudo firewall-cmd --zone=public --add-port=5500/tcp --permanent
sudo firewall-cmd --reload
# Windows
通过“控制面板”➔“Windows Defender 防火墙”➔ 添加允许端口5500的入站规则。
```
- **EM Express页面显示空白/错误**
- 重启Oracle相关服务:
```bash
# Linux/Unix
emctl stop dbconsole # 如果配置了dbconsole(旧版本)
emctl start dbconsole
# Windows
通过“服务”重启OracleService<SID>和OracleOraDB19Home1TNSListener。
```
- **端口冲突或占用**
- 修改HTTPS端口(例:改为5502):
```sql
EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5502);
COMMIT;
```
---
### **示例操作流程(Linux环境)**
1. 连接数据库并设置端口:
```sql
sqlplus / as sysdba
SQL> EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5500);
SQL> COMMIT;
SQL> EXIT;
```
2. 检查监听器状态:
```bash
lsnrctl status
```
3. 开放防火墙端口:
```bash
sudo firewall-cmd --add-port=5500/tcp --permanent
sudo firewall-cmd --reload
```
4. 浏览器访问:
```
https://localhost:5500/em
```
- 使用账户`SYS`及密码登录,选择`SYSDBA`角色。
---
通过以上步骤,您应能成功访问Oracle 19c的企业管理器EM Express。若仍遇到问题,请检查`$ORACLE_HOME/rdbms/log/em*.log`日志文件排查详细错误。