出于安全原因,我想创建用户,然后将备份作业分配给该用户。这意味着除了备份数据库之外,不允许该用户执行任何其他操作。
但是,正如 Oracle 文档所说,登录到 RMAN 的用户必须具有 sysdba 权限。因此,作为 sysdba,该用户可以执行许多其他数据库操作。
那么,如何创建用户并仅分配特定的备份作业?
问候,
萨里特
出于安全原因,我想创建用户,然后将备份作业分配给该用户。这意味着除了备份数据库之外,不允许该用户执行任何其他操作。
但是,正如 Oracle 文档所说,登录到 RMAN 的用户必须具有 sysdba 权限。因此,作为 sysdba,该用户可以执行许多其他数据库操作。
那么,如何创建用户并仅分配特定的备份作业?
问候,
萨里特
您似乎误解了 sysdba 权限是什么以及它是如何管理的:需要 SYSDBA 权限来执行某些操作(创建/删除/更改数据库,启动或停止实例,...)。当您使用此权限连接到数据库时,就好像您以用户“sys”的身份连接。
由于启动实例需要 SYSDBA 权限,因此该权限的控制在数据库之外进行管理,即在操作系统级别的组中。这个组在 unix 服务器上被命名为“dba”,在 windows 机器上被命名为“ora_dba”。该组中的所有操作系统用户帐户都可以使用 sysdba 权限连接到数据库,即使他们在数据库中没有帐户也是如此。
正如文档中所说,RMAN必须以 sysdba 权限运行。实际上,该用户可以不受限制地删除数据库中的任何对象,但这是因为 RMAN 只能由 dba 运行,而不是由某些随机用户运行。
如果您想允许用户导出某些对象,您将不得不这样做。如果您使用 oracle 10g 或更新版本,请查看 datapump。使用数据泵,DBA 可以选择服务器上的一个文件夹,一些用户可以在其中导出一些对象。