Oracle – Oracle用户管理
1. Oracle安装默认用户
用户名 |
密码 |
用户说明 |
SYS |
CHANGE_ON_INSTALL |
用户具有SYSDBA或者SYSOPER权限;Oracle所有的数据字典的基表和视图都存放在SYS用户下。 |
SYSTEM |
MANAGER |
用户具有NORMAL权限;用户用于存放一级的内部数据。 |
2. Oracle用户管理常用命令
2.1. 以sys超级用户登陆
(1) 在命令行下:sqlplus "/ as sysdba"
(2) 在命令行下:sqlplus è请输入用户名: / as sysdba
C:/Users/ChrisLue>sqlplus
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 6月 20 13:59:06 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
请输入用户名: / as sysdba
连接到: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> |
(3) 在命令行下:sqlplus /nolog è SQL> conn / as sysdba
C:/Users/ChrisLue>sqlplus /nolog
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 6月 20 14:02:43 2011
Copyright (c) 1982, 2010, Oracle. All rights reserved.
SQL> conn / as sysdba 已连接。 SQL> |
2.2. sqlplus命令
(1) sqlplus /nolog
说明:进入sqlplus环境,不登陆
(2) sqlplus '/ as sysdba'(sqlplus sys/liuyubin as sysdba)
说明:直接以sys权限登陆
(3) SQL> connect / as sysdba
说明:进入sqlplus环境后,以sys权限登陆(本地登陆)
(4) SQL>connect sys@service_name as sysdba
说明:进入sqlplus环境后,按照本地配置TNS服务名以sys权限登陆
(5) sqlplus username/passwd (as sysdba)
说明: 本地用户登陆
(6) sqlplus username/passwd@service_name (as sysdba)
说明: 按照TNS服务名登陆
2.3. 创建用户
命令语法:SQL> CREATE USER username IDENTIFIED BY passwd [ACCOUNT LOCK|UNLOCK]
2.4. 删除用户
命令语法:SQL> DROP USER username CASCADE
2.5. 查看所有用户
(1) 查看所有DBA用户:SELECT * FROM dba_users;
(2) 查看所有用户:SELECT * FROM all_users;
(3) 查看本用户:SELECT * FROM user_users;
2.6. 权限管理
(1) 用户权限分类
权限 |
说明 |
create session |
创建session权限,即登陆权限 |
alter session |
修改session权限 |
create cluster |
创建cluster权限 |
create database link |
创建数据库链接的权限 |
create sequence |
创建序列的权限 |
create synonym |
创建同义词的权限 |
create view |
创建视图的权限 |
create procedure |
创建过程的权限 |
create trigger |
创建触发器的权限 |
create type |
创建类型的权限 |
create table |
创建表权限 |
drop table |
删除表权限 |
insert table |
插入表权限 |
update table |
修改表权限 |
unlimited tablespace |
使用表空间权限 |
connect |
最基本权限,用于临时用户 |
resource |
resourcer角色权限,是授予开发人员的权限 |
all |
所有权限 |
(2) 授予用户权限
命令语法:SQL>GRANT privelige TO username
(3) 普通用户互授权(默认普通用户之间不能互访问)
命令语法:SQL>GRANT privilege TO username
命令参数:
privilege:
select on tablename
drop on tablename
insert on tablename
update on tablename
insert(id) on tablename
update(id) on tablename
alter all table
(4) 撤销用户权限
命令语法:SQL>REVOKE privelige FROM username
(5) 权限传递
命令语法:SQL>GRANT privilege TO username with admin option;
SQL> GRANT privilege TO username with grant option;
(6) 查看权限
查看当前用户所有权限:SQL> SELECT * FROM user_sys_privs;
查看当前用户对所有表的权限:SQL> SELECT * FROM user_tab_privs;
查看所有Oracle提供的系统权限:SQL>SELECT name FROM sys.system_privilege_map;
2.7. 角色(role)
说明:角色即权限的集合,引入角色是为了方便管理,概念类似于WINDOWS中的用户组
(1) 创建角色:SQL> CREATE ROLE rolename;
(2) 赋予角色权限集合:SQL> GRANT privilege TO rolename;
(3) 用角色赋予用户权限:GRANT rolename TO username;
(4) 删除角色:SQL>DROP ROLE rolename;
2.8. 修改用户属性
命令语法:ALTER USER username operation
(1) 修改用户密码:SQL> Alter USER username IDENTIFIED BY passwd;
(2) 修改用户锁定状态:SQL> Alter USER username ACCOUNT LOCK|UNLOCK;