最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as

来源:动视网 责编:小采 时间:2020-11-09 15:00:55
文档

【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as

【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as:使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 参考原文: How to Copy asm files between remote ASM instances using ASMCMD command (Doc ID 785580.1) 适用于: Oracle Database - Enterpris
推荐度:
导读【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as:使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 参考原文: How to Copy asm files between remote ASM instances using ASMCMD command (Doc ID 785580.1) 适用于: Oracle Database - Enterpris


使用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 [R

使用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 @..:/

user_name@host_name..

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.67754 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.2.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用户。当你授予系统权限时,密码文件会被更新。

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.2.6783423 sys@bderac2-vip.1521.+ASM2:+FRA/RAC/ARCHIVELOG/
Enter password: ***
ASMCMD-08016: copy source->'+FRA/RAC/ARCHIVELOG/2009_02_16/thread_2_seq_5.2.6783423' and target->'+FRA/RAC/ARCHIVELOG/thread_2_seq_5.2.6783423' 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.2.6783423 sys@bderac2-vip.1521.+ASM2:+FRA/RAC/ARCHIVELOG/thread_2_seq_5

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

文档

【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as

【翻译自mos文章】使用asmcmd命令在本地和远程asm实例之间拷贝as:使用asmcmd命令在本地和远程 asm 实例之间 拷贝asm file的方法 参考原文: How to Copy asm files between remote ASM instances using ASMCMD command (Doc ID 785580.1) 适用于: Oracle Database - Enterpris
推荐度:
标签: 远程 文章 使用
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top