Sql 在Oracle 10g版本2中编辑控制文件

Sql 在Oracle 10g版本2中编辑控制文件,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,我尝试将oracle数据库服务器克隆到另一个oracle数据库服务器。 完成克隆后,当我尝试通过启动SQL Plus连接到数据库时 我得到了以下错误: ORA-01157: cannot identify/lock data file 1 - see DBWR trace file ORA-01110: data file 1: '/home/oracle/oradata/ccisv2/system01.dbf' 我发现,在克隆原始数据库位置的控制文件时也被克隆了 现在在新服务器中,数据文件位

我尝试将oracle数据库服务器克隆到另一个oracle数据库服务器。 完成克隆后,当我尝试通过启动SQL Plus连接到数据库时 我得到了以下错误:

ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/home/oracle/oradata/ccisv2/system01.dbf'
我发现,在克隆原始数据库位置的控制文件时也被克隆了

现在在新服务器中,数据文件位于不同的位置。这在控制文件中不受影响,这就是错误的原因

简言之,我需要改变上述路径

/home/oracle/oradata/ccisv2/
走新路

/home2/oracle/oradata/ccisv2/
我不确定如何更改控制文件和编辑数据文件位置的路径

无法更改数据文件的位置,因为我在中的空间较少
/home/oracle/oradata/。


有人能帮我解决这个问题吗…

您需要装载数据库(而不是打开它)并重新创建控制文件,并在过程中重命名数据文件(请参阅命令):


需要在控制文件中重新标识所有数据库文件及其新位置。

您需要装载数据库(而不是打开它)并重新创建控制文件,在过程中重命名数据文件(请参阅命令):


所有数据库文件都需要在控制文件中用新位置重新标识。

最简单的方法是将数据文件重命名为新位置:

startup mount;
alter database rename file '/home/oracle/oradata/ccisv2/system01.dbf' to '/home2/oracle/oradata/ccisv2/system01.dbf';
并对所有文件执行此操作。 通常,我们会使用rman duplicate并使用文件名convert为我们执行此操作。
重新创建控制文件也是一个选项,重命名文件更容易。

最简单的方法是将数据文件重命名到新位置:

startup mount;
alter database rename file '/home/oracle/oradata/ccisv2/system01.dbf' to '/home2/oracle/oradata/ccisv2/system01.dbf';
并对所有文件执行此操作。 通常,我们会使用rman duplicate并使用文件名convert为我们执行此操作。
重新创建控制文件也是一种选择,重命名文件更容易。

可能属于serverfault。可能属于serverfault。我不确定是否同意“更容易”,但这是一种替代方法。重新创建控制文件还可以调整其他参数。我不确定我是否同意“更简单”,但这是一种替代方法。重新创建控制文件还可以调整其他参数。