1、 Oracle9g中的三个默认用户
用户名 密码
sys change_on_install [as sysdba]
system manager
scott tiger
2、 用户登录
1) 开启监听
C:\Users\Administrator>lsnrctl start
2) 开启数据库的实例
C:\Users\Administrator>oradim -starup -sid orcl
3)超级管理员登录
C:\Users\Administrator>sqlplus / as sysdba
4)创建普通用户并登录
create user lisi identified by lisi; //创建一个用户名为 lisi ,密码为 lisi 的用户
default tablespace users //默认表空间为 users ,用来存放数据
temporary tablespace temp //临时表空间 temp ,等于 windows 临时文件夹
quota 50M on users //限定用户只能使用 users 表空间为 50M
C:\Users\Administrator>sqlplus lisi/lisi //lisi用户登录
5)限制用户
用户加锁:alter User 用户名 Account Lock
用户解锁:alter User 用户名 Account Unlock
用户口令既刻失效:alter User 用户名 Password Expire
6)删除用户
Drop user 用户名 用户下面没有对象
Drop User 用户名 cascade 其中 CasCade 表示删除用户所有对象
7)断开正在连接的用户
SQL>disconn
3、 系统权限
grant create session to lisi; //授予 lisi 会话的权限
grant create table to lisi; //授予 lisi 创建表的权限
grant unlinited tablespace to lisi; //授予 lisi 无限制使用表空间的权限
revoke create session from lisi; //撤销 lisi 会话的权限
revoke create table from lisi; //撤销 lisi 创建表的权限
revoke unlimited tablespace to lisi; //撤销 lisi 无限制使用表空间的权限
4、 对象权限
grant select on mytable to lisi; //授予 lisi 查看 mytable 表的权限
grant insert on mytable to lisi; //授予 lisi 在 mytable 表中插入数据的权限
grant all on mytable to lisi; //授予 lisi 操作 mytable 表所有的权限
revoke select on mytable from lisi; //撤销 lisi 查看 mytable 表的权限
revoke insert on mytable from lisi; //撤销 lisi 在 mytable 表插入数据的权限
revoke all on mytable from lisi; //撤销 lisi 操作 mytable 表的所有权限
5、 给所有用户授予权限
grant create any table to public; //把创建表的权限授予给所有用户
grant create session to public; //把会话的权限授予给所有的用户
grant unlinited tablespace to public; //把无限之使用表空间的权限授予给所有的用户
grant select on mytable to public; //把查看 mytable 表的权限授予给所有用户
revoke create any table from public; //撤销所有用户创建表的权限
revoke create session from public; //撤销多有用户的会话权限
revoke unlinited tablespace from public; //撤销用户无限制使用表空间的权限
6、 使用数字字典
select*from user_sys_privs; //查看当前用户拥有哪些系统权限
select*from user_tab_privs; //查看当前用户拥有哪些对象权限
select * from dba_users; // 查看数据库里面所有用户,前 dba权限的帐号, 如 sys,system
select * from all_users; // 查看你能管理的所有用户!
s elect * from user_users; // 查看当前用户信息 !
7、 对象权限可以控制到列
grant update(name) on mytable to lisi; //授予 lisi 用户更新 mytable 表 name 列的权限
grant insert(id) on mytable to lisi; //授予 lisi 用户在 mytable 表 id 列插入数据的权限
select*from user_col_privs; //查看当前用户拥有哪些列的对象权限
注意:查询和删除不能控制到列。 //ddl dml dcl
8、 系统权限的传递
grant alter any table to lisi with admin option; //超级管理员授予 lisi 修改任意表的管理权限
9、 对象权限的传递
grant select on A to lisi with grant option; //把 A 表的查看权限授予给 lisi
10、设置命令行屏幕的宽度
set linesize 400 //设置行的宽度为 400
11、 角色
create role myrole; //创建角色
grant create session to myrole; //授予会话权限给角色
grant create table to myrole; //授予创建表权限给角色
drop role myrole; //删除角色
Create table
Create any table
Alter any table
Drop any table
注意:有些系统权限无法直接赋予角色
Grant unlinited tablespace to myrole;
Alter table
Drop table
表是属于某一个用户的,而角色不属于任一用户的,是共同拥有的。
12、获取表:
select table_name from user_tables; //当前用户的表
select table_name from all_tables; //所有用户的表
select table_name from dba_tables; //包括系统表
select table_name from dba_tables where owner='用户名 '
user_tables:
table_name,tablespace_name,last_analyzed等
dba_tables:
ower,table_name,tablespace_name,last_analyzed等
all_tables:
ower,table_name,tablespace_name,last_analyzed等
all_objects:
ower,object_name,subobject_name,object_id,created,last_ddl_time,timestamp,status等
13、获取表字段:
select * from user_tab_columns where Table_Name='用户表 ';
select * from all_tab_columns where Table_Name='用户表 ';
select * from dba_tab_columns where Table_Name='用户表 ';
user_tab_columns:
table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
all_tab_columns :
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
dba_tab_columns:
ower,table_name,column_name,data_type,data_length,data_precision,data_scale,nullable,column_id等
14、获取表注释:
select * from user_tab_comments
user_tab_comments: table_name,table_type,comments
相应的还有dba_tab_comments , all_tab_comments ,这两个比 user_tab_comments 多了 ower 列。
15、获取字段注释:
select * from user_col_comments
user_col_comments: table_name,column_name,comments
相应的还有dba_col_comments , all_col_comments ,这两个比 user_col_comments 多了 ower 列。
转载于:http://my.oschina.net/u/273709/blog/86116