对于每个文件的 file.id and file.incarnation number,重命名文件别名



參考原文:

Rename Alias of Datafile as Per file.id and file.incarnation number (Doc ID 1494661.1)



适用于:

Oracle Database - Enterprise Edition - Version 11.2.0.0 and later

Information in this document applies to any platform.



目标:

对于每个数据库命名来说,remove 数据文件的别名,并move他们到正确的文件夹。



方法:

1. 从控制文件里检查 当前的文件别名。



2. 从asmcmd中验证别名和omf文件名称



3. 做一次数据库的全备



4.使表空间offline, 假设该表空间仅仅有一个datafile,那么使这个datafile offline



5.使用rman 执行 set new filename的命令。



RESTORE TABLESPACE ikp;

SWITCH DATAFILE ALL

RECOVER TABLESPACE



6.确认控制文件是不是用新名字代替了别名。 使用rmalias 命令 从asmcmd remove 掉别名



做为一个可选的方法,你能够用sqlplus命令去rename datafile





症状:



asm file 和 别名



使用传输表空间,几个tablespace 附加带使用asm 的rac 数据库中。

在asm里边,实际的文件看似在错误的路径下,位于 <DISKGROUP_NAME>/ASM/ 文件夹下

而不是在原始的路径<DISKGROUP_NAME>/<DATABASE_SID>/datafile 路径下

须要move 文件到asm中的正确路径下,比方 <DISKGROUP_NAME>/<DATABASE_SID>/datafile/路径





变化:



当通过各种方法(asmcmd cp 或者 DBMS_FILE_TRANSFER)在asm级别 拷贝 datafile ,



如果你使用asmcmd cp 命令从文件系统 往 asm 里边 拷贝  o1_mf_dcs_83w90ymg_.dbf



ASMCMD>cp /tmp/o1_mf_dcs_83w90ymg_.dbf +DATA/ORASV3/DATAFILE/o1_mf_dcs_83w90ymg_.dbf



 ASMCMD>pwd

+data/asm/datafile



ASMCMD> ls -a

+DATA/ORASV3/DATAFILE/o1_mf_dcs_83w90ymg_.dbf => o1_wf_dcs_83w90ymg_.dbf.350.792589015



The database show the datafile to be:

+DATA/ORASV3/DATAFILE/o1_mf_dcs_83w90ymg_.dbf



原因:



在上面的样例中,

ASMCMD> ls -a

+DATA/ORASV3/DATAFILE/o1_mf_dcs_83w90ymg_.dbf => o1_wf_dcs_83w90ymg_.dbf.350.792589015





+DATA/ORASV3/DATAFILE/o1_mf_dcs_83w90ymg_.dbf ------------ this is alias

o1_wf_dcs_83w90ymg_.dbf.350.792589015 -------------------- original file



不论何时,通过dbca 或者rman restore 创建dataifle,这些datafile 会被创建在正确的文件夹下---diskgroup name /database name/datafile



可是当文件是用过asmcmd cp 方式拷贝的,这些文件对于asm来说是未知的,给这些file一个身份。asm 给一个a file_id and incarnation_number



换句话说,  这是 在你选择作为数据文件的存放地(target) 建立了一个别名,

然后datafile的实际存放在+DATA/ASM/DATAFILE,比方 diskgroup name/ASM/datafile/filename.file_id.incarnation_number

在同一个磁盘组,我们仅仅有alias。在同一个磁盘组中,我们不能move dataiile

假设你想move 在其它磁盘组中的 database ,

请參考How to move ASM database files from one diskgroup to another ? (Doc ID 330103.1)

这一点在以下的连接中提到: in http://docs.oracle.com/cd/B28359_01/server.111/b31107/asmfiles.htm#i1023283





在asm中创建的每个file,会获得一个 系统生成的filename,也就是fully qualified filename.

the  fully qualified filename 代表一个 在asm file system 中的全然路径名。



一个 fully qualified filename 的样例为:

+dgroup2/sample/controlfile/Current.256.541956473



你能够使用 fully qualified filename  来引用(read or retrieve) 一个asm file

你能够使用其它简短的文件名称格式,比方 alias ASM filename ,该alias ASM filename 描写叙述为 "Alias ASM Filenames",来引用 一个asm file



 依据 建立文件的请求,asm 来生成fully qualified filename。一个创建文件的请求不会 也不能 指定fully qualified filename

 

 作为替代,使用更简单的语法指定一个file,比方一个别名(alias) 或者一个磁盘组名。

 

 然后,asm 建立file,依据文件类型,把该file放置在正确的asm path下,然后指派一个 fully qualified filename

 

 假设在创建文件请求中指定了alias,asm 也能创建alias,以便别名能够引用 fully qualified filename

 

 asm 文件创建请求能够是单个文件建立, 或者是多个文件建立请求。

 

 你能够用以下的查询来找到别名(输入keyword),这个查询须要在asm instance下去运行。

 这里,我们使用'test'作为keyword。

 

 

 

 SQL> select f.file_number, a.name , ('+' || g.name||'.'||f.file_number||'.'||f.

 2 incarnation) asm_filename, f.type

 3 from v$asm_diskgroup g, v$asm_file f , v$asm_alias a

 4 where g.group_number=f.group_number

 5 and g.group_number=a.group_number

 6 and f.file_number=a.file_number

 7 and a.name like '%test%'

 8 order by f.file_number ;



FILE_NUMBER NAME ASM_FILENAME TYPE

----------- ------------------------------ ----------------------------------- --------------------

  267 test.ctl +DATA1.267.790251625 CONTROLFILE

  291 test.291.784665795 +DATA.291.784665795 DATAFILE

  291 test +DATA.291.784665795 DATAFILE

  296 test.dbf.296.790030721 +DATA.296.790030721 DATAFILE

  296 test.dbf +DATA.296.790030721 DATAFILE



 

 



ASMCMD> pwd

+DATA/DATA/datafile



ASMCMD> ls -lt



Type Redund Striped Time Sys Name

  N test => +DATA/ASM/DATAFILE/test.291.784665795>>>>>>>>>>>>>>

  N test.dbf => +DATA/ASM/DATAFILE/test.dbf.296.790030721>>>>>>>>

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y BIG1.316.791388381

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y BIG2.313.791388437

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y SYSAUX.257.779883619

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y SYSTEM.256.779883617

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y UNDOTBS1.258.779883619

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y UNDOTBS2.261.779883897

DATAFILE UNPROT COARSE AUG 22 10:00:00 Y USERS.259.779883619

ASMCMD>

【翻译自mos文章】对于每个文件的 file.id and file.incarnation number,重命名文件别名的更多相关文章

  1. VC 复制移动删除重命名文件文件

    说明: 1.以下封装了4个函数_CopyFile,_DeleteFile,_MoveFile,_ReNameFile 2.每个函数都先拷贝了原来的路径,保证了路径是以2个\0\0结尾.(如果不以2个\ ...

  2. 【翻译自mos文章】11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值

    [翻译自mos文章]11.2.0.4及更高版本号的asm实例中MEMORY_TARGET 和 MEMORY_MAX_TARGET的默认值和最小值 来源于: Default and Minimum ME ...

  3. Linux命令行bash批量重命名文件

    本文介绍下,在linux下使用shell批量重命名文件的例子,有需要的朋友参考下吧. 在linux中,重命名文件名,需要用到mv命令.如果需要批量重命名名一批文件,就需要写bash脚本或命令行了. 例 ...

  4. 怎样用bat批量重命名文件夹和文件

    很早以前本人写过重命名文件夹的文章,发现其中稍有不完善的地方,其主要功能在文件夹名前统一加上字符,或者在文件夹名后统一加上字符,有网友反应功能太单一.今天我又仔细研究了一下bat批处理代码,分别能完全 ...

  5. PHP文件和目录操作-----复制、移动、重命名、删除文件

    PHP通过copy()函数来复制一个文件.用法如下: bool copy(string $source, string $dest) 其中$source是源文件的路径,$dest是目的文件的路径.函数 ...

  6. Web 在线文件管理器学习笔记与总结(13)重命名文件夹(14)复制文件夹

    (13)重命名文件夹 ① 重命名文件夹通过 rename($oldname,$newname) 实现 ② 检测文件夹名是否符合规范 ③ 检测当前目录中是否存在同名文件夹名称,如果不存在则重命名成功 i ...

  7. Web 在线文件管理器学习笔记与总结(7)重命名文件

    rename($oldname,$newname) 重命名文件或目录 <<<EOF EOF; 使用heredoc 技术,来部分实现界面与代码的准分离 重命名时,需要验证新文件名的合法 ...

  8. linux 重命名文件和文件夹

    linux下重命名文件或文件夹的命令mv既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 其实在文本模式 ...

  9. ASP FSO操作文件(复制文件、重命名文件、删除文件、替换字符串)

    ASP FSO操作文件(复制文件.重命名文件.删除文件.替换字符串)FSO的意思是FileSystemObject,即文件系统对象.FSO对象模型包含在Scripting 类型库 (Scrrun.Dl ...

随机推荐

  1. 数据结构与算法实验题 6.1 s_sin’s bonus

    数据结构与算法实验题 6.1 s_sin's bonus ★实验任务 正如你所知道的 s_sin 是一个非常贪玩的人 QAQ(如果你非常讨厌他请直接从第二段开 始看),并且令人感到非常遗憾的是,他是一 ...

  2. html css div img垂直居中

    <head> <meta charset="UTF-8"> <meta name="Generator" content=&quo ...

  3. Centos6.5 网络配置

    网络配置 本教程配置说明 以下为本教程安装时的配置,用户依据实际情况进行调整 * 在root用户权限下安装下完毕 * IP地址设置为 10.10.108.160 * 本机DNS设置为 8.8.8.8 ...

  4. 百度echart--Uncaught Error: Component series.wordCloud not exists. Load it first.

    百度echart--Uncaught Error: Component series.wordCloud not exists. Load it first. 一.总结 一句话总结:关注报的错.可以通 ...

  5. SEO那些事:一句代码一键分享网站

    这是很久以前就已经写过的笔记了,有一个习惯,每次遇到一个问题,都会进行百度,然后把解决问题的关键点记录下来,有人问我,为什么更新频率如此之快,大部分都是从前积累的知识点. 其实每天工作所涉及的知识点都 ...

  6. Java相关思维导图分享

    非常多朋友都给我发私信希望获得一份Java知识的思维导图,我来不及一一答复.原先是给大家一个百度网盘的链接分享,大家能够自己去下载,可是不知道云盘还能用多久.把相关资源转移到了QQ的群共享中.须要的朋 ...

  7. JVM性能调优实践——JVM篇

    前言 在遇到实际性能问题时,除了关注系统性能指标.还要结合应用程序的系统的日志.堆栈信息.GClog.threaddump等数据进行问题分析和定位.关于性能指标分析可以参考前一篇JVM性能调优实践-- ...

  8. 【BZOJ 1012】 [JSOI2008]最大数maxnumber(单调队列做法)

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1012 [题意] [题解] 后加入的元素,如果比之前的元素大, 那么之前的元素比它小的元 ...

  9. 【33.33%】【codeforces 608C】Chain Reaction

    time limit per test2 seconds memory limit per test256 megabytes inputstandard input outputstandard o ...

  10. Android项目如果要将自己写的类写成要单独打成jar包?

    需求条件: 自己没做过android,公司android开发临时有事请假了,老板说让我研究研究,反正都是java.我心里"XXXXXX".这篇用来自己做个记录,老手请略过,Andr ...