2012-12-11 20:44 10925人阅读 评论(0) 收藏 举报
 分类:
oracle(98) 

版权声明:本文为博主原创文章,未经博主允许不得转载。

第一种

alter tablespace users rename datafile '==' to ‘***';

这种方式需要数据库处于open状态,表空间在offline的状态下才能更改。

  1. SQL> alter tablespace users rename datafile '/opt/ora10g/oradata/orcl/user0100.dbf','/opt/ora10g/oradata/orcl/user099.dbf' to '/opt/ora10g/oradata/orcl/userrename1.dbf','/opt/ora10g/oradata/orcl/userrename2.dbf';
  2. alter tablespace users rename datafile '/opt/ora10g/oradata/orcl/user0100.dbf','/opt/ora10g/oradata/orcl/user099.dbf' to '/opt/ora10g/oradata/orcl/userrename1.dbf','/opt/ora10g/oradata/orcl/userrename2.dbf'
  3. *
  4. ERROR at line 1:
  5. ORA-01525: error in renaming data files
  6. ORA-01121: cannot rename database file 107 - file is in use or recovery
  7. ORA-01110: data file 107: '/opt/ora10g/oradata/orcl/user0100.dbf'
  8. SQL> alter tablespace users offline;
  9. Tablespace altered.
  10. SQL> alter tablespace users rename datafile '/opt/ora10g/oradata/orcl/user0100.dbf','/opt/ora10g/oradata/orcl/user099.dbf' to '/opt/ora10g/oradata/orcl/userrename1.dbf','/opt/ora10g/oradata/orcl/userrename2.dbf';
  11. alter tablespace users rename datafile '/opt/ora10g/oradata/orcl/user0100.dbf','/opt/ora10g/oradata/orcl/user099.dbf' to '/opt/ora10g/oradata/orcl/userrename1.dbf','/opt/ora10g/oradata/orcl/userrename2.dbf'
  12. *
  13. ERROR at line 1:
  14. ORA-01525: error in renaming data files
  15. ORA-01141: error renaming data file 107 - new file '/opt/ora10g/oradata/orcl/userrename1.dbf' not found
  16. ORA-01110: data file 107: '/opt/ora10g/oradata/orcl/user0100.dbf'
  17. ORA-27037: unable to obtain file status
  18. Linux-x86_64 Error: 2: No such file or directory
  19. Additional information: 3
  20. SQL> !
  21. [oracle@rac1 ~]$ cp /opt/ora10g/oradata/orcl/user0100.dbf /opt/ora10g/oradata/orcl/userrename1.dbf[oracle@rac1 ~]$ cp /opt/ora10g/oradata/orcl/user099.dbf /opt/ora10g/oradata/orc
  22. l/userrename2.dbf
  23. [oracle@rac1 ~]$ exit
  24. exit
  25. SQL> alter tablespace users rename datafile '/opt/ora10g/oradata/orcl/user0100.dbf','/opt/ora10g/oradata/orcl/user099.dbf' to '/opt/ora10g/oradata/orcl/userrename1.dbf','/opt/ora10g/oradata/orcl/userrename2.dbf';
  26. Tablespace altered.
  27. SQL> alter tablespace users online;
  28. Tablespace altered.

第二种

alter database rename file ‘==='  to '***';

这种方式需要数据库处于mount状态

  1. SQL> startup mount
  2. ORACLE instance started.
  3. Total System Global Area  788529152 bytes
  4. Fixed Size                  2087216 bytes
  5. Variable Size             423626448 bytes
  6. Database Buffers          356515840 bytes
  7. Redo Buffers                6299648 bytes
  8. Database mounted.
  9. SQL> alter database rename file '/opt/ora10g/oradata/orcl/userrename2.dbf','/opt/ora10g/oradata/orcl/userrename1.dbf' to '/opt/ora10g/oradata/orcl/user099.dbf','/opt/ora10g/oradata/orcl/user0100.dbf';
  10. Database altered.
  11. SQL> alter database open;
  12. alter database open
  13. *
  14. ERROR at line 1:
  15. ORA-01113: file 106 needs media recovery
  16. ORA-01110: data file 106: '/opt/ora10g/oradata/orcl/user099.dbf'
  17. --这里不能open的原因是刚刚关闭数据库写了userrename2.dbf和userrename1.dbf这两个数据文件的scn,而user099.dbf和user0100.dbf的scn还是offline的时候的,这样控制文件的头和数据文件头不一致,所以数据库打不开。
  18. SQL> alter database rename file '/opt/ora10g/oradata/orcl/user099.dbf','/opt/ora10g/oradata/orcl/user0100.dbf' to '/opt/ora10g/oradata/orcl/userrename2.dbf','/opt/ora10g/oradata/orcl/userrename1.dbf';
  19. Database altered.
  20. SQL> alter database open;
  21. Database altered.

另外附上批量修改数据文件名的语句

  1. set pagesize 999
  2. set linesize 999
  3. select 'alter database rename file '||''''||member||''''||' to '||chr(39)||replace(member,'/paic/hq/bk/restore/data/oradata/lass/','/paic/z4ah8020/stg/lass/oradata/hs03lass/')||''';'
  4. from v$logfile
  5. where member like '/paic/hq/bk/restore/data/oradata/lass/%';
  6. select 'alter database rename file '||''''||name||''''||' to '||chr(39)||replace(name,'/paic/hq/bk/restore/data/oradata/lass/','/paic/z4ah8020/stg/lass/oradata/hs03lass/')||''';'
  7. from v$datafile
  8. where name like '/paic/hq/bk/restore/data/oradata/lass/%'
  9. select 'alter database rename file '||''''||name||''''||' to '||chr(39)||replace(name,'/paic/hq/bk/restore/data/oradata/lass/','/paic/z4ah8020/stg/lass/oradata/hs03lass/')||''';'
  10. from v$tempfile
  11. where name like '/paic/hq/bk/restore/data/oradata/lass/%'

oracle rename数据文件的两种方法的更多相关文章

  1. 移动oracle数据文件的两种方法

    1.alter database方法该方法,可以移动任何表空间的数据文件. ***关闭数据库***SQL> shutdown immediateDatabase closed.Database ...

  2. Oracle导出DMP文件的两种方法

    本文转载自:http://www.cnblogs.com/o-andy-o/archive/2013/06/05/3118611.html   导出: 方法一:利用PL/SQL Developer工具 ...

  3. MySQL命令执行sql文件的两种方法

    MySQL命令执行sql文件的两种方法 摘要:和其他数据库一样,MySQL也提供了命令执行sql脚本文件,方便地进行数据库.表以及数据等各种操作.下面笔者讲解MySQL执行sql文件命令的两种方法,希 ...

  4. [转载]C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 by 大龙哥 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char ...

  5. C#读写txt文件的两种方法介绍

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  6. Linux下查看alert日志文件的两种方法

    --linux下查看alert日志文件的两种方法: --方法1: SQL> show parameter background_dump_dest; NAME TYPE VALUE ------ ...

  7. C#读写txt文件的两种方法介绍[转]

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  8. C#读写txt文件的两种方法介绍 v

    C#读写txt文件的两种方法介绍 1.添加命名空间 System.IO; System.Text; 2.文件的读取 (1).使用FileStream类进行文件的读取,并将它转换成char数组,然后输出 ...

  9. .net中创建xml文件的两种方法

    .net中创建xml文件的两种方法 方法1:根据xml结构一步一步构建xml文档,保存文件(动态方式) 方法2:直接加载xml结构,保存文件(固定方式) 方法1:动态创建xml文档 根据传递的值,构建 ...

随机推荐

  1. Pacman命令介绍

    用pacman很久了,一直没有深入去研究到底它包含多少神秘的力量,每次都是pacman -Syu就简单的把所有升级更新问题搞定实在是让笔者懒惰了很多.不过也正是因为pacman的简单让笔者爱不释手,同 ...

  2. SQLAlchemy中表结构的一对多

    from flask import Flask from flask_sqlalchemy import SQLAlchemy import pymysql pymysql.install_as_My ...

  3. xdoj-1117(记忆化搜索+组合数学)

    因为我是从上到下,所以就不叫动态规划而叫记忆化搜索吧 (不过运行时间只有3ms....应该是很不错的吧) 排版怎么那么难看...编辑的时候不是这样子的啊?! 思想 : 大眼一看应该是一道很裸的状压dp ...

  4. ACM-ICPC 2018 沈阳赛区网络预赛-K:Supreme Number

    Supreme Number A prime number (or a prime) is a natural number greater than 11 that cannot be formed ...

  5. Atcoder 1973:こだわり者いろはちゃん / Iroha's Obsession

    C - こだわり者いろはちゃん / Iroha's Obsession Time limit : 2sec / Memory limit : 256MB Score : 300 points Prob ...

  6. javascript 日常

    $('#code').bind('keypress', function (e) { //绑定回车处理 ) { console.log($("#code")); } }); $.a ...

  7. 浅谈log4j-4-不同目的地(转)

    public class DifferentAppender { private static Logger logger=Logger.getLogger(DifferentAppender.cla ...

  8. Go Example--if语句

    package main import "fmt" func main() { //if else 条件都不需要括号,{}是需要的 if 7 % 2 == 0 { fmt.Prin ...

  9. 【BZOJ2120】数颜色

    看代码学习好,好学好懂好ac 原题: 墨墨购买了一套N支彩色画笔(其中有些颜色可能相同),摆成一排,你需要回答墨墨的提问.墨墨会像你发布如下指令: 1. Q L R代表询问你从第L支画笔到第R支画笔中 ...

  10. doubleclick video notes

    1,vast duration it must math this format ,if use “00:00:7 ”  it will tip “ ” <Duration>00:00:0 ...