微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在Oracle云基础架构无服务器自治数据库中使用DBMS_CLOUD.GET_OBJECT遇到问题

如何解决在Oracle云基础架构无服务器自治数据库中使用DBMS_CLOUD.GET_OBJECT遇到问题

我正在尝试在OCI中的2个自治数据库(无服务器)之间创建数据库链接

我遵循的步骤列表

  1. 我使用dbms_cloud.create_credential为用户创建了必要的凭据

  2. 现在,我尝试使用“ dbms_cloud.get_object”上传电子钱包文件(已存储在对象存储中)。会产生以下错误

    ORA-20000:ORA-29283:无效的文件操作:不存在的文件或路径[29434] ORA-06512:位于“ C ## CLOUD $ SERVICE.DBMS_CLOUD”,第983行 ORA-06512:位于“ C ## CLOUD $ SERVICE.DBMS_CLOUD”,第2622行 ORA-06512:在第二行

如果我使用了错误的凭据或更改了uri,则系统产生的错误将有所不同。我相信oracle能够访问该对象,但是会产生此错误

有什么想法吗?

解决方法

DBMS_CLOUD.GET_OBJECT 支持从对象存储文件读取数据并将内容作为 BLOB 返回,或将内容保存到自治数据库中给定目录对象中的文件中。

https://docs.oracle.com/en/cloud/paas/autonomous-database/adbsa/dbms-cloud-subprograms.html#GUID-3DB888C9-18C7-4A26-8DA8-EDFB260E2B14

您似乎正在尝试将 Wallet 文件下载到目录对象以创建数据库链接。自治数据库自动提供数据库文件系统来存储文件。虽然没有贴出确切的 SQL 语法,但是错误表明语法是正确的。错误表现为数据库文件系统不可访问,属于服务内部错误。

您可以通过重新启动自治数据库来解决此问题。由于这是一个老问题,现在可以通过自治数据库的自动维护来自动解决这个问题。

,

出于好奇,您在哪个地区遇到这种情况?是免费还是付费?

最终,您使用的语法没有错误,也没有错误的用法。不幸的是,您遇到的问题很可能是内部错误/错误,可以由OCI ops修复。我强烈建议您提交服务请求。

如果您过去从未提交过,则可以阅读此处的操作方法-https://docs.cloud.oracle.com/en-us/iaas/Content/GSG/Tasks/contactingsupport.htm#3Openasupportservicerequest

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。