运行 服务器针对其数据文件在外部硬盘中创建的数据库

Running server against database whose datafiles are created in external hard disk

我已经在外部硬盘中为特定数据库创建了 datafiles。连接硬盘后,我可以毫无问题地 运行 服务器。现在,当我移除硬盘并尝试 运行 连接服务器时,它抛出错误

NO DATAFILE PATH Found

这是因为datafiles的路径在外置硬盘中。

现在,即使没有连接硬盘,我是否可以 运行 服务器针对同一个数据库?

假设真正的问题是如何将外部磁盘数据文件放到本地系统上,请看这里:

https://docs.oracle.com/cd/B28359_01/server.111/b28310/dfiles005.htm

大纲步骤:

在单个表空间中重命名数据文件的过程

要重命名单个表空间中的数据文件,请完成以下步骤:

  1. 使包含数据文件的表空间脱机。数据库必须打开。

例如:

ALTER TABLESPACE users OFFLINE NORMAL;
  1. 使用操作系统重命名数据文件 - 在您的情况下将文件从外部磁盘复制到本地磁盘

  2. 使用带有 RENAME DATAFILE 子句的 ALTER TABLESPACE 语句更改数据库中的文件名。

例如,以下语句分别重命名数据文件 /u02/oracle/rbdb1/user1.dbf 和 /u02/oracle/rbdb1/user2.dbf to/u02/oracle/rbdb1/users01.dbf 和 /u02/oracle/rbdb1/users02.dbf:

ALTER TABLESPACE users
    RENAME DATAFILE '/u02/oracle/rbdb1/user1.dbf',
                    '/u02/oracle/rbdb1/user2.dbf'
                 TO '/u02/oracle/rbdb1/users01.dbf', 
                    '/u02/oracle/rbdb1/users02.dbf';

始终提供完整的文件名(包括它们的路径)以正确识别新旧数据文件。特别是,准确指定旧数据文件名,因为它出现在数据字典的 DBA_DATA_FILES 视图中。

  1. 备份数据库。在对数据库进行任何结构更改后,始终执行立即和完整的备份。