grant CREATE on SYMMETRIC KEY to system * 第 1 行出现错误: ORA-00905: 缺失关键字
时间: 2023-12-06 07:39:35 浏览: 31
这个错误可能是由于Oracle数据库中的语法不正确导致的。请检查您的语法是否正确。此外,在授予权限时,应该使用 `TO` 关键字而不是 `to`。下面是一个修正后的示例:
```
GRANT CREATE ON SYMMETRIC KEY TO system;
```
请注意,您需要具有足够的权限来授予此权限。
相关问题
SQL> grant execute on dbms_crypto to SYSTEM; grant execute on dbms_crypto to SYSTEM * 第 1 行出现错误: ORA-00942: 表或视图不存在
这个错误提示说明Oracle数据库中不存在`dbms_crypto`包。可能原因是该数据库版本不支持`dbms_crypto`包,或者该包没有被正确安装。
可以使用以下命令检查当前数据库中是否存在`dbms_crypto`包:
```
SELECT owner, object_name, object_type
FROM dba_objects
WHERE object_name = 'DBMS_CRYPTO';
```
如果查询结果为空,则说明数据库中不存在该包。
如果需要使用`dbms_crypto`包,可以尝试升级数据库版本或者重新安装该包。需要注意的是,安装和升级数据库操作可能会对现有的数据库产生影响,建议在操作前进行备份并谨慎操作。
grant execute on SYS.dbms_crypto TO SYSTEM; grant execute on SYS.dbms_crypto TO SYSTEM * 第 1 行出现错误: ORA-00942: 表或视图不存在
如果在执行 `grant execute on SYS.dbms_crypto TO SYSTEM;` 时出现表或视图不存在的错误提示,可能是因为当前用户没有执行该语句的权限,或者该语句执行时需要指定schema。
你可以尝试以管理员权限登录Oracle数据库,并在SQL*Plus命令行界面中执行以下语句:
```
grant execute on SYS.dbms_crypto TO SYSTEM WITH GRANT OPTION;
```
这条语句将授权`dbms_crypto`包给`SYSTEM`用户,并同时授予该用户将该权限授予其他用户的能力。需要注意的是,该语句应该谨慎使用,避免授权到不受信任的用户。
另外,如果仍然出现表或视图不存在的错误提示,可能是因为当前用户没有访问`SYS`用户下的对象的权限。你可以尝试使用管理员账户登录Oracle数据库,并在SQL*Plus命令行界面中执行以下语句:
```
GRANT SELECT ON sys.dbms_crypto TO <user>;
```
其中,`<user>`是指需要使用`dbms_crypto`包的用户账户,可以是当前登录的管理员账户,也可以是其他用户账户。这条语句将授予该用户对`dbms_crypto`包的查询权限,以便在授权时能够找到该对象。
需要注意的是,为了保证数据库的安全性,建议对用户的授权进行适当的限制,避免用户滥用数据库资源和权限。