数据库的分类
 1.小型数据库  access , foxbase                          负载量小,1000人内,比如留言本,成本千元以内
 2.中型数据库  sql server , mysql ,informix        日访问量10000——15000 ,成本在万元
 3.大型数据库  oracle , db2 ,sybase                    负载可以处理海量数据  安全性很高 ,本身昂贵
 
做项目该选取哪种数据库的依据:
1.项目的规模
 a.负载多大,用户多大
 b.成本
 c.安全性
-------------------------------------------------------------
oracle 管理员等级
oca [oracle初级认证]
ocp [oracle专业认证]
ocm [oracle大师认证]
-------------------------------------------------------------
oracle 基本命令
一、连接命令
                     conn[ect] <用户名>/<密码>
断开
                     disc[onnect]
修改密码
                     passw[ord] <用户名>
退出
                    exit


二、文件操作命令
(1)start 和 @
说明:运行sql脚本
案例: sql>@ d:\a.sql 或者 sql > start d:\a.sql


(2)edit 编辑指定的sql的脚本
 sql > edit d:\a.sql


(3)spool 将sql*plus屏幕内容输入到指定文本
 sql > spool d:\b.sql   并输入 sql > spool off


三、用户管理命令


创建用户
 create user <username> identified <password>
修改密码
 password <username>
删除用户
 drop user <username> cascade 如果要删除的用户,已经创建了表,要带一个参数cascade



刚创建的用户没有任何权限,需要为其赋相应的权限


权限 :   系统权限: 指用户对数据库的相关权限
  
              对象权限: 用户对其他用户的数据对象操作的权限(select,insert,update,delete,all,...)


 角色:(包括众多权限)包括(预定义角色,自定义角色)
 connect  连接数据库...
 dba      管理员权限...
 resource 建表、建视图...
 ......
----------------------------------------------------------------------------
创建用户weihu
 create user weihu identified by weihu
对huiwu授权
 grant connect to weihu  weihu 可以登录数据库
 grant resource to weihu  weihu 可以建表


问题:weihu查看scott的emp表?
scott: sql > grant select on emp to weihu
 scott希望收回weihu对emp表的查询权限
  sql > revoke select on emp from weihu
  
              |如果是对象权限,希望将权限传递下去,就加 with grant option
              |     scott: sql>grant select on emp to weihu with grant option
权限---- |     weihu : sql>grant select on scott.emp to xiaohong
              | 
              |如果是系统权限:
                   系统权限的传递:就加 with admin option
                   system给xiaoming权限时:
                   system : sql > grant connect to xiaoming with admin option

问题?如果scott把weihu对emp表的查询权限收回,那么xiaoming会怎样???
          也会被收回


四、使用profile管理用户命令
(1)账号锁定
指定scott这个用户最多只能尝试3次登陆,锁定时间2天
1.创建profile  sql > create profile lock_account limit failed_login_attemps 3 password_lock_time 2
2.分配profile  sql > alter user <username> profile lock_account


(2)给账号解锁
sql > alter user <username> account unlock;


(3)终止口令
 为了让用户定期修改密码可以用终止命令来完成,同样需要dba身份来操作
 要求用户每隔10天修改登陆密码,宽限2天
1.创建profile sql > create profile myprofile limit password_life_time 10 password_grace_time 2
2.分配profile sql > alter user <username> profile myprofile
 
(4)口令历史
     希望用户再修改密码时,不能使用以前的密码
1.创建profile sql > create profile passwd_history limit password_life_time 10 password_grace_time 2 password_reuse_time 10
     password_reuse_time //指定口令可重用时间,即10天后可以重用
2.分配profile sql > alter user <username> profile passwd_history
 
删除profile
sql > drop profile <profilename> [asecade]