oracle在创建文件时ORA-15045: ASM file name '+DG1' is not in reference form

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle在创建文件时ORA-15045: ASM file name '+DG1' is not in reference form相关的知识,希望对你有一定的参考价值。

RMAN> RESTORE STANDBY CONTROLFILE FROM '/rman_backup/standby_07p47ikp_1_1.ctl';

Starting restore at 2014/03/27 16:50:45
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=20 device type=DISK

channel ORA_DISK_1: restoring control file
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 03/27/2014 16:50:49
ORA-19870: error while restoring backup piece /rman_backup/standby_07p47ikp_1_1.ctl
ORA-19504: failed to create file "+DG1"
ORA-15045: ASM file name '+DG1' is not in reference form
ORA-17502: ksfdcre:5 Failed to create file +DG1
ORA-15081: failed to submit an I/O operation to a disk

RMAN>
这个问题困扰很久,上一次在做DATAGUARD时也遇到了,但是莫名的就好了,这次又遇到了。在网上找了很久都没有正确解决的办法。

我判断是磁盘掉了,ora-17502和ora-15081两个错误应该可以证明我说的,你先看看控制文件里的内容,文件都在哪些盘上,再检查一下这些盘。所有磁盘正常后,在用rman恢复试试。仅供参考。 参考技术A ORA-19504: failed to create file "+DG1"

你的环境里没有+DG1这个diskgroup可以用来自:求助得到的回答本回答被提问者和网友采纳
参考技术A restore controlfile to '/home/oracle/controlfile.bak1' from '/rman_backup/standby_07p47ikp_1_1.ctl';你这样试一下!

“ORA-29024:证书验证失败”

【中文标题】“ORA-29024:证书验证失败”【英文标题】:"ORA-29024: Certificate validation failure" 【发布时间】:2020-09-15 14:12:42 【问题描述】:

我正在尝试在 oracle 程序中使用 Rest API。我已经创建了 ACL 条目并将 SSL 证书添加到我的 oracle 钱包管理器中。但是当我尝试执行该过程时,我收到错误为。以下是我的 oracle 程序的代码。

create or replace procedure TABADUL_TAS_AUTHENTICATION
 is
  req utl_http.req;
  res utl_http.resp;
  value VARCHAR2(1024);
  value1 VARCHAR2(1024);
  url varchar2(4000) := 'https://tapis.fasah.sa/tabadul/fasahqa/authorization/token';
  name varchar2(4000);
  buffer varchar2(4000); 
  content varchar2(4000) := '"username":"ijsnj001","password":"P@ssw0rd"';

begin
 UTL_HTTP.set_wallet('file:d:\tabadul', 'tas123456');
 req := utl_http.begin_request(url, 'POST',' HTTP/1.1');
  utl_http.set_header(req, 'user-agent', 'mozilla/4.0');
  utl_http.set_header(req, 'content-type', 'application/json;charset=utf-8');
  utl_http.set_header(req,'X-IBM-Client-Id','00a2f36e933e2bb9edc76faaf26659eb');
  utl_http.set_header(req,'X-IBM-Client-Secret','7c2829bd6b287b072ee269c9ad8f5ead');
  utl_http.set_header(req,'Accept-Language','en');
  utl_http.set_header(req,'Accept','application/json');

  utl_http.set_header(req, 'Content-Length', length(content));
  utl_http.write_text(req, content);
  res := utl_http.get_response(req);
  -- process the response from the HTTP call
  DBMS_OUTPUT.PUT_LINE('HTTP response status code: ' || res.status_code);
  --DBMS_OUTPUT.PUT_LINE('HTTP response reason phrase: ' || res.reason_phrase);

  FOR i IN 1..UTL_HTTP.GET_HEADER_COUNT(res) LOOP
    UTL_HTTP.GET_HEADER(res, i, name, value1);
    --DBMS_OUTPUT.PUT_LINE(name || ': ' || value1);
  END LOOP;

  --dbms_output.put_line(content);
  --dbms_output.put_line(utl_http.resp);
  begin
    loop
    --dbms_output.put_line('A');
      utl_http.read_line(res, value, true);
      --dbms_output.put_line(length(value));
      dbms_output.put_line(value);
      --INSERT INTO A VALUES (VALUE);
      --COMMIT;
    end loop;
    utl_http.end_response(res);
  exception
    when utl_http.end_of_body 
    then
      --dbms_output.put_line(SQLCODE||','||SQLERRM);
      utl_http.end_response(res);

    when others then
    --dbms_output.put_line(SQLCODE||','||SQLERRM);
      utl_http.end_response(res);
  end;
end TABADUL_TAS_AUTHENTICATION;

【问题讨论】:

你是怎么解决这个问题的? 【参考方案1】:

这个问题已经解决。我在这里写解决方案,它可能对其他人有帮助。 所以不需要为实际的网站证书创建钱包,只需要为证书链创建钱包。

【讨论】:

以上是关于oracle在创建文件时ORA-15045: ASM file name '+DG1' is not in reference form的主要内容,如果未能解决你的问题,请参考以下文章

oracle中as是啥意思

ORACLE WITH AS 用法,创建临时表

oracle 数据库中的as 表示啥意思?

oracle 创建view时,授权给用户

oracle的存储过程生成的xml文件怎么拿到

oracle中别名的问题:在临时表中不能用as吗?