ORACLE資料庫物件與使用者管理(轉)
ORACLE資料庫物件與使用者管理(轉)[@more@] 一、ORACLE資料庫的模式物件的管理與維護 本節的主要內容是關於ORACLE資料庫的模式物件的管理與維護,這些模式物件包括:表空間、表、檢視、索引、序列、同義詞、聚集和完整性約束。對於每一個模式物件,首先描述了它的定義,說明了它的功能,最後以基於SQL語言的例項說明如何對它們進行管理於維護。 1.1 表空間 由於表空間是包含這些模式物件的邏輯空間,有必要先對它進行維護。 建立表空間 SQL>CREATE TABLESPACE jxzy >DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’ >ONLINE; 修改表空間 SQL>ALTER TABLESPACE jxzy OFFLINE NORMAL; SQL>ALTER TABLESPACE jxzy >RENAME DATAFILE ‘/usr/oracle/dbs/jxzy.dbf’ >TO ‘/usr/oracle/dbs/jxzynew.dbf’ >ONLINE SQL>CREATE TABLESPACE jxzy ONLINE 刪除表空間 SQL>DROP TABLESPACE jxzy >INCLUDING CONTENTS 1. 2 表維護 表是資料庫中資料儲存的基本單位,一個表包含若干列,每列具有列名、型別、長度等。 表的建立 SQL>CREATE TABLE jxzy.switch( >OFFICE_NUM NUMBER(3,0) NOT NULL, >SWITCH_CODE NUMBER(8,0) NOT NULL, >SWITCH_NAME VARCHAR2(20) NOT NULL); 表的修改 SQL>ALTER TABLE jxzy.switch >ADD (DESC VARCHAR2(30)); 表的刪除 SQL>DROP TABLE jxzy.switch >CASCADE CONSTRAINTS //刪除引用該表的其它表的完整性約束 1. 3 檢視維護 檢視是由一個或若干基表產生的資料集合,但檢視不佔儲存空間。建立檢視可以保護資料安全(僅讓使用者查詢修改可以看見的一些行列)、簡化查詢操作、保護資料的獨立性。 檢視的建立 SQL>CREATE VIEW jxzy.pole_well_view AS >(SELECT pole_path_num AS path, pole AS device_num FROM pole >UNION >SELECT pipe_path_num AS path, > well AS device_num FROM well); 檢視的替換 SQL>REPLACE VIEW jxzy.pole_well_view AS >(SELECT pole_path_num AS path, pole AS support_device FROM pole >UNION >SELECT pipe_path_num AS path, well AS support_device FROM well); 檢視的刪除 SQL>DROP VIEW jxzy.pole_well_view; 1.4 序列維護 序列是由序列發生器生成的唯一的整數。 序列的建立 SQL>CREATE SEQUENCE jxzy.sequence_cable >START WITH 1 >INCREMENT BY 1 >NO_MAXVALUE; 建立了一個序列,jxzy.sequence_cable.currval返回當前值,jxzy.sequence_cable.nextval 返回當前值加1後的新值 序列的修改 SQL>ALTER SEQUENCE jxzy.sequence_cable >START WITH 1 //起點不能修改,若修改,應先刪除,然後重新定義 >INCTEMENT BY 2 >MAXVALUE 1000; 序列的刪除 SQL>DROP SEQUENCE jxzy.sequence_cable 1. 5 索引維護 索引是與表相關的一種結構,它是為了提高資料的檢索速度而建立的。因此,為了提高表上的索引速度,可在表上建立一個或多個索引,一個索引可建立在一個或幾個列上。 對查詢型的表,建立多個索引會大大提高查詢速度,對更新型的表,如果索引過多,會增大開銷。 索引分唯一索引和非唯一索引 索引的建立 SQL>CREATE INDEX jxzy.idx_switch >ON switch(switch_name) >TABLESPACE jxzy; 索引的修改 SQL>ALTER INDEX jxzy.idx_switch >ON switch(office_num,switch_name) >TABLESPACE jxzy; 索引的刪除 SQL>DROP INDEX jxzy.idx_switch; 1. 6 完整性約束管理 資料庫資料的完整性指資料的正確性和相容性。資料完整型檢查防止資料庫中存在不符合語義的資料。 完整性約束是對錶的列定義一組規則說明方法。ORACLE提供如下的完整性約束. a. NOT NULL 非空 b. UNIQUE 唯一關鍵字 c. PRIMATY KEY 主鍵一個表只能有一個,非空 d. FOREIGA KEY 外來鍵 e.CHECK 表的每一行對指定條件必須是true或未知(對於空值) 例如: 某列定義非空約束 SQL>ALTER TABLE office_organization >MODIFY(desc VARCHAR2(20) >CONSTRAINT nn_desc NOT NULL) 某列定義唯一關鍵字 SQL>ALTER TABLE office_organization >MODIFY(office_name VATCHAR2(20) >CONSTRAINT uq_officename UNIQUE) 定義主鍵約束,主鍵要求非空 SQL>CREATE TABLE switch(switch_code NUMBER(8) >CONSTRAINT pk_switchcode PRIMARY KEY,) 使主鍵約束無效 SQL>ALTER TABLE switch DISABLE PRIMARY KEY 定義外來鍵 SQL>CREATE TABLE POLE(pole_code NUMBER(8), >office_num number(3) >CONSTRAINT fk_officenum >REFERENCES office_organization(office_num) >ON DELETE CASCADE); 定義檢查 SQL>CREATE TABLE office_organization( >office_num NUMBER(3), >CONSTRAINT check_officenum >CHECK (office_num BETWEEN 10 AND 99); 二、ORACLE資料庫使用者與許可權管理 ORACLE是多使用者系統,它允許許多使用者共享系統資源。為了保證資料庫系統的安全,資料庫管理系統配置了良好的安全機制。 2. 1 ORACLE資料庫安全策略 建立系統級的安全保證 系統級特權是透過授予使用者系統級的權利來實現,系統級的權利(系統特權)包括:建立表空間、建立使用者、修改使用者的權利、刪除使用者等。系統特權可授予使用者,也可以隨時回收。ORACLE系統特權有80多種。 建立物件級的安全保證 物件級特權透過授予使用者對資料庫中特定的表、檢視、序列等進行操作(查詢、增、刪改)的權利來實現。 建立使用者級的安全保證 使用者級安全保障透過使用者口令和角色機制(一組權利)來實現。引入角色機制的目的是簡化對使用者的授權與管理。做法是把使用者按照其功能分組,為每個使用者建立角色,然後把角色分配給使用者,具有同樣角色的使用者有相同的特權。 2.2 使用者管理 ORACLE使用者管理的內容主要包括使用者的建立、修改和刪除 使用者的建立 SQL>CREATE USER jxzy >IDENTIFIED BY jxzy_password >DEFAULT TABLESPACE system >QUATA 5M ON system; //供使用者使用的最大空間限額 使用者的修改 SQL>CREATE USER jxzy >IDENTIFIED BY jxzy_pw >QUATA 10M ON system; 刪除使用者及其所建物件 SQL>DROP USER jxzy CASCADE; //同時刪除其建立的實體 2.3系統特權管理與控制 ORACLE 提供了80多種系統特權,其中每一個系統特權允許使用者執行一個或一類資料庫操作。 授予系統特權 SQL>GRANT CREATE USER,ALTER USER,DROP USER >TO jxzy_new >WITH ADMIN OPTION; 回收系統特權 SQL>REVOKE CREATE USER,ALTER USER,DROP USER >FROM jxzy_new //但沒有級聯回收功能 顯示已被授予的系統特權(某使用者的系統級特權) SQL>SELECT*FROM sys.dba_sys_privs 2.4 物件特權管理與控制 ORACLE物件特權指使用者在指定的表上進行特殊操作的權利。這些特殊操作包括增、刪、改、檢視、執行(儲存過程)、引用(其它表欄位作為外來鍵)、索引等。 授予物件特權 SQL>GRANT SELECT,INSERT(office_num,office_name), >UPDATE(desc)ON office_organization >TO new_adminidtrator >WITH GRANT OPTION; //級聯授權 SQL>GRANT ALL ON office_organization >TO new_administrator 回收物件特權 SQL>REVOKE UPDATE ON office_orgaization >FROM new_administrator //有級聯回收功能 SQL>REVOKE ALL ON office_organization >FROM new_administrator 顯示已被授予的全部物件特權 SQL>SELECT*FROM sys.dba_tab_privs 2.5 角色的管理 ORACLE的角色是命名的相關特權組(包括系統特權與物件特權)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-957065/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫資料物件分析(轉)Oracle資料庫物件
- oracle資料庫系統管理(轉)Oracle資料庫
- 2 Day DBA-管理方案物件-管理Oracle資料庫軟體-升級資料庫物件Oracle資料庫
- 達夢資料庫使用者與模式管理資料庫模式
- 2 Day DBA-管理方案物件-管理Oracle資料庫軟體-升級資料庫-DBUA支援的資料庫版本物件Oracle資料庫
- Oracle資料庫管理Oracle資料庫
- ORACLE 資料庫管理員的職責(轉)Oracle資料庫
- Oracle資料庫資料物件分析(上)Oracle資料庫物件
- 2 Day DBA-管理方案物件-管理Oracle資料庫軟體-升級資料庫-啟動DBUA物件Oracle資料庫
- Oracle使用者——我渴望開源資料庫(轉)Oracle資料庫
- [轉]ORACLE資料庫管理員應做的事Oracle資料庫
- ORACLE 資料庫管理員的職責[轉貼]Oracle資料庫
- Oracle 資料庫管理指令碼命名規範(轉)Oracle資料庫指令碼
- 物件導向與資料庫物件資料庫
- js客戶端資料庫的物件與函式 (轉)JS客戶端資料庫物件函式
- IT專案管理 與 資料庫管理專案管理資料庫
- Oracle資料庫的備份與恢復(轉)Oracle資料庫
- Oracle 資料庫的備份與恢復(轉)Oracle資料庫
- Oracle與開源資料庫:自由就是力量(轉)Oracle資料庫
- Oracle 12c - 普通資料庫與容器資料庫不能相互轉化Oracle資料庫
- ORACLE使用者管理方式下備份資料和複製資料庫Oracle資料庫
- aix下oracle資料庫管理AIOracle資料庫
- 12、Oracle中的其它資料庫物件Oracle資料庫物件
- DB2資料庫與Oracle資料庫之間遠端複製(轉)DB2資料庫Oracle
- oracle資料庫與oracle例項Oracle資料庫
- Oracle 資料庫 10g:自我管理資料庫Oracle資料庫
- [原創] Oracle資料庫資源管理Oracle資料庫
- 雲資料庫管理與資料遷移資料庫
- ORACLE資料庫中SCN與時間的轉換Oracle資料庫
- Oracle資料庫安全策略與實現方法(轉)Oracle資料庫
- Oracle資料庫使用者刪除Oracle資料庫
- Oracle DG管理資料庫屬性Oracle資料庫
- Oracle資料庫索引管理規範Oracle資料庫索引
- Oracle資料庫管理 版主空間Oracle資料庫
- 轉載oracle資料庫鎖Oracle資料庫
- Oracle資料庫碎片整理(轉)Oracle資料庫
- oracle資料庫巡檢(轉)Oracle資料庫
- 手工建立oracle資料庫(轉)Oracle資料庫