创建 Oracle 用户执行备份工作

创建 Oracle 用户执行备份工作

出于安全原因,我想创建用户,然后将备份任务分配给该用户。这意味着该用户除了备份数据库外,不允许做任何其他事情。

但是,正如 Oracle 文档所述,登录到 RMAN 的用户必须具有 sysdba 权限。因此,作为 sysdba,该用户可以执行许多其他数据库操作。

那么,如何创建用户并仅分配特定的备份作业?

问候,

沙里思

答案1

似乎您误解了 sysdba 权限是什么以及它是如何管理的:执行某些操作(创建/删除/更改数据库、启动或停止实例等)需要 SYSDBA 权限。使用此权限连接到数据库时,就好像您以用户“sys”的身份连接一样。

由于启动实例需要 SYSDBA 权限,因此该权限的控制由数据库之外即在 OS 级别的组中。此组在 unix 服务器上名为“dba”,在 windows 系统上名为“ora_dba”。此组中的所有 OS 用户帐户都允许使用 sysdba 权限连接到数据库,即使他们在数据库中没有帐户。

正如 RMAN 文档中所述必须使用 sysdba 权限运行。实际上,此用户可以不受限制地删除数据库中的任何对象,但这是因为 RMAN 应该仅由 dba 运行,而不是由一些随机用户运行。

如果您想允许用户导出某些对象,则必须另作他用。如果您使用 oracle 10g 或更新版本,请查看数据泵。使用数据泵,DBA 可以选择服务器上的文件夹,一些用户可以在其中导出某些对象。

相关内容