1. oracle数据库在对象级控制数据库的访问和使用的机制 主要是通过数据库用户来实现的。数据库用户是定义在数据库中的一个名称,它是存取数据库中的信息的通道,是oracle数据库的基本访问控制机制。
2. 我们在创建用户的时候虽然指定了默认表空间,但是这并不代表我们具有这个表空间的份额以及能够在这个表空间中创建对象的权限!!这个是一个很重要的知识漏洞。
3. SYS和SYSTEM是oracle的预定义账户,并且授予了DBA权限,注意不是sysdba。Sysdba是系统权限,dba是用户对象权限。
最佳实践提示:如果应用最少权限原则,则不在例行程序操作中使用这些帐户。需要DB权
限的用户另外拥有授予了所需权限的独立帐户。例如,Jim 有一个名为jim 的低权限帐户及
一个名为jim_dba 的授权帐户。使用此方法可应用最少权限原则,不需要共享帐户,而且可
审计各项操作。
4. 如何创建一个os验证的用户??要记住一些细节:OS_AUTHENT_PREFIX = ops$ 以及验证原理
5. 外部验证==OS验证 ; 口令验证==oracle数据库验证
6. 不允许 SYS 用户以口令身份验证的方式进行连接,SYS 只能使用口令文件、操作系统或 LDAP 身份验证。
注意:要注意口令验证和口令文件验证的区别----后者是具有sysdba 或 sysoper权限的账户专用的!!可以通过v$pwfile查看具有sysdba或sysoper权限的用户,在linux系统中可以strings orapw
7. 究竟允不允许dba 在家里PC登录并管理机房中的数据库呢?这样有一定的风险哦!但是这个决定是否还是有一个参数的值来设置的----remote_login_passwordfile :查看是否允许远程登录使用口令文件进行身份验证!!
a. SHARED 一个或多个数据库可以使用口令文件。可以包含 SYS 或者非 SYS 的口令文件。
b. EXCLUSIVE 新版本和 SHARED 功能一致。
c. NONE 不允许远程使用口令文件验证,如远程用 SYS 账号连接 Oracle 将会报错。
8. 与remote_login_passwordfile常并论的是参数:SQLNET.AUTHENTICATION_SERVICES,位于$ORACLE_HOME/network/admin/sqlnet.ora 配置文件中:
a. NONE:不允许通过OS系统用户登录数据库;
b. ALL :允许所有的登录方式;
c. NTS : 允许本地OS用户认证登录。
9. Schema 模式是一系列对象的集合。一个模式只能够被一个数据库用户所拥有,并且模
式的名称与这个用户的名称相同。ORACLE 数据库中的每个用户都拥有一个唯一的模式,
他所创建的所有模式对象都保存在自己的模式中。
在 Oracle 数据库中,模式与数据库用户是一一对应,每个数据库用户都拥
有一个与他的用户名相同的模式。因此,在 Oracle 数据库中,模式与用户两个概念的差别
很小,经常可以替换。
10. 概要文件是口令限制和资源限制的命名集合,是 Oracle 安全策略的重要组成部分,利
用概要文件可以对数据库用户进行口令管理和资源限制。
在建立数据库时,Oracle 会自动建立名称为 DEFAULT 的默认概要文件,初始的
DEFAULT 概要文件的所有口令及资源限制选项值均为 UNLIMITED,即未进行任何口令及
资源限制。当建立用户时,如果不指定概要文件,则 Oracle 会将 DEFAULT 概要文件分配给
该用户。根据用户所承担任务的不同,DBA 应该建立不同的概要文件,并将概要文件分配
给相应用户。一个用户只能分配一个概要文件,一个概要文件可以同时包含口令限制和资源
限制。
11. 使用概要文件管理口令:锁定账户、终止口令、口令历史以及口令校验等四种安全保护方式。
12. 使用概要文件管理资源:会话资源 和 调用资源 两种方式。
13. dba_profile可以查看概要文件的信息,各字段的解析如下:
PROFILE:概要文件名称。
RESOURCE_NAME:口令或资源选项名。
RESOURCE_TYPE:PASSWORD 表示口令管理选项,而 KERNAL 则表示资源限制选项。
LIMIT:概要文件选项值。
14. 每个用户都分配一个概要文件,而且该用户在指定时间只属于一个概要文件。如果用户在您更改用户概要文件时已经登录,那么所做更改只在用户下一次登录后才生效。
15. 删除一个用户,oracle会从数据字典中删除用户,模式及其所有的模式对象的信息。因此删除拥有模式对象的用户的时候要写上cascade,否则报错,无法删除。其次,要注意的是:如果用户当前正连接到数据库,则不能删除该用户。必须先用 ALTER SYSTEM KILL
SESSION 语句终止它的会话,然后再用 DROP USER 将用户删除。
16.userenv(‘参数名’)可以查看用户的环境变量,很多东西需要仔细研究。
17. v$session 中的各字段都是很有内涵的,很多东西需要仔细研究。
18.视图,是基于基表或者其他视图的逻辑表。存在的意义:相同数据的不同显示角度,隐藏保护基表,使复杂的查询简单化,提供数据的独立性。
注意点:
(1) 统计函数,表达式等操作的列需要定义列别名;创建的视图的字段名字是列别名。
因此查询时要用列别名。
CREATE VIEW salvu50
AS SELECT employee_id ID_NUMBER, last_name NAME,
salary*12 ANN_SALARY
FROM employees
WHERE department_id = 50;
(2) 对于简单或复杂的视图的DML操作上的限制,详见文档。Important!
(3) With check option :当可以对视图进行update或insert操作时,会检查新的字段或插入的记录是否符合子查询中的where条件,符合条件者可以操作。
With read only:容易知道。
序列:
19.新创建的序列,在currval返回序列值之前,必须先分配好nextval,否则报错。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29900383/viewspace-1461721/ ,如需转载,请注明出处,否则将追究法律责任。