Search notes:

ORA-03048: SQL reserved word … is not syntactically valid following …

In 23c, the following SQL statement throws ORA-03048: SQL reserved word 'WHERE' is not syntactically valid following '...from dual group by dummy ':
select
   count(*),
   dummy
from
   dual
group by
   dummy
where
   dummy = 'X';
In Oracle versions prior to 23c, the same statement throws ORA-00933: SQL command not properly ended (see improved error messages)

ORA-03048: SQL reserved word 'SELECT' is not syntactically valid following …

If an SQL frontend (such as SQL Developer) contains the following select statements, the error message ORA-03048: SQL reserved word 'SELECT' is not syntactically valid following 'select from user_objects* is thrown if the user tries to execute them with ctrl-enter:
select * from user_objects

select * from user_tables
This is because the semicolon (which is used to separate SQL statements from one another) is missing.

See also

SQL's order of select operations
Other Oracle error messages such as ORA-03049: SQL keyword … is not syntactically valid following …

Index

Fatal error: Uncaught PDOException: SQLSTATE[HY000]: General error: 8 attempt to write a readonly database in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php:78 Stack trace: #0 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(78): PDOStatement->execute(Array) #1 /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php(30): insert_webrequest_('/notes/developm...', 1759398086, '216.73.216.42', 'Mozilla/5.0 App...', NULL) #2 /home/httpd/vhosts/renenyffenegger.ch/httpsdocs/notes/development/databases/Oracle/errors/ORA-03048_SQL-reserved-word_is-not-syntactically-valid-following(63): insert_webrequest() #3 {main} thrown in /home/httpd/vhosts/renenyffenegger.ch/php/web-request-database.php on line 78