19c的EM Express

本文详细介绍了Oracle Enterprise Manager Database Express(EMExpress),它是Oracle 12c数据库中用于管理数据库的基于Web的接口。文章解释了EMExpress的工作原理,如何访问和配置EMExpress,以及如何为可插拔数据库(PDB)设置EMExpress。EMExpress依赖于数据库内部的XDB schema中的PL/SQL代码运行,仅在数据库开放时可用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考文档:

https://docs.oracle.com/en/database/oracle/oracle-database/19/admqs/getting-started-with-database-administration.html#GUID-BA75AD46-D22E-4914-A31E-C395CD6A2BBA

EM Express is available only when the database is open. This means that EM Express cannot be used to start up the database. Other operations that require that the database change state, such as enable or disable ARCHIVELOG mode, are also not available in EM Express.
EM Express只能在数据库打开的时候使用。而且EM Express不能用于启动数据库。更改数据库状态(更改归档模式等)等无法在EM Express中操作。

默认情况下,Oracle淘汰了基于flash 的EM Express。从19C开始,EM Express是基于 Java JET技术。
转换成基于Flash的EM Express,执行下面的脚本

SQL> @?/rdbms/admin/execemx emx

转换成基于Java JET技术的EM Express,执行以下的脚本

SQL> @?/rdbms/admin/execemx omx

为Non-CDB使用EM Express,如果返回结果为0 ,说明没有配置https端口

SYS@test>select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                          5500

SYS@test>

为CDB使用 EM Express

alter session set container=CDB$ROOT;
select dbms_xdb_config.gethttpsport() from dual;

开启PDB的EM Express,确保PDB处于open,read write状态。连接到CDB$ROOT容器下 ,

exec dbms_xdb_config.setglobalportenabled(TRUE);

或者在PDB下执行下面的语句

alter session set container=PDB1;
select dbms_xdb_config.gethttpsport() from dual;

Note:

The first time you enter the URL for EM Express in your web browser, your browser may display warning messages.

EM Express is a servlet built on top of Oracle XML DB. The Oracle XML DB default wallet has a self-signed certificate, and some existing browsers consider self-signed certificates as untrusted because they are not signed by a trusted CA (certificate authority). However, the self-signed certificate is still secure, as it ensures that the traffic is encrypted between the Oracle XML DB server and the client (browser).

Therefore, enter a security exception for the EM Express URL in your web browser.

Note:

The TLS version of EM Express is determined by the SSL_VERSION parameter set in the sqlnet.ora file of the database.

See Oracle Database Net Services Reference for more information about the SSL_VERSION parameter.

 

 

MOS上的关于EMExpress的文档

EM Express 常见问题 (文档 ID 2102453.1)

文档内容

 用途
 问题和答案
 什么是 Oracle Enterprise Manager Database Express(EM Express)?
 从什么地方获得 EM Express 软件?
 EM Express 如何工作?
 如何访问 EM Express?
 如何启动/停止 EM Express?
 登录 EM Express 需要什么角色?
 如何更改 EM Express 的默认端口?
 如何授予非管理用户访问 EM Express 的权限?
 如何为 PDB(Pluggable Database - 可插拔式数据库)配置 EM Express?
 参考

 

适用于:

Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本
Oracle Database Cloud Schema Service - 版本 N/A 和更高版本
Oracle Database Exadata Cloud Machine - 版本 N/A 和更高版本
Oracle Cloud Infrastructure - Database Service - 版本 N/A 和更高版本
Oracle Database Backup Service - 版本 N/A 和更高版本
本文档所含信息适用于所有平台
***Checked for relevance on 27-Mar-2015***

用途

本文介绍关于 Oracle Enterprise Manager Database Express(EM Express)的常见问题。

问题和答案

什么是 Oracle Enterprise Manager Database Express(EM Express)?

Oracle Enterprise Manager Database Express(EM Express)在 12c 数据库中是 Oracle Enterprise Manager DB Console 的新替代品。EM Express 是一个基于 web 的接口,建立在数据库的内部,用于管理 oracle 12c 数据库。

从什么地方获得 EM Express 软件?

Oracle Enterprise Manager Database Express(EM Express)建立在 oracle 12c 数据库的内部。没有独立的软件/安装让它工作。

EM Express 如何工作?

EM Express 依靠 XDB schema 内部的 PL/SQL 代码来运行。XDB schema 利用它的特性来启动基于 web 的控制台,EM Express 默认嵌套在数据库的内部。

如何访问 EM Express?

使用下面的 URL,按照以下格式,访问 EM Express:

https://<hostname_where_database_exists>:<port_number>/em

使用下面的查询获得 EM Express 的端口:

SQL> SELECT dbms_xdb_config.gethttpsport() FROM dual; 

如何启动/停止 EM Express?

没有具体的命令启动或者关闭 EM Express。当启动/关闭数据库时默认 EM Express 会启动/关闭。

登录 EM Express 需要什么角色?

像 SYS 和 SYSTEM 用户,默认可以访问 EM Express。
其他用户如果被授予 EM_EXPRESS_BASICEM_EXPRESS_ALL 角色也可以访问 EM Express。

如何更改 EM Express 的默认端口?

可以使用下面的步骤更改 EM Express 的默认端口:

a- 设置环境变量:

    $ export $ORACLE_HOME=<oracle_database_home_directory>
    $ export $ORACLE_SID=<oracle_database_sid>

b- 确认监听启动:

  

$ORACLE_HOME/bin/lsnrctl status <listener_name>


c- 在 init.ora 文件中添加如下记录来启动 TCP 调度器:

dispatchers="(PROTOCOL=TCP)(SERVICE=<sid>XDB)" 

d- 重启数据库使得以上更改生效。

e- 使用下面的 PL/SQL 存储过程为 EM Express 设置新的 HTTPS 端口:

$ sqlplus / as sysdba
SQL> EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5555);

 

如何授予非管理用户访问 EM Express 的权限?

非 SYS 和 SYSTEM 用户必须有如下角色才能访问 EM Express:

EM_EXPRESS_BASIC:使用户连接 EM Express 并以 read-only 模式查看页面。
EM_EXPRESS_ALL:使用户连接 EM Express 并使用 EM Express 提供的所有功能(对所有 EM Express 特性的读/写权限)。

如何为 PDB(Pluggable Database - 可插拔式数据库)配置 EM Express?

1- 登录 Container Database(CDB):

$ sqlplus / as sysdba
SQL> SHOW con_id

CON_ID
------------------------------
1

SQL> SHOW con_name

CON_NAME
------------------------------
CDB$ROOT

2- 查找 EM Express 被配置的端口:

SQL> SELECT dbms_xdb_config.gethttpsport FROM dual;

GETHTTPSPORT
------------
5500

3- 查看在该 container 中的所有 Pluggable Databases(PDBs):

SQL> SELECT con_id, name, open_mode FROM v$pdbs;

CON_ID NAME OPEN_MODE
---------- ------------------------------ ----------
2 PDB$SEED READ ONLY
3 PDB1ORCL READ WRITE
4 MYPDB READ WRITE

4- 切换到你想配置 EM Express https 端口的 Pluggable Database:

SQL> ALTER SESSION SET container=MYPDB;

Session altered.

5- 确保你正在登录的是正确的 PDB:

SQL> SHOW con_id

CON_ID
------------------------------
4

SQL> SHOW con_name

CON_NAME
------------------------------
MYPDB

6- 为该 PDB 设置 EM Express 新的 https 端口:

SQL> EXEC DBMS_XDB_CONFIG.SETHTTPSPORT(5502);

PL/SQL procedure successfully completed.

7- 确保端口已经成功设置:

SQL> SELECT dbms_xdb_config.gethttpsport FROM dual;

GETHTTPSPORT
------------
5502 

参考

http://docs.oracle.com/database/121/ADMQS/GUID-24A7DC45-7A14-47A1-B14A-E1A7093CE6D9.htm#ADMQS12495
http://docs.oracle.com/database/121/ADMQS/GUID-EB851101-07BE-4038-BB9D-06E01CC7F5D5.htm#ADMQS032

END

<think>好的,我现在需要帮助用户找到如何在Docker容器中运行Oracle Database 19c的信息或教程。首先,用户的问题是关于在Docker里运行Oracle 19c,所以我应该先回忆一下相关的步骤和资源。 根据之前的引用内容,特别是引用[1],提到Oracle官方已经发布了19.3的Dockerfile,这对于在笔记本上安装Oracle数据库来说是最简单的方式之一。所以用户可能需要从官方渠道获取Dockerfile和相关安装文件。 接下来,我需要整理步骤。首先,用户需要下载Oracle 19c的安装文件。引用[1]中提到需要下载ORACLE 19.3.0 FOR LINUX安装盘,这可能是指用户需要从Oracle官网下载必要的二进制文件,比如LINUX.X64_193000_db_home.zip,这应该是官方要求的安装包。 然后,用户需要克隆Oracle的docker-images仓库。根据引用[3],使用git clone命令克隆https://github.com/oracle/docker-images.git,这个仓库里应该包含构建Docker镜像所需的文件结构。用户需要把下载的安装包放到正确的目录下,比如docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/,这样才能让构建脚本找到它。 接下来是构建Docker镜像,使用buildDockerImage.sh脚本,并且指定版本为19c。这里可能需要用户给予执行权限,或者直接运行脚本。构建过程可能会比较耗时,取决于用户的网络和系统性能。 构建完成后,运行容器时需要注意端口映射和持久化存储。用户需要映射1521和5500端口,分别用于数据库连接和EM Express。另外,使用-v参数将数据卷挂载到宿主机,这样可以持久化数据库文件,避免容器删除后数据丢失。 启动容器后,可能需要查看日志以确认数据库是否成功启动。使用docker logs -f <容器名>来跟踪日志,直到看到数据库就绪的信息。这可能涉及到等待一段时间,直到初始化完成。 然后,用户需要连接到数据库。引用[2]中的例子使用了docker exec命令进入容器并运行sqlplus,这里可能需要以sysdba身份登录,如引用[4]所示,使用sqlplus / as sysdba。用户可能需要修改密码或者创建新用户,根据需要进行配置。 此外,用户可能关心如何优化容器性能,或者如何处理常见问题,比如内核参数设置,这在引用[3]中提到过,可能需要设置内核参数以确保数据库正常运行。不过具体的参数可能在Docker镜像构建过程中已经处理好了,或者需要用户根据宿主机的情况进行调整。 最后,用户可能需要相关的教程链接或官方文档,确保信息的准确性。同时,生成的问题需要围绕用户可能遇到的后续步骤,比如优化、备份恢复、性能调优等,以及如何访问管理工具如EM Express,或者如何处理常见的连接问题。 总结一下,步骤应该是:下载安装文件,克隆仓库,放置文件,构建镜像,运行容器,连接数据库。同时,注意事项包括数据持久化、端口映射、日志查看和权限问题。用户可能需要这些步骤的详细说明,以及常见问题的解决方法。</think>### 在Docker中运行Oracle Database 19c的步骤 #### 1. **准备Oracle安装文件** - 从Oracle官网下载数据库安装包 `LINUX.X64_193000_db_home.zip`[^1],需注册Oracle账户。 - 将文件放置在指定目录: ```bash git clone https://github.com/oracle/docker-images.git cp LINUX.X64_193000_db_home.zip docker-images/OracleDatabase/SingleInstance/dockerfiles/19.3.0/ ``` #### 2. **构建Docker镜像** - 进入目录并执行构建脚本: ```bash cd docker-images/OracleDatabase/SingleInstance/dockerfiles ./buildDockerImage.sh -v 19.3.0 -e ``` - `-e` 表示企业版,镜像构建完成后会显示 `oracle/database:19.3.0-ee`。 #### 3. **运行Oracle容器** ```bash docker run -d \ --name oracle19c \ -p 1521:1521 \ -p 5500:5500 \ -v /path/on/host:/opt/oracle/oradata \ oracle/database:19.3.0-ee ``` - `-v` 实现数据持久化,避免容器删除后数据丢失[^1]; - 默认账号:`sys as sysdba`,初始密码需从容器日志中获取。 #### 4. **查看初始化日志** ```bash docker logs -f oracle19c ``` 日志中出现 `DATABASE IS READY TO USE!` 表示启动完成[^4]。 #### 5. **连接数据库** - 进入容器并登录SQL*Plus: ```bash docker exec -it oracle19c sqlplus sys@ORCLCDB as sysdba ``` - 或通过宿主机客户端工具连接: ```bash sqlplus sys@//localhost:1521/ORCLCDB as sysdba ``` --- ### 关键注意事项 1. **资源要求**:建议分配至少4GB内存和20GB磁盘空间[^3]; 2. **内核参数**:若宿主机为Linux,需设置 `shmmax` 和 `sem` 参数; 3. **许可证限制**:Docker镜像仅用于开发和测试,生产环境需购买商业许可[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值