使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法

參考原文:

How to Copy asm files between remote ASM instances using ASMCMD command (Doc ID 785580.1)

适用于:

Oracle Database - Enterprise Edition - Version 11.1.0.6 to 11.2.0.2 [Release 11.1 to 11.2]

Information in this document applies to any platform.

***Checked for relevance on 14-Jan-2011***

***Checked for relevance on 09-Jul-2014 ***

目标:

本文档的目的是提供使用asmcmd命令在本地实例和远程实例之间拷贝asm file的方法。

解决方式:

11g 有新特性--能够在本地和远程实例之间拷贝asm file

也能够用于 从asm 磁盘组复制文件到os

cp -ifr <source file name> <user_name>@<host_name>.<Port Number>.<SID>:<targer path>/<target file name>

user_name@host_name.<Port Number>.<SID>

The user_name, host_name, and SID are required. The default port number is 1521.

--->注意。此处的sid是 asm实例的sid。不是数据库实例的sid

举例:

asmcmd>cp -ifr +DATA/RAC/PARAMETERFILE/spfile.257.678975489 sys@stgrac1.1521.+ASM2:+FRA/RAC/ARCHIVELOG/spfile

ASMCMD remote copy 的一些解释:

asmcmd remote copy 的执行须要通过监听器建立连接

asmcmd remote connection 可能因为一些错误导致连接失败。

ASMCMD-08202: internal error: [asmcmdshare_error_msg_05] [8201]

[8201] means unable to connect remote ASM Instance.

该错误的可能原因例如以下:

* not able to reach remote host. 不能连接远程主机

* Remote host listener is down.  远程监听器down掉

* Remote ASM Instance is not registered with listener and running non-default port. 远程asm实例没有注冊到监听器中,而且监听器执行在非默认端口

* sysasm remote connection does not work.  sysasm远程连接不工作

* Incorrect password given for sys user.  sys 用户的错误密码

* Remote ASM Instance password file missing. 远程asm实例的 密码文件丢失

我们须要启用额外的tracing(跟踪)。以得到asmcmd connection 失败的准确信息。

++设置 DBI_TRACE 环境变量,以便进行 asmcmd perl tracing

export DBI_TRACE=1

++如今使用asmcmd连接。并再现该问题:

Example 1:

--->样例開始

asmcmd>cp +data/spfileorcl.ora.289.686235413 sys@stgrac1.1521.+ASM1:+test

-> DBI->connect(dbi:Oracle:host=stgrac1;port=1521;sid=+ASM1, sys, ****, HASH (0x8b2b044))


connect using '(DESCRIPTION=(ADDRESS=(HOST=stgrac1)(PROTOCOL=tcp)(PORT=1521))(CONNECT_DATA=(SID=+ASM1)))'


ERROR: '1031' 'ORA-01031: insufficient privileges

(DBD ERROR: OCISessionBegin)'

<- DESTROY= undef at DBI.pm line 591

DBI connect('host=stgrac1;port=1521;sid=+ASM1','sys',...) failed: ORA-01031: insufficient privileges (DBD ERROR: OCISessionBegin)


KK FROM HERE A

ASMCMD-08202: internal error: [asmcmdshare_error_msg_05] [8201]

--->样例结束

能够看到因为ORA-01031错误。asmcmd 复制文件失败。

假设-a选项不使用的话。asmcmd 默认使用sysasm 权限。

这里的问题是:远程的asm实例中,sysasm 权限没有被授予sys user

把sysasm权限给sys用户。当你授予系统权限时,password文件会被更新。

SQL> grant sysasm to sys;

Grant succeeded.

SQL> select * from v$pwfile_users;

USERNAME SYSDB SYSOP SYSAS

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

SYS TRUE TRUE TRUE

如今,远程asm 拷贝能正常工作了。

关于很多其它细节,请參考以下的文章:

Note.730067.1 - Troubleshooting ORA-1031 Insufficient Privilege

Note.578796.1 - ORA-01031 While Connecting as SYSASM

Example 2:

ASMCMD> cp -ifr thread_2_seq_5.264.678983423 sys@bderac2-vip.1521.+ASM2:+FRA/RAC/ARCHIVELOG/

Enter password: ***

ASMCMD-08016: copy source->'+FRA/RAC/ARCHIVELOG/2009_02_16/thread_2_seq_5.264.678983423' and target->'+FRA/RAC/ARCHIVELOG/thread_2_seq_5.264.678983423' failed

ORA-17628: Oracle error 19505 returned by remote Oracle server

ORA-06512: at "SYS.X$DBMS_DISKGROUP", line 258

ORA-06512: at line 3 (DBD ERROR: OCIStmtExecute)

ASMCMD>

cp命令失败的原因是:

目标的asm file 名字没有指定。 或者 文件名称字不应该包含file number/incarnation.

--->注意,我对本句的翻译有点疑问。

原文为The cp command failed because the target ASM file name was not specified  or File name should not contain the file number/incarnation

不指定文件名称字。我们不能拷贝omf 命名格式的文件。

cp -ifr thread_2_seq_5.264.678983423 sys@bderac2-vip.1521.+ASM2:+FRA/RAC/ARCHIVELOG/thread_2_seq_5

The file number/incarnation 会在拷贝的过程中被自己主动创建.

【翻译自mos文章】使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法的更多相关文章

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

    asmcmd cp命令不能拷贝大于2GB的文件. 參考原文: Asmcmd CP Command Can Not Copy Files Larger Than 2 GB (Doc ID 786258. ...

  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. 【翻译自mos文章】 11gR1版本号 asmcmd的新命令--cp、md_backup、md_restore

    11gR1版本号 asmcmd的新命令--cp.md_backup.md_restore 參考原文: ASMCMD - New commands in 11gR1 (Doc ID 451900.1) ...

  4. 【翻译自mos文章】job 不能自己主动执行--这是另外一个mos文章,本文章有13个解决方法

    job 不能自己主动执行--这是另外一个mos文章 參考原文: Jobs Not Executing Automatically (Doc ID 313102.1) 适用于: Oracle Datab ...

  5. 【翻译自mos文章】改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法

    改变数据库用户sysman(该用户是DB Control Repository 的schema)password的方法 參考原文: How To Change the Password of the ...

  6. 【翻译自mos文章】11gR2中的asm后台进程

    11gR2中的asm后台进程 參考原文: ASM Background Processes in 11.2 (Doc ID 1641678.1) 适用于: Oracle Database - Ente ...

  7. 【翻译自mos文章】注意: ASMB process exiting due to lack of ASM file activity

    注意: ASMB process exiting due to lack of ASM file activity 參考原文: NOTE: ASMB process exiting due to la ...

  8. 【翻译自mos文章】回收 asm磁盘空间的方法

    回收 asm磁盘空间的方法 參考原文: How To Reclaim Asm Disk Space? (Doc ID 351866.1) 适用于: Oracle Database - Enterpri ...

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

    将expdp的dmp文件从asm磁盘组里边放到本地文件系统里边 參考原文: How To Extract Datapump File From ASM Diskgroup To Local Files ...

随机推荐

  1. Mantis安装与配置

    什么是Mantis MantisBT is a free popular web-based bugtracking system (feature list). It is written in t ...

  2. 查找最小的k个元素 【微软面试100题 第五题】

    题目要求: 输入n个整数,输出其中最小的k个. 例如:输入1,2,3,4,5,6,7,8这8个数字,则最小的4个数字为1,2,3,4. 参考资料:剑指offer第30题. 题目分析: 解法一: 用快排 ...

  3. 大数据学习——sparkSql对接hive

    1.   安装mysql 2.   上传.解压.重命名 2.1.  上传 在随便一台有hadoop环境的机器上上传安装文件 su - hadoop rz –y 2.2.  解压 解压缩:apache- ...

  4. [python学习篇][廖雪峰][2]函数式编程

    函数名也是变量: >>> f = abs >>> f(-10) 10 然变量可以指向函数,函数的参数能接收变量,那么一个函数就可以接收另一个函数作为参数,这种函数就 ...

  5. cronolog切割apache和tomcat日志

    cronolog切割apache和tomcat日志 http://cronolog.org tar zxvf cronolog-1.6.2.tar.gzcd cronolog-1.6.2./confi ...

  6. 【bzoj4310】跳蚤 后缀数组+二分

    题目描述 很久很久以前,森林里住着一群跳蚤.一天,跳蚤国王得到了一个神秘的字符串,它想进行研究. 首先,他会把串分成不超过 k 个子串,然后对于每个子串 S,他会从S的所有子串中选择字典序最大的那一个 ...

  7. leetcode 20 简单括号匹配

    栈的运用 class Solution { public: bool isValid(string s) { stack<char>The_Stack; ; The_Stack.push( ...

  8. 通过设置chrome浏览器解决跨域问题,在本地进行开发工作

    后端跨域权限无法打开,于是去网上找了下我这边能不能解决 现在的浏览器出于安全策略的限制,都是不允许跨域的,但是开发的时候经常需要一些别的域的接口,特别是一些接口不是自己能控制的时候,往往会造成开发困难 ...

  9. 【BZOJ1579】Revamping Trails(分层图,最短路,堆)

    题意:每天,农夫John需要经过一些道路去检查牛棚N里面的牛. 农场上有M(1<=M<=50,000)条双向泥土道路,编号为1..M. 道路i连接牛棚P1_i和P2_i (1 <= ...

  10. 【BZOJ4034】T2(树链剖分)

    题意: 有一棵点数为 N 的树,以点 1 为根,且树点有边权.然后有 M 个 操作,分为三种: 操作 1 :把某个节点 x 的点权增加 a . 操作 2 :把某个节点 x 为根的子树中所有点的点权都增 ...