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

对于每个文件的 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>

时间: 2024-07-29 20:08:19

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

【翻译自mos文章】在重建控制文件之后,丢失了数据库补充日志信息(Missed Database Supplemental Log Information)

在重建控制文件之后,丢失了数据库补充日志信息(Missed Database Supplemental Log Information) 参考原文: Missed Database Supplemental Log Information After Recreate Controlfile In 10g Database. (Doc ID 1474952.1) 适用于: Oracle Server - Enterprise Edition - Version 10.1.0.2 and late

【翻译自mos文章】rac数据库中,HC_&lt;SID&gt;.dat文件被其他Oracle_Home下的实例所使用。

rac数据库中,HC_<SID>.dat文件被其他Oracle_Home下的实例所使用. 参考原文: RAC database HC_<SID>.dat is used by instance of different Oracle_Home (Doc ID 1618161.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.0 and later Information in this document ap

【翻译自mos文章】当NFS server 宕机后,Oracle 数据库 冻结并且alert 文件里没有任何错误

当NFS server 宕机后,Oracle 数据库 冻结并且alert 文件里没有任何错误 翻译自mos文章:When NFS Server Is Down, Oracle Server Freezes With No Errors In Alert Log File (文档 ID 1316251.1) 适用于: Oracle Server - Enterprise Edition - Version: 10.2.0.4 and later   [Release: 10.2 and later

【翻译自mos文章】在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log)

在unix/linux中使用文件描述符(File Descriptors)来找回被删掉的文件(数据文件or redo log) 参考原文: Retrieve deleted files on Unix / Linux using File Descriptors (Doc ID 444749.1) 适用于: Oracle Database - Enterprise Edition - Version 8.1.7.0 to 11.2.0.3 [Release 8.1.7 to 11.2] Linu

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

对于每一个文件的 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 appl

【翻译自mos文章】将expdp的dmp文件从asm磁盘组里边放到本地文件系统里边

将expdp的dmp文件从asm磁盘组里边放到本地文件系统里边 参考原文: How To Extract Datapump File From ASM Diskgroup To Local Filesystem? (Doc ID 566941.1) 适用于: Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.1.0.7 [Release 11.1] Information in this document applies

【翻译自mos文章】尽管指定了目的地,asmcmd cp命令还是在 +DATA/ASM 下创建文件

尽管指定了目的地,asmcmd cp命令还是在  +DATA/ASM 下创建文件 参考原文: ASMCMD Cp Creates Files In +DATA/ASM Instead Of Destination Specified (Doc ID 1488934.1) 适用于: Oracle Database - Enterprise Edition - Version 11.2.0.3 and later Information in this document applies to any

【翻译自mos文章】 asmcmd cp命令不能拷贝大于2GB的文件。

asmcmd cp命令不能拷贝大于2GB的文件. 参考原文: Asmcmd CP Command Can Not Copy Files Larger Than 2 GB (Doc ID 786258.1) 适用于: Oracle Server - Enterprise Edition - Version: 11.1.0.7 This problem can occur on any platform. Oracle Server Enterprise Edition - Version: 11.

【翻译自mos文章】SGA_TARGET与SHMMAX的关系

SGA_TARGET与SHMMAX的关系 参考原文: Relationship Between SGA_TARGET and SHMMAX (文档 ID 1527109.1) 适用于: Oracle Database - Enterprise Edition - Version 10.1.0.2 to 11.2.0.3 [Release 10.1 to 11.2] Information in this document applies to any platform. 目的: 解释了参数文件中