国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

ORACLE數據庫對象與用戶管理

2024-08-29 13:47:34
字體:
來源:轉載
供稿:網友
Oracle數據庫對象與用戶治理 一、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’>ONLINESQL>CREATE TABLESPACE jxzy ONLINE刪除表空間
SQL>DROP TABLESPACE jxzy>INCLUDING CONTENTS1. 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_cable1. 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_privs2.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_privs2.5 角色的治理ORACLE的角色是命名的相關特權組(包括系統特權與對象特權),ORACLE用它來簡化特權治理,可把它授予用戶或其它角色。ORACLE數據庫系統預先定義了CONNECT 、RESOURCE、 DBA、 EXP_FULL_DATABASE、 IMP_FULL_DATABASE五個角色。CONNECT具有創建表、視圖、序列等特權;RESOURCE具有創建過程、觸發器、表、序列等特權、DBA具有全部系統特權;EXP_FULL_DATABASE、 IMP_FULL_DATABASE具有卸出與裝入數據庫的特權。通過查詢sys.dba_sys_privs可以了解每種角色擁有的權利。授予用戶角色
SQL>GRANT DBA TO new_administractor>WITH GRANT OPTION;
 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 武胜县| 深圳市| 高淳县| 莲花县| 精河县| 漳州市| 铁岭市| 舒城县| 武宁县| 巢湖市| 靖西县| 红原县| 石狮市| 拉萨市| 巫山县| 新源县| 连江县| 宜川县| 泰和县| 延庆县| 南召县| 福鼎市| 化德县| 芷江| 通州区| 三门峡市| 卢湾区| 甘肃省| 吉林市| 青神县| 宝坻区| 广饶县| 澄城县| 泉州市| 德化县| 罗甸县| 隆尧县| 商洛市| 鄱阳县| 墨竹工卡县| 嵩明县|