define sslwalletdir=/opt/oracle/dcs/commonstore/wallets/sslWhat was noticable is that unlike in autonomous database certain functionality has been restricted.
Files could be uploaded to storage bucket from the DBCS VM DB.
SQL> exec dbms_cloud.put_object('BACKUP_CRED','https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/exptest.dmp','DATA_PUMP_DIR','exp.dmp'); PL/SQL procedure successfully completed.The files in a bucket could be listed as well.
SQL> select object_name, bytes from dbms_cloud.list_objects('BACKUP_CRED','https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata'); OBJECT_NAME BYTES ----------- --------- exptest.dmp 2932736The package allows getting files from storage bucket.
SQL> exec dbms_cloud.get_object('BACKUP_CRED','https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/exptest.dmp','DATA_PUMP_DIR','gotfrombucketexp.dmp'); PL/SQL procedure successfully completed. ls /u01/app/oracle/admin/ORCL/dpdump/BBAE40CB362D1F2CE0535406F40A0C73/ gotfrombucketexp.dmp
However, unlike in ATP importing and exporting from and to storage bucket fails.
Importing
impdp asanga@uatpdb credential=BACKUP_CRED dumpfile='https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/exptest.dmp' directory=data_pump_dir logfile=impnew.log logtime=all metrics=yes ORA-39001: invalid argument value ORA-39000: bad dump file specification ORA-31640: unable to open dump file "https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/exptest.dmp" for read ORA-27037: unable to obtain file status Linux-x86_64 Error: 2: No such file or directory Additional information: 7Exporting
expdp asanga@uatpdb dumpfile='DEFAULT_CREDENTIAL:https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/expnew.dmp' directory=data_pump_dir logfile=newexp.log exclude=STATISTICS logtime=all metrics=yes Connected to: Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production ORA-39001: invalid argument value ORA-39000: bad dump file specification ORA-39088: file name cannot contain a path specificationAfter an SR oracle support stated that this feature is only available for autonomous and not available for other databases. Even if, now dbms_cloud package allows creation of credentials and 19c version of expdp/impdp allow credentails.
Another difference is the creation of external tables. It is possible to create external tables using csv files.
SQL> DBMS_CLOUD.CREATE_EXTERNAL_TABLE( table_name =>'test_ex_table', credential_name =>'BACKUP_CRED', file_uri_list => 'https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/test2.csv', format => json_object('type' value 'csv', 'skipheaders' value '1'), field_list => 'A,B,C', column_list => 'A number, B varchar2(20), C number'); END; / PL/SQL procedure successfully completed. SQL> select * from test_ex_table; A B C ---------- -------------------- ---------- 998 abc 998 20958 999 abc 999 20979 1000 abc 1000 21000 1 abc 1 21 2 abc 2 42 3 abc 3 63However, querying an external table created using datapump file fails.
SQL> BEGIN DBMS_CLOUD.CREATE_EXTERNAL_TABLE( table_name =>'test_dmp_table', credential_name =>'BACKUP_CRED', file_uri_list =>'https://swiftobjectstorage.uk-london-1.oraclecloud.com/v1/#namespace#/tabledata/datetest.dmp', format => json_object('type' value 'datapump', 'rejectlimit' value '1'), column_list => 'VERSION VARCHAR2(20), INDATE date' ); END; / PL/SQL procedure successfully completed. SQL> select * from test_dmp_table; select * from test_dmp_table * ERROR at line 1: ORA-29913: error in executing ODCIEXTTABLEOPEN callout ORA-29400: data cartridge error KUP-11010: unable to open at least one dump file for fetchSame dumpfile and bucket works for ATP.