Oracle數據庫 語法操作彙總(五)(完結)

oracle各種語法操作的彙總第五部分

修改序列
alter sequence 序列名
【increment by n】
【macvalue m】

刪除序列
drop sequence 序列名
rowid:僞列,系統自動產生。rowid能唯一識別出每一條數據庫記錄的物理地址,通過rowid可以快速定位到一條行動記錄。
woeid組成:數據對象編號(6位),相關文件編號(3位) 快編號(6位) 行編號(3位)

索引(index)
分類:單列索引:索引建立在一列上
          符合索引:索引建立在某幾列上
創建索引:
          自動創建:當在建表的時候,使用了PRIMARY KET或者是UNIQUE約束時,數據庫會自動創建一個索引
手工創建:
          CREATE INDEX 索引名
          ON 表名(列名1,列名2,...)
注意:索引名命名規範:idx_表名_列名
eg.CREATE index idx_emp_deptnojob
      ON emp(deptno,job);

CREATE e1 AS SELECT * FROM emp;複製emp未複製約束

刪除索引:
DROP INDEX 索引名;

用戶管理:
1)Oracl數據庫的初始用戶
a:SYS:超級管理員,權限最大的,可以修改,啓動,關閉數據庫。
b:SYSTEM:一般管理員(輔助管理員),他不可以啓動和關閉數據。主要進行一些管理操作:創建用戶,刪除用戶等
c:SCOTT:用來測試網絡連接
d:PUBLIC: 它本質上時一個用戶組,數據庫中的任何一個用戶都屬於該組。因爲要爲數據庫中的每個用戶授權,則
可以把授權直接授予PUBLIC組

2)用戶屬性:
a:身份認證:數據庫身份認證,外部身份認證,全局身份認證
b:默認表空間
c:臨時表空間
d:表空間配額
e:概要文件
f:賬號狀態

3)創建用戶
CREATE USER 用戶名 INDENTIFIED
【BY 密碼 EXTERNALLY GLOBALLY AS ‘external_name'】
【DEFAULT TABLESPACE tablespace_name】
【TEMPORARY TABLESPACE tablespace_name】
【QUOTA n K或M UNLIMITED ON tablespace——name】K M爲單位 KB MB
【PROFILE profile name】
【PASSWORD EXPIRE】
【ACCOUNT LOCK或UNLOCK】
範例:創建一個用戶user3,口令爲user3,默認表空間爲USERS,該表空間的配額爲10MB,初始狀態鎖定
CREATE USER user3 IDENTIFIED BY user3
DEFAULT TABLESPACE USERS QUOTA 10M ON USERS ACCOUNT LOCK;

修改賬號:與創建賬號不同的地方有2處
1)ALTER USER 用戶名 【IDENTIFIED】
2)【DEFAULT ROLE role_list ALL 【Except role_list】NONE】

範例:修改用戶user3的默認表空間爲ORCCTBS1,在該表空間的配額爲20MB,在USERS表空間的配額爲5MB
ALTER USER users DEFAULT TABLESPACE ORCCTBS1 QUOTA 20M ON ORCLTBS1
QUOTA 5 M ON USERS

刪除用戶:
DROP user 用戶名 【cascade】;  cascade的作用:不論是否有表,直接刪除用戶,其他引用該沒有用戶的數據將變爲失效狀態

查詢用戶:
1)ALL-USERS:包含數據庫所有用戶的用戶名,用戶id與創建時間
2)DBA_USERS:包含數據庫所有用戶的詳細信息
3)USER_USERS包含當前用戶的詳細信息
4)DBA_TS_QUOTAS:包含所有用戶的表空間
5)USER_TS_QUOTAS:包含當前用戶的表空間
6)V$SESSION:包含用戶會話信息
7)V$OPEN_CURSOR:包含用戶執行的SQL語句
eg.select * from V$OPEN_CURSOR

權限管理:系統權限,對象權限
系統權限:
1)注意事項:
a:只有DBA才能擁有ALTER DATABASE系統權限
b:應用程序開發者一般需要擁有的時CREATE TABLE,CREATE VIEW與CREATE INDEX
c:普通用戶一般只句有CREATE SESSION系統權限
d:只有授權時帶有WITH ADMIN OPTION子句時,用戶纔可以將獲得的系統權限再次授予給其他用戶,即系統權限的傳遞性
2)語法格式:
GRANT 系統權限 TO 用戶角色 PUBLIC 【WITH ADMIN OPTION】 (權限傳遞)
注意:
a:如果授予多個系統權限,則之間用逗號分隔
b:如果授予多個用戶,則之間用逗號分隔
eg.GRANT CREATE SESSION TO user3
eg.GRANT CREATE SESSION,CREATE TABLE,CREATE VIEW TO user2 WITH ADMIN OPTION

權限的回收
REVOKE 系統權限 FROM 用戶列表|角色列表|PUBLIC
eg.REVOKE CRETAE TABLE FROM user1;

user1授予權限A給user2,uer2再將權限A授予user3,即使user2的A權限被user1回收,user3仍具有A權限

對象權限:
1)對象權限的授予:允許再授權,即user1給user2,user2可以給user3,但在非system用戶情況下要加上with grant option
grant 對象權限列表 all on 對象 to 用戶列表 角色列表 【with grant option】
eg.將emp表的select,update,insert權限授予user1
eg.grant select,update,insert on scott.emp to user1;(指明是scott下的emp表)
2)對象權限的回收
revoke 對象權限列表 all on 對象 from
eg.revoke select,update on scott.emp from user1;

查詢權限信息
DBA_TAB_PRIVS
ALL_TAB_PRIVS
USER_TAB_PRIVS
DBA_COL_PRIVS
ALL_COL_PRIVS
USER_COL_PRIVS
DBA_SYS_PRIVS
USER_SYS_PRIVS
eg. select * from DBA_TAB_PRIVS

角色管理:
    角色:一系列相關全西安的集合
    角色分類:系統預定義角色和用戶預定義角色
1)系統預定義角色:conn system/tiger;
        select * from DBA_ROLES;(有33個)
2)用戶自定義角色:
a:創建角色
create role 角色名稱 【not identified】【identified by 密碼】
create role middle_tiger_role identified by middle_tiger_role

grant connect,create table,create view to middle_tiger_role
注意:給角色授權時需要注意,一個角色可以被授予另一個角色。但不能授予其本身,不能產生循環授權。
3)修改角色:
    讓角色生效/失效
alter role 角色名稱【not identified】【identified by 密碼】爲high_tiger_role 添加口令
eg.alter role high_tiger_role identified by highrole

4)刪除角色:
   drop role 角色名稱

利用角色進行權限管理
1)給用戶角色授予角色
grant 角色列表 to 用戶列表 角色列表
eg. grant connect,high_tiger_role to user1; (connect是指connect 權限)
2)從用戶或角色回收角色
  revoke 角色列表 from 用戶列表角色列表
eg.revoke resoruce,connect from middle_tiger_role
3)用戶角色的激活或屏蔽
alter user 用戶名 default role 【角色名稱】【all【except 角色列表】】【none】
eg.屏蔽用戶的所有角色
alter user user1 default role none

查詢角色信息
  DBA_ROLES
  DBA_ROLE_PRIVS
  USER_ROLE_PRIVS
  ROLE_ROLE_PRIVS
  ROLE_SYS_PRIVS
  ROLE_SYS_PRIVS
  ROLE_TAB_PRIVS
  SESSION_PRIVS
  SESSION_ROLES

概要文件
  概要文件是數據庫和系統資源限制的集合。是Oracle數據庫的安全策略的重要組成部分。
利用概要文件,可以限制用戶對數據庫與系統資源的使用,還可以對用戶口令進行管理。
  每個數據庫用戶都必須有一個概要文件,通常DBA將用戶份額爲i集中類型,然後每種類型的
用戶創建一個概要文件。
  系統資源的限制包括:
1)CPU使用時間
2)每個用戶的併發會話數
3)用戶連接數據庫的時間
4)用戶連接數據庫的控制時間
5)私有SQL區與PL SQL區的使用

a:創建概要文件:
create profile 概要文件名稱 limit 系統資源限制參數,口令管理參數
eg.
create profile pwd_profile limit failed_attempts 4 password_lock_time 10;
eg.創建一個名爲res_profile的概要文件,要求每個用戶最多可以創建4個併發會話,每個會話的持續時間
最長爲60分鐘,如果繪畫在連續20分鐘內空閒,則結束會話。
eg.create profile res_profile limit
session_per_user 4 connect_time 60 idle time 20 private_sga 100k
cpu_per call 1000;

b:將概要文件分配給用戶
1.在創建用戶的時候指定概要文件
create user user_5 identified by user5 profile res_profile;
2.爲用戶指定概要文件(替換默認的概要文件)
alter user user5 profile pwd_profile;

c:刪除概要文件
drop profile 概要文件名稱 casacde;

d:查詢概要文件
user_password_limits
user_resource_limits
dba_profiles

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章