管理员:
grant create session to public;所有
create user lisi identified by lisi;
grant create session to lisi;
grant create table to lisi;
grant unlimited tablespace to lisi;
revoke create table from lisi
用户:查看自己的权限
select * from user_sys_privs;
对象权限:
wangwu把查看表的权限给lisi:
grant select on mytab to lisi;
grant all on mytab to lisi;
lisi查看表:
select * from wangwu.mytab;
revoke all on mytab from lisi;
查看当前用户拥有的对象权限:
select * from user_tab_privs;
设置屏幕大小:
set linesize 400
断开连接:discon
连接:conn lisi/lisi;
添加一列:alter table mytab add name varchar(20);
show user
只能更新能列:grant update(name) on mytab to lisi;
查看拥有对列的权限:select * from user_col_privs;
权限传递:
管理员授权给lisi:grant alter any table to lisi with admin option;
lisi授权给wangwu:grant alter any table to wangwu;
管理员:grant select on Atable to lisi with grant option;
创建角色:create role myrole;
为角色授权:grant create session to myrole;
为lisi授予角色:grant myrole to lisi;
注意:有些权限无法授予角色,如:unlimited tablespace
drop table,alter table(因为用户能拥有创建表的权限,所以这些权限也就拥有了)
create table 和 create any table区别:
一旦用户拥有create any table权限,不但能为自己创建表,而且也可以为其它用户创建表,如list为wangwu创建表:create table wangwu.B (id int);(前提是要求wangwu拥有创建表空间的权限)
数据库三种验证机制:
1操作系统验证(sys)
2密码文件验证(sys)
3数据库验证(普通用户)
修改普通用户密码:alter user lisi identified by tommy;
在linux下启动oracle过程:
lsnrctl start
sqlplus sys/密码 as sysdba //oracle 10以上
sqlplus /nolog
conn sys/密码 as sysdba
startup
window 下启动oracle过程:
lsnrctl start
oradim -startup -sid orcl
关闭过程:
lsnrctl stop
oradim -shutdown -sid orcl
在管理工具--计算管理-本地用户和组-组,中的ORA-DBA有默认启动用户
可以使用这种方式连接:conn sys/sadfas as sysdba(名字和密码都可以为空,或者随意写)
如果删除了默认用户,必须填写正确的用户名和密码:conn sys/12345 as sysdba
若管理员密码丢失,可以先删除oracle目录下的PWDorcl.ora文件
然后在命令行下输入:orapwd file=F:\oracle\ora90\database\PWDorcl.ora(找到此文件的目录) password=自己设密码 entries=10(指定多少用户)
重新启动服务
查看设定的用户:select * from v$pwfile_users
创建默认表空间和临时表空间并指定大小
create user tommy identified by tommy
default tablespace users
temporary tablespace temp
quota 20M on users
删除用户及其所有表
drop user abc cascade;