我编写了一个脚本来使用 DBMS_PARALLEL_EXECUTE.RUN_TASK 更新数百万条记录。
我还考虑过Schemaowner传递给session和CREATE_CHUNKS_BY_ROWID table_owner。
ACCEPT Schemaowner CHAR DEFAULT 'MYUSER'
.
.
.
ALTER SESSION SET current_schema = &Schemaowner.;
.
.
.
DBMS_PARALLEL_EXECUTE.CREATE_CHUNKS_BY_ROWID(task_name => c_task_name,
table_owner => '&&Schemaowner.',
table_name => 'TMP_DUPLICATED_ABC',
by_row => TRUE,
chunk_size => &&p_chunk_size.);
.
.
.
我的问题/问题:
如果我使用MYUSER运行脚本,这也是默认架构,并且该架构具有所有表格 - >没问题✔
如果我使用不同的模式运行它,例如:SYS或APPDEPLOY(更复杂的用户,更多权限等),RUN_TASK sql_stmt(更新,插入,删除)中的DML函数执行 NOTHING ✘
在RUN_TASK之前我也做了一些插入和提取,这些在两种情况下都很有效。
我没有找到有关此问题的任何文档。是否有声明DBMS_PARALLEL_EXECUTE只能使用一个模式?
在执行期间,没有引发错误,没有语法问题。