Oracle DBA用户管理新奇技巧
Oracle数据库是目前企业级应用最为常用的数据库之一,因此Oracle DBA的工作也日趋重要,特别是对于数据库用户管理方面做得好坏直接关系到数据库安全和稳定。本文将会介绍一些Oracle DBA用户管理的新奇技巧,帮助Oracle DBA更好地管理数据库。
1. 隐藏被授权的表
在有些情况下,DBA为了防止其他用户查询某些敏感数据而需要隐藏特定的表,例如一个财务系统数据库的某些特定表不希望被其他用户看到,这时可以使用Oracle提供的DBMS_RLS隐藏授权表。
步骤:
1) 创建一个Security Policy Function用于隐藏这个表;
2) 定义这个Security Policy Function在DBMS_RLS上;
3) 使用行级安全策略隐藏这个表。
2. 将表空间添加到用户为了自己的Object
如果DBA无法为用户提供更多的表空间,又没有办法将TABLESPACE对于Object的映射关系进行修改,可以考虑将表空间赋予特殊用户,这样在用户需要创建Object的时候,通过as用户的方式将这个Object分配到指定的表空间下。
步骤:
1) 创建一个Usery,并将它的Created Tablespace设置为USERS
2) 创建一个Userx,并将它的Created Tablespace设置为Usery
3) 当Userx需要创建一个表时,使用AS Usery的方式创建一个表,就可以将这个表分配到Usery的表空间下。
3. 让数据库压缩Varchar2类型字段
Varchar2类型字段能够节约存储空间,但是这种压缩可能会消耗相当多的CPU时间,但是在Oracle 11g中分析表及分析列后,DBA可以在列中使用压缩。
步骤:
1) 进入SQL Developer和Column Usage Aging和Column Usage拖拽一个列
2) 鼠标右键,选择Alter Table
3) 在Size栏中,选择Compress,即可完成字段的压缩。
4. 防止SQL注入
SQL注入是黑客攻击最流行的手段之一,对数据库安全性造成极大威胁。可以通过Oracle提供的DBMS_SQL.PARSE函数来解决这个问题。
步骤:
1) 创建DBMS_SQL.PARSE函数;
2) 在程序的最开始进行String Manipulation操作,然后使用DBMS_SQL.PARSE函数>;
3) 将DBMS_SQL.PARSE函数的返回结果插入到表中
总之一个好的Oracle DBA不仅需要了解基础的数据库知识,还需要了解一些高级技巧和策略,以便处理更多的问题。以上这些技巧和策略一定有助于DBA在日常工作中更好地管理数据库和优化性能。