У меня есть следующий 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