oracle数据库文件移动(复制)另一个目录(主机)上重新启动的方法

如何更改oracle9i数据文件、日志文件和控制文件的存储路径?

分类: Oracle   715人阅读  评论(0)  收藏  举报
oracle 存储 数据库 database sql file

看了一下资料,更改数据文件的方法如下:
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount
ORACLE 例程已经启动。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/SYSTEM01.DBF' to 'G:/oradata/SYSTEM01.DBF';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/UNDOTBS01.DBF' to 'g:/oradata/undotbs01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/CWMLITE01.DBF' to 'g:/oradata/cwmlite01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/DRSYS01.DBF' to 'g:/oradata/drsys01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/EXAMPLE01.DBF' to 'g:/oradata/example01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/INDX01.DBF' to 'g:/oradata/indx01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/ODM01.DBF' to 'g:/oradata/odm01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/TOOLS01.DBF' to 'g:/oradata/tools01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/USERS01.DBF' to 'g:/oradata/users01.dbf';

数据库已更改。

SQL> alter database rename file 'C:/ORACLE/ORADATA/DRACO/XDB01.DBF' to 'g:/oradata/xdb01.dbf';

数据库已更改。

SQL> alter database open;

数据库已更改。

 

在shutdown immediate后复制数据文件到g:/oradata/
然后再接着startup mount
。。。。

更改控制文件储存位置的方法:

C:/>sqlplus

SQL*Plus: Release 9.2.0.1.0 - Production on 星期二 10月 19 15:14:29 2004

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

请输入用户名: /as sysdba

连接到:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
SQL> select * from v$controlfile;

STATUS
-------
NAME
------------------------------------------------------------------------

--------

C:/ORACLE/ORADATA/DRACO/CONTROL01.CTL


C:/ORACLE/ORADATA/DRACO/CONTROL02.CTL


C:/ORACLE/ORADATA/DRACO/CONTROL03.CTL

SQL> create pfile='c:/init.ora' from spfile;

文件已创建。


<<修改init.ora文件中的内容: 
*.control_files='/oradata/ocp/control01.ctl','/oradata/ocp/control02.ctl'

,'/oradata/ocp/control03.ctl' 
路径更改为要储存的目录位置。>>


SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。

<<复制控制文件到要存储的目录里〉〉

SQL> startup pfile='c:/init.ora';《 从init.ora启动 》
ORACLE 例程已经启动。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> create spfile from pfile='c:/init.ora';

文件已创建。

SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup force
ORACLE 例程已经启动。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
SQL> select * from v$controlfile;

STATUS
-------
NAME
------------------------------------------------------------------------

--------

G:/ORADATA/CONTROL01.CTL


G:/ORADATA/CONTROL02.CTL


G:/ORADATA/CONTROL03.CTL


SQL>

 

果不改system表空间的数据文件

可以不用shutdown。
step1:sql>offline tablespace
step2困惑s>mv datafile
step3:sql>alter rename
step4:sql>online tablespace

redo log:
alter database rename file 'xxxto 'xxx';

或删除重建

 

 

我更改日志文件储存路径时执行一下命令:
startup mount
alter database rename file ‘C:/ORACLE/ORADATA/DRACO/REDO03.LOG’ to ‘g:/oradata/REDO03.LOG’
然后重新启动数据库就出现如下错误,请问如何解决?谢谢!
SQL> startup force
ORACLE 例程已经启动。

Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
ORA-00322: 日志 1 (线程 1) 不是当前副本
ORA-00312: 联机日志 1 线程 1: 'G:/ORADATA/REDO01.LOG'

你可能感兴趣的:(oracle)