我正在尝试在 OCI 中的 2 个自治数据库(无服务器)之间创建数据库链接
我遵循的步骤列表
我使用 dbms_cloud.create_credential 为用户创建了必要的凭据
现在,我尝试使用“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: 在第 2 行
如果我使用错误的凭据或者更改 uri,系统产生的错误会有所不同。我相信 Oracle 能够获取该对象,但它会产生此错误。
有什么想法吗?
最佳答案
DBMS_CLOUD.GET_OBJECT 支持从对象存储文件读取数据并将内容作为 BLOB 返回,或将内容保存到自治数据库中给定目录对象中的文件中。
您似乎正在尝试将钱包文件下载到目录对象以创建数据库链接。自治数据库自动配置数据库文件系统来存储文件。虽然没有贴出确切的 SQL 语法,但错误表明语法是正确的。该错误看起来像是数据库文件系统无法访问,这是服务的内部错误。
您可以通过重新启动自治数据库来解决该问题。由于这是一个老问题,现在可以通过自治数据库的自动维护来自动解决该问题。
关于oracle - 在 Oracle 云基础设施自治数据库无服务器中使用 DBMS_CLOUD.GET_OBJECT 时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63900647/