数据库的分类:
小型数据库:access,foxbase(VF?);
中型数据库:mysql
大型数据库:sybase<oracle<db2;
选用数据库的标准:
1 项目的规模
负载量小,100人以内使用。成本在千元内,对安全性要求不高;
比如留言板,信息系统,选用小型数据库
比如在负载
对于安全性有一定要求,中型数据库;
大型数据库:负载可以处理海量数据;安全性能很高;价格随之也就贵了;
创建用户:
create user xiaoqiang identified by 123456;
创建xiaoqiang这个用户并指定密码为123456;
登录: sqlplus xiaoqiang/123456
权限操作:(SYS用户);
系统权限:用户对数据库的相关权限;有140多个;
grant create session to xiaoqiang;分配该用户会话权限;
grant create table to xiaoqiang;分配给该用户创建表的权限;
grant unlimited tablespace to xiaoqiang;分配给该用户使用无上限表空间权限;
grant create session,create table, unlimited tablespace to xiaoqiang,rongqi
ang;
既然有授权就得有撤销权限;
revoke create table from xiaoqiang;其他的类似;
记住一般参数都是通过小括号();来传递的,而且这里的符号都必须是英文半角状态的;
对象权限:用户对其他用户的数据对象操作的权限;有25个
将rongqiang用户的users表的所有操作权限从xiaoqiang这个用户收回;
这里需要注意,由于用户属于谁,则该用户的所有权限的分配权就属于谁;
比如这里rongqiang这个用户属于SYS,那么SYS就可以将rongqiang这个用户的权限分配给谁,当然也可以收回来;
类似于SYS这个对象有一个创建和收回权限这个方法,但是这个方法是属于某一个对象的;即SYS;
如果我们有批量授权的要求时,使用public关键字;实现,比如我们要给所有的用户创建表的权限可以这样做;
对象权限的控制可以到列:比如:
但是查询和删除不能控制到列。
select * from user_col_privs;
select * from user_sys_privs;
SQL:Structured Query Language,结构化查询语句;
SQL:分为四种类型;
数据查询语言,DQL,数据定义语言,DDL,数据操作语言DML,
数据控制语言DCL;
DQL:data query language
DDL:data definition language
DML:data manage language
DCL:data control language
角色:就是权限的集合;
我们可以创建一个角色,然后由超级用户SYS或者其他可以分配权限的用户,然后给该角色赋予一些权限,然后我们可以直接把这个角色 授权给用户,那么用户就具有了这个角色的所有权限;
类似于我们把一些权限封装成对象,就成了角色,然后把角色授予给用户,相当于在用户这个类中有一个角色成员变量;
角色分类:
自定义角色:
预定义角色:
权限的传递:
grant select on scott.emp to xiaoqiang with grant option;
对象权限:将scott用户的emp表的查询权限赋予xiaoqiang用户,并允许其
传递给其他用户;用的是with grant option;
需要注意的是权限的传递是一个链条,如果链条从哪里短了,即权限从中被收回了,那么被回收的这个用户及其后面的用户的该权限也消失;
角色:
注意事项:有些权限(系统权限)无法直接赋予角色;
alter user scott identified by tiger;更改用户的密码tiger;
数据库的三种验证机制:
dba角色:
resource角色;
tablespace角色;
方案:
权限的维护:
设置尝试登录次数及锁定时间;
create profile lock_account limit failed_login_attempts 3 password_lock_ti
e 2;
设置一个配置文件,表示用户只能尝试登录三次,超过三次则被锁定,
锁定时间为2天;其中除了lock_account 和数字可以变之外,都是固定写法;
SQL> alter user xiaoqiang
这是指将lock_account 配置作用到xiaoqiang这个用户;
解除锁定:alter user xiaoqiang account unlock;
linux/Unix下oracle的启动过程:
lsnrctl start:启动监听
sqlplus sys/oracle as sysdba:操作系统验证(在windows用户组中有已经创建好相应的用户sys_dba)
、密码文件验证;
sqlplus /nolog
conn sys/oracle as sysdba;
windows 下oracle的启动过程;
lsnrctl start
startup