gpt4 book ai didi

database - 系统表上的 Oracle 闪回

转载 作者:搜寻专家 更新时间:2023-10-30 23:35:38 25 4
gpt4 key购买 nike

是否可以在系统表(例如 user_tablescols)上使用 Oracle Flashback?

我能够成功地对我创建的表发出闪回查询,但是当我对系统表尝试相同的查询时,我得到了 ORA-01031: insufficient privileges。是否需要授予特殊权限?

最佳答案

这是预期的,因为您使用 AS OF 查询访问的 View 基于 SYS 拥有的系统表,并且无法通过授权访问像 flashback any tableselect any table

您需要将 O7_DICTIONARY_ACCESSIBILITY 设置为 TRUE 以使用户能够闪回系统表。

SQL> conn jay/jay
Connected.
SQL> SELECT * FROM user_tables
AS OF TIMESTAMP
TO_TIMESTAMP('2017-03-21 06:45:00', 'YYYY-MM-DD HH24:MI:SS');
SELECT * FROM user_tables
*
ERROR at line 1:
ORA-01031: insufficient privileges


SQL> alter system set O7_DICTIONARY_ACCESSIBILITY=true scope=spfile;

System altered.

SQL> startup force
ORACLE instance started.

Total System Global Area 413372416 bytes
Fixed Size 2253784 bytes
Variable Size 327158824 bytes
Database Buffers 79691776 bytes
Redo Buffers 4268032 bytes
Database mounted.
Database opened.

SQL> conn jay/jay
Connected.

SQL> SELECT * FROM user_tables
AS OF TIMESTAMP
TO_TIMESTAMP('2017-03-21 06:45:00', 'YYYY-MM-DD HH24:MI:SS');

在 Oracle 11.2.0.4 中测试。

注意:在启用之前阅读文档。

引用: O7_DICTIONARY_ACCESSIBILITY

关于database - 系统表上的 Oracle 闪回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42924448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com