我正在尝试创建一个角色并授予sys.dba_objects的select权限。这是我的sql:
grant select on sys.dba_objects to my_role
grant select on sys.dba_objects to my_role;
在RDS上,我得到以下错误: error: ORA-01031:不足特权
我看到RDS有一个专门的存储过程来授予sys的权限。我试过:
call rdsadmin.rdsadmin_util.grant_sys_object('SYS.REGISTRY$HISTORY', 'my_role', &
今天,我遵循执行Oracle与S3的集成,将文件从S3桶导入到数据库目录中。
我能够很好地执行所有步骤,并能够在RDS实例的S3目录中看到从我的DATA_PUMP_DIR桶中导入的文件。
当我运行查询时
SELECT filename FROM table(rdsadmin.rds_file_util.listdir('DATA_PUMP_DIR')) order by mtime;
我得到输出,列出我导入的文件。
现在,我计划将这些文件放在一个PLSQL块中,问题就出现在这里。当我运行这样的东西时:
DECLARE
BEGIN
FOR fn in (SELECT * FR
我在甲骨文管理一个小型数据仓库。我的用户dwhmanager被授予SELECT任何表特权:
GRANT SELECT ANY TABLE TO dwhmanager WITH ADMIN OPTION;
其想法是能够向datawarehouse中的开发人员授予对多个模式中的表的访问权。
示例:
GRANT SELECT ON DWHFINANCE.SALES TO johndeveloper;
然而,我发现自己得到了臭名昭著的ORA-01031:不足的特权。
不过,我也可以授予"johndeveloper“选择任何表的特权,他可以在datawarehouse上的任何表上进行选择,但是,
我在一个包含乘客预订的Sql服务器表中有一些航班预订数据。
下面的查询突出显示了所有涉及到的表以及连接
"SELECT distinct * FROM
Booking B
JOIN BookingPassenger BP
ON B.BookingId = BP.BookingId
JOIN PassengerJourneyLeg PJL
ON PJL.PassengerId = BP.PassengerId
JOIN InventoryLeg IL
ON IL.InventoryLegId = PJL.InventoryLegId
join passenge
我有一个AWS RDS Oracle数据库。我想使用grant选项授予对某些sys对象的访问权限。
我运行:
exec rdsadmin.rdsadmin_util.grant_sys_object('DBA_OBJECTS', 'MASTER_USER', 'SELECT', true);
但是我得到了一个错误:
ORA-06550: line 1, column 164:
PLS-00306: wrong number or types of arguments in call to 'GRANT_SYS_OBJECT'
我不
我在AWS中创建了一个oracle,然后尝试对最初创建的主用户执行几个操作。
看起来,这个主用户没有执行各种操作的权限。
ORA-31685: Object type SYSTEM_GRANT:"testuser" failed due to insufficient privileges. Failing sql is:
GRANT CREATE ANY DIRECTORY TO "testuser"
ORA-31685: Object type SYSTEM_GRANT:"testuser" failed due
当我执行这个存储过程时:
create or replace procedure "delete-archive"
is
begin
for i in (select * from table(RDSADMIN.RDS_FILE_UTIL.LISTDIR('DATA_PUMP_DIR'))
where FILENAME like 'JDE%')
loop
UTL_FILE.FREMOVE ('DATA_PUMP_DIR', i.filename );
end loop;
end;
我知道这个错误:
我目前正在使用impdp命令在RDS Oracle12C实例中导入转储文件。
在此之前,需要创建少量用户并授予他们所需的权限。
我在其他非rds数据库上使用了以下语句。
GRANT UNLIMITED TABLESPACE TO "USERNAME"
GRANT "RESOURCE" TO "USERNAME"
GRANT "CONNECT" TO "USERNAME"
GRANT "EXECUTE_CATALOG_ROLE" TO "USERNAME"
当我在导入之前运行这些命令时
DROP USER APEX_040200 CASCADE
Error report -
SQL Error: ORA-04088: error during execution of trigger 'RDSADMIN.RDS_DDL_TRIGGER2'
ORA-00604: error occurred at recursive SQL level 1
ORA-20900: DROP USER APEX_040200 not allowed.
ORA-06512: at "RDSADMIN.RDSADMIN_TRIGGER_UTIL", line 442
我需要更改数据库配置,以使用UTC作为AWS RDS上托管的PostgreSQL10实例的默认设置。我希望它在数据库级别永久更改,并且无论如何,永远不会恢复到任何其他时区。 我试过运行它,但它显示0个更新的行: ALTER DATABASE <my-db> SET timezone='UTC'; 我已经尝试将一个自定义参数组附加到RDS中的DB,并像这样修改条目(之后也会重新启动): ? 无论我做什么,当我运行select * from pg_settings where name = 'TimeZone';或SHOW timezone时
我使用的是在Amazon上托管的Postgres数据仓库。当试图从同一数据库中的另一个表中更新事实表的一列(2500万行)时,该查询需要几天时间运行。为什么会发生这种情况,我怎样才能提高这种性能?我知道PG更适合OLTP而不是OLAP,但是选择查询性能在这个表上通常是相当不错的。
所讨论的查询如下:
UPDATE a
SET a.value = b.value
FROM b
WHERE a.id = b.id
b是不同架构中的临时表,但具有与a相同的行数的数据库。两个表在id上都有主键。value列上没有索引或约束。有些视图依赖于表a,但没有外键。
我在RDS上使用PG 9.5。一般用途(SS