几个基本概念 一旦创建一个Oracle实例 系统就会默认的创建三个用户 ,一sys 系统的最高管理用 system 其次 scott 普通用户
当 忘记系统 sys system 密码时 可以通过
connect / as sysdba;
alter user sys identified by 新密码;
alter user system identified by 新密码;
创建用户: 必须是系统管理员才能创建用户
create user zhengsan identitied by mima;
修改密码: password zhengsan;
删除用户 必须使用关键字 cascade 删除下面所有的表(如果有表的话) 刚创建的用户不具有登录功能;
删除用户: drop user zhengsan cascade;
给用户分配/收回权限,权限的概念 多种权限的集合为 角色; 方案
整个数据库具有一百多种的权限,多种权限的集合就是角色;
几种常用的角色: connect -----具有登录的权限 grant connect to 用户名;
dba-----------具有很大权限
resource-------允许用户在各种表空间建表
权限的分类:
一 系统权限:对数据库的相关权限 (登录 数据库,查看数据库,建库,建表,建索引)
二,对象权限:用户对其他用户的数据对象(表视图 索引 触发器 游标)操作的相关权限,数据对象指存储过程,函数,触发器,表,视图,角色
包含 表的操作 select insert update delete all create index;
grant select on emp to xiaoming; // emp为scott 用户的表
运行后 xiaoming 拥有对 emp表的select权限
查询语句:select * from scott.emp;
此处有 具有修改的权限 update
收回权限 :revoke select on emp from xiaoming;
权限的传递
如果是对象权限 就用grant select on emp to xiaoming with grant option ;(xiaoming 能够传递这个权限)
如果是系统权限 就用 grant connect to xiaoming with admin option;(xiaoming 能够传递这个权限)
一旦 xiaoming对select 的权限撤销(收回) xiaohong 的权限也将收回
用户密码安全机制:
create profile lock_account limit failed_login_attempts 3 password_lock_time 2; //创建一个安全文件
alter user scott profile lock_account; 让某一用户去执行这种安全策略
alter user scott account unlock//解除锁定
定期修改密码:
create profile myprofile limit password_life_time 10 password_grace_time 2;
取消:
口令历史:
修改表:
添加一个字段:alter table 表名 add(列名 数据类型);
删除一个字段:alter table 表名 drop column 列名;
修改字段长度: alter table 表名 modify(列名 数据类型);
修改字段类型/名字:alter table 表名 modify(列名 数据类型);
修改表的名字:rename 旧表名 to 新表名
删除表: drop table 表名
将命令执行时间显示出来:set timing on;