Oracle SYS用户无法设置session级别的read only

时间:2023-03-09 20:16:54
Oracle SYS用户无法设置session级别的read only

官方文档参考:
SYSDBA is used internally in the Oracle database and has specialized functions. Its behavior is not the same as for generalized users. For example, the SYS user cannot do a transaction level consistent read (read-only transaction). Queries by SYS will return changes made during the transaction even if SYS has set the transaction to be READ ONLY.  Therefore export parameters like CONSISTENT, OBJECT_CONSISTENT, FLASHBACK_SCN, and FLASHBACK_TIME cannot be used.

进行Oracle事务相关的实验时,要尽量使用普通用户,因为很多事务级别的设置,对于sqlplus / as sysdba连入方式无法获得正确的结果。
如果想给用户获取数据字典以方便实验的目的可给用户赋予如下权限:
GRANT CONNECT,RESOURCE,SELECT ANY DICTIONARY,SELECT ANY TABLE TO TUSER;

参考:How To Connect As SYSDBA When Using Export Or Import (文档 ID 277237.1)