Выделение в ROWTYPE выдает ошибку ORA-16000 в резервной базе данных - PullRequest
0 голосов
/ 29 октября 2019

У меня есть следующий pl / sql:

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> select log_mode, open_mode, database_role from v$database;

LOG_MODE     OPEN_MODE            DATABASE_ROLE
------------ -------------------- ----------------
ARCHIVELOG   READ ONLY WITH APPLY PHYSICAL STANDBY

SQL> DECLARE
  tst_row  dual%ROWTYPE;
BEGIN
  SELECT * INTO tst_row
  FROM dual;
  DBMS_OUTPUT.PUT_LINE('tst_row.DUMMY = ' || tst_row.DUMMY);
END;
/
DECLARE
*
ERROR at line 1:
ORA-16000: database or pluggable database open for read-only access

Может кто-нибудь объяснить, почему я получаю ORA-16000 здесь? На самом деле, оператор выбора невиновен. Основная причина в объявлении tst_row dual%ROWTYPE;.

SQL> DECLARE
  tst_row  dual%ROWTYPE;
BEGIN
  SET TRANSACTION READ ONLY;
END;
/
DECLARE
*
ERROR at line 1:
ORA-16000: database or pluggable database open for read-only access
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...