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;