我正在尝试回答以下问题(在之前的考试中被问到并且应该有一个正确答案):
要创建 DATAFILE 并将其分配给 DATABASE,实例不能
- 以 NOMOUNT 模式启动
- 以 MOUNT 模式启动
- 以 OPEN 模式启动
- 没有开始
为此,我开始阅读数据库 和实例启动和关闭一文中的相关 Oracle 文档。在How a Database is Mounted部分中,陈述了以下内容(强调我的):
数据库是如何挂载的
实例安装数据库以将数据库与该实例相关联。为了装载数据库,实例找到数据库控制文件并打开它们。控制文件在用于启动实例的参数文件中的 CONTROL_FILES 初始化参数中指定。Oracle 然后读取控制文件以获取数据库的数据文件和重做日志文件的名称。
此时,数据库仍处于关闭状态,只有数据库管理员可以访问。数据库管理员可以在完成特定维护操作的同时保持数据库关闭。但是,该数据库尚不可用于正常操作。
根据这段话,当数据库被安装时,数据库管理员可以访问它。这里的访问是否意味着管理员只能执行读取操作,或者还可以修改数据库(例如通过创建数据文件)?
数据文件未打开供访问 - 仅读取了控制文件。此状态用于备份和恢复操作、重命名数据文件、在表空间上启用透明数据加密等。在打开数据库之前无法访问数据或处理任何事务:
虽然挂载数据库的概念确实没有改变,但请注意,您引用的文档是针对 Oracle 9 的,它已有 25 年以上的历史。要了解在数据库处于模式时可能会执行哪些
MOUNT
维护操作,请确保您正在查看适用于您的版本(希望是 19c 或更高版本)的正确文档。对于您的问题,唯一不可能进行文件操作的状态是数据库根本没有启动:在这种情况下,没有正在运行的实例(进程),没有打开的控制文件,也没有要发出的 DBA 连接命令。不同类型的文件操作在其他每种模式中都是可能的,这取决于数据库是正在创建、从备份中恢复或以某种方式更改,还是打开以进行正常操作。