У меня проблема с изменением контейнера с PL / SQL. Результат одинаков либо с EXECUTE IMMEDIATE, либо с DBMS_ SQL. Я вхожу в систему root как SYSDBA с обычным пользователем. У меня есть одно приложение root PDB внутри, которое называется PDB1
. Я могу переключить контейнер и получить обратно:
ALTER SESSION SET CONTAINER =PDB1;
alter session set container = CDB$ROOT;
, но когда я делаю ti из PL / SQL Я могу go от root до PDB1, но не могу go вернуться к root:
begin
execute immediate 'alter session set container=PDB1';
end;
/
это работает, я сейчас внутри PDB1
если я сейчас попытаюсь go вернуться к root с помощью:
begin
execute immediate 'alter session set container=CDB$ROOT';
end;
/
Я получу сообщение об ошибке:
ORA-01031: недостаточно прав
Аналогичные результаты получены с приложением root PDB и его PDB, с обычным пользователем приложения ... так что я могу переключиться с приложения root на PDB, но не могу go назад.
Есть ли какой-нибудь способ или привилегия, чтобы я мог переключиться на верхний контейнер из PL / SQL?