【Oracle】How to Rename or Move Datafiles and Logfiles 之一

简介:
在做搭建第二备库的时候用到了数据文件的迁移,当时选择了 在mount状态下,offine 数据文件然后在进行rename 的过程,这里直接进行了,当然可以参考MOS 文档  How to Rename or Move Datafiles and Logfiles [ID 115424.1]
一在数据库shutdown 模式 迁移数据文件和日志文件
1 查看文件位置
SYS@yangdb-rac3> select file_name from dba_data_files
  2  union
  3  select file_name from dba_temp_files;
FILE_NAME
--------------------------------------------------------------------------------
/opt/oracle/oradata/yangdb/example01.dbf
/opt/oracle/oradata/yangdb/sysaux01.dbf
/opt/oracle/oradata/yangdb/system01.dbf
/opt/oracle/oradata/yangdb/temp01.dbf
/opt/oracle/oradata/yangdb/undotbs01.dbf
/opt/oracle/oradata/yangdb/users01.dbf
6 rows selected.
SYS@yangdb-rac3> select member from v$logfile;
MEMBER
-------------------------------------------------------------------------
/opt/oracle/oradata/yangdb/redo03.log
/opt/oracle/oradata/yangdb/redo02.log
/opt/oracle/oradata/yangdb/redo01.log

SYS@yangdb-rac3> col name for a50
SYS@yangdb-rac3> select name ,status ,enabled from v$datafile;
NAME                                               STATUS  ENABLED
-------------------------------------------------- ------- ----------
/opt/oracle/oradata/yangdb/system01.dbf            SYSTEM  READ WRITE
/opt/oracle/oradata/yangdb/sysaux01.dbf            ONLINE  READ WRITE
/opt/oracle/oradata/yangdb/undotbs01.dbf           ONLINE  READ WRITE
/opt/oracle/oradata/yangdb/users01.dbf             ONLINE  READ WRITE
/opt/oracle/oradata/yangdb/example01.dbf           ONLINE  READ WRITE

2 因为要移动整个数据库的文件,所以要修改参数文件中的controfile的参数 
SYS@yangdb-rac3> create pfile='/tmp/inityangdb.ora' from spfile;
File created.
SYS@yangdb-rac3> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
3 移动所有的数据库文件到新的位置
oracle@rac3:/opt/oracle/oradata/yangdb>ls
control01.ctl  example01.dbf  redo01.log  redo02.log  redo03.log  sysaux01.dbf  system01.dbf  temp01.dbf  undotbs01.dbf  users01.dbf
oracle@rac3:/opt/oracle/oradata/yangdb>mv * ../yangdb_test/
oracle@rac3:/opt/oracle/oradata/yangdb>ls
oracle@rac3:/opt/oracle/oradata/yangdb>cd ../yangdb_test/
oracle@rac3:/opt/oracle/oradata/yangdb_test>ls
control01.ctl  example01.dbf  redo01.log  redo02.log  redo03.log  sysaux01.dbf  system01.dbf  temp01.dbf  undotbs01.dbf  users01.dbf
4 修改参数文件pfile
*.control_files='/opt/oracle/oradata/yangdb_test/control01.ctl','/opt/oracle/oradata/yangdb_test/control02.ctl','/opt/oracle/oradata/yangdb_test/control03.ctl'
5 把老的spfile文件mv到别的地方或者删除,创建新的spfile
SYS@yangdb-rac3> create spfile from pfile='/tmp/inityangdb.ora';
File created.
SYS@yangdb-rac3> startup mount 
ORACLE instance started.
Total System Global Area 1653518336 bytes
Fixed Size                  2213896 bytes
Variable Size             956303352 bytes
Database Buffers          687865856 bytes
Redo Buffers                7135232 bytes
Database mounted.

确认一下文件位置:(可以省略)
SYS@yangdb-rac3> col member for a50
SYS@yangdb-rac3> select member from v$logfile;
MEMBER
--------------------------------------------------
/opt/oracle/oradata/yangdb/redo03.log
/opt/oracle/oradata/yangdb/redo02.log
/opt/oracle/oradata/yangdb/redo01.log
SYS@yangdb-rac3> select name ,status ,enabled from v$datafile;
NAME                                               STATUS  ENABLED
-------------------------------------------------- ------- ----------
/opt/oracle/oradata/yangdb/system01.dbf            SYSTEM  READ WRITE
/opt/oracle/oradata/yangdb/sysaux01.dbf            ONLINE  READ WRITE
/opt/oracle/oradata/yangdb/undotbs01.dbf           ONLINE  READ WRITE
/opt/oracle/oradata/yangdb/users01.dbf             ONLINE  READ WRITE
/opt/oracle/oradata/yangdb/example01.dbf           ONLINE  READ WRITE

SYS@yangdb-rac3>select name from v$controlfile; 
NAME
--------------------------------------------------
/opt/oracle/oradata/yangdb_test/control01.ctl
/opt/oracle/oradata/yangdb_test/control02.ctl
/opt/oracle/oradata/yangdb_test/control03.ctl
6 修改数据文件和日志文件的位置:
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/example01.dbf' to  '/opt/oracle/oradata/yangdb_test/example01.dbf';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/sysaux01.dbf'  to  '/opt/oracle/oradata/yangdb_test/sysaux01.dbf';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/system01.dbf'  to  '/opt/oracle/oradata/yangdb_test/system01.dbf';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/temp01.dbf'    to  '/opt/oracle/oradata/yangdb_test/temp01.dbf';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/undotbs01.dbf' to  '/opt/oracle/oradata/yangdb_test/undotbs01.dbf';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/users01.dbf'   to  '/opt/oracle/oradata/yangdb_test/users01.dbf';
Database altered.
SYS@yangdb-rac3> col member for a50
SYS@yangdb-rac3> select name ,status ,enabled from v$datafile;
NAME                                               STATUS  ENABLED
-------------------------------------------------- ------- ----------
/opt/oracle/oradata/yangdb_test/system01.dbf       SYSTEM  READ WRITE
/opt/oracle/oradata/yangdb_test/sysaux01.dbf       ONLINE  READ WRITE
/opt/oracle/oradata/yangdb_test/undotbs01.dbf      ONLINE  READ WRITE
/opt/oracle/oradata/yangdb_test/users01.dbf        ONLINE  READ WRITE
/opt/oracle/oradata/yangdb_test/example01.dbf      ONLINE  READ WRITE
7 修改redo 日志文件的位置!
SYS@yangdb-rac3> 
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/redo03.log' to '/opt/oracle/oradata/yangdb_test/redo03.log';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/redo02.log' to '/opt/oracle/oradata/yangdb_test/redo02.log';
Database altered.
SYS@yangdb-rac3> alter database rename file '/opt/oracle/oradata/yangdb/redo01.log' to '/opt/oracle/oradata/yangdb_test/redo01.log';
Database altered.

SYS@yangdb-rac3> alter database open;
Database altered.
打开数据库进行验证:
SYS@yangdb-rac3> col member for a50
SYS@yangdb-rac3> select member from v$logfile;
MEMBER
--------------------------------------------------
/opt/oracle/oradata/yangdb_test/redo03.log
/opt/oracle/oradata/yangdb_test/redo02.log
/opt/oracle/oradata/yangdb_test/redo01.log
SYS@yangdb-rac3> select name ,status ,enabled from v$datafile;
NAME                                               STATUS  ENABLED
-------------------------------------------------- ------- ----------
/opt/oracle/oradata/yangdb_test/system01.dbf       SYSTEM  READ WRITE
/opt/oracle/oradata/yangdb_test/sysaux01.dbf       ONLINE  READ WRITE
/opt/oracle/oradata/yangdb_test/undotbs01.dbf      ONLINE  READ WRITE
/opt/oracle/oradata/yangdb_test/users01.dbf        ONLINE  READ WRITE
/opt/oracle/oradata/yangdb_test/example01.dbf      ONLINE  READ WRITE
SYS@yangdb-rac3> select name from v$controlfile;
NAME
--------------------------------------------------
/opt/oracle/oradata/yangdb_test/control01.ctl
/opt/oracle/oradata/yangdb_test/control02.ctl
/opt/oracle/oradata/yangdb_test/control03.ctl
至此 成功迁移,仅仅是做测试用的,对于生产环境而言,shutdown 数据库本身对应用必定有影响。
相关文章
|
Oracle 关系型数据库 测试技术
|
SQL Oracle 关系型数据库
【Oracle】-【move】【索引】无数据的主键索引VALID还是UNUSABLE
SQL> desc t_PRIMARY;  Name                                      Null?    Type  ----------------------------------------- ---...
745 0
|
Oracle 关系型数据库 数据库
【Oracle】How to Rename or Move Datafiles and Logfiles 之一
在做搭建第二备库的时候用到了数据文件的迁移,当时选择了 在mount状态下,offine 数据文件然后在进行rename 的过程,这里直接进行了,当然可以参考MOS 文档 How to Rename or Move Datafiles and Logfiles [ID 115424.
903 0
|
2月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储上oracle数据库数据恢复案例
一台光纤服务器存储上有16块FC硬盘,上层部署了Oracle数据库。服务器存储前面板2个硬盘指示灯显示异常,存储映射到linux操作系统上的卷挂载不上,业务中断。 通过storage manager查看存储状态,发现逻辑卷状态失败。再查看物理磁盘状态,发现其中一块盘报告“警告”,硬盘指示灯显示异常的2块盘报告“失败”。 将当前存储的完整日志状态备份下来,解析备份出来的存储日志并获得了关于逻辑卷结构的部分信息。
|
2月前
|
存储 Oracle 关系型数据库
【赵渝强老师】Oracle RMAN的目录数据库
Oracle RMAN默认将备份元信息存储在控制文件中,但控制文件损坏或丢失会导致恢复失败,且备份增多会使控制文件无限增长。为解决这些问题,Oracle引入了RMAN目录数据库(Catalog Database),专门用于存储RMAN备份的元信息。使用目录数据库可提升备份管理效率,支持多数据库共享、长期备份历史记录存储,并可保存RMAN脚本。本文详细介绍了如何创建目录数据库、注册目标数据库及其操作步骤。
|
5月前
|
Oracle 安全 关系型数据库
【Oracle】使用Navicat Premium连接Oracle数据库两种方法
以上就是两种使用Navicat Premium连接Oracle数据库的方法介绍,希望对你有所帮助!
1053 28