国产精品一区二区在线观看完整版,在线观看91精品国产性色,欧美日韩另类视频

杭州校區切換校區
圖標

學習文章

當前位置:首頁 > >學習文章 > >

Oracle的表空間、用戶和用戶授權

發布時間: 2017-06-16 13:40:50

一、Oracle表空間

1.Oracle表空間與SQL Server文件組對比

SQL Server的文件組(文件組包括若干MDF,NDF數據文件)對我們來說并不陌生,前段時間我在博客“怎樣玩轉千萬級別的數據” 提到了過表分區的概念,其實表分區說到本質上就是按一定條件把不同數據放在不同的數據文件里,這些數據文件在物理上是相對獨立的,在邏輯上又是一個整體。特別強調一下,在SQL Server中,建表時是默認把所有的表都保存在PRIMARY默認文件組 ,當數據庫中表很多,并且數據量很大時,會導致數據庫性能嚴重下降,對于一些大數據的處理,有必要將一些大表數據放到不同的文件組中,以提高數據庫的性能。這也是優化SQL Server 數據庫的一個重要手段。

從SQL Server轉到Oracle也許會感到不適,因為Oracle里沒有文件組和數據文件的概念。但是有表空間的概念,表空間是Oracle的邏輯結構,一個Oracle數據庫可以有一個或者多個表空間,一個表空間又對應著多個物理的數據庫文件。其實SQL Server的文件組轉到Oracle就是表空間,Oracle的表空間轉到SQL Server就是文件組。這篇博文重點來討論Oracle的表空間。

2.創建,修改,刪除Oracle表空間

Oracle的表空間分了幾種類型,臨時表空間,用戶表空間,還原表空間,大文件表空間等,我選擇臨時表空間和用戶表空間為例來演示怎么在Oracle中創建表空間,創建表空間,一般都是DBA干的事情,所以我選擇sys的用戶登錄創建表空間。

2.1創建臨時表空間,用TEMPFILE 關鍵字,下邊幾個參數要重點注意一下。

SIZE *[K,M]表空間的初始大小,單位可以是[K,M]

MAXSIZE *[K,M]表空間的較大存儲值,maxsize unlimited 是指表空間的大小不受限制。

AUTOEXTEND ON NEXT *[K,M] 設置表空間自動擴展

EXTENT MANAGEMENT LOCAL本地管理表空間。

extent是“區間”的意思,在oracle數據庫中:extent management 有兩種方式 extent management local(本地管理); extent management dictionary(數據字典管

理)默認的是local本地管理表空間有自動分配(AUTOALLOCATE)和統一大小分配(UNIFORM)兩種空間分配方式,自動分配方式(AUTOALLOCATE)是由系統來自動決定extents

大小,而統一大小分配(UNIFORM)則是由用戶指定extents大小。這兩種分配方式都提高了空間管理效率。uniform:默認為1M大小,在temp表空間里為默認的,但是不能被應用

在undo表空間.

--創建
CREATE TEMPORARY TABLESPACE  tsTempTest
TEMPFILE 
'E:DataBasetsTempTest01.dbf' SIZE 64M AUTOEXTEND ON NEXT 32M MAXSIZE 1024M,
'E:DataBasetsTempTest02.dbf' SIZE 64M AUTOEXTEND ON NEXT 32M MAXSIZE 1024M,
'E:DataBasetsTempTest03.dbf' SIZE 64M AUTOEXTEND ON NEXT 32M MAXSIZE 1024M EXTENT MANAGEMENT LOCAL;

--增加
ALTER TABLESPACE tsTempTest 
ADD TEMPFILE
 'E:DataBasetsTempTest04.DBF' SIZE 64M AUTOEXTEND ON NEXT 32M maxsize unlimited;

--刪除
DROP TABLESPACE tsTempTest INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

2.2創建用戶表空間,參數與臨時表空間基本一致

--創建
CREATE TABLESPACE tsUserTest
datafile 
'E:DataBasetsUserTest01.dbf' size 64M AUTOEXTEND ON NEXT 32M maxsize unlimited ,
'E:DataBasetsUserTest02.dbf' size 64M AUTOEXTEND ON NEXT 32M maxsize unlimited ,
'E:DataBasetsUserTest03.dbf' size 64M  AUTOEXTEND ON NEXT 32M maxsize unlimited extent management local ;

--增加
ALTER TABLESPACE tsUserTest 
ADD DATAFILE
 'E:DataBasetsUserTest04.DBF' SIZE 64M AUTOEXTEND ON NEXT 32M maxsize unlimited;

--刪除
DROP TABLESPACE tsUserTest INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;

二、Oracle用戶

1.創建用戶

創建用戶時,需要注意如下幾個參數。

IDENTIFIED BY *** ,用戶的密碼。

DEFAULT TABLESPACE  *** 默認用戶表空間。

TEMPORARY TABLESPACE *** 默認臨時空間。

CREATE USER xcj01 IDENTIFIED BY xcj01
DEFAULT TABLESPACE tsUserTest
TEMPORARY TABLESPACE tsTempTest;

2.修改密碼

alter user xcj01
identified by xcj01;

3.刪除用戶以及跟用戶關聯的對象

drop user xcj01 CASCADE;

 

三、Oracle用戶授權

1.Oralce的特殊權限

1.1 系統權限unlimited tablespace是隱含在dba, resource角色中的一個系統權限. 當用戶得到dba或resource的角色時, unlimited tablespace系統權限也隱式受權給用戶.

1.2 系統權限unlimited tablespace不能被授予role, 可以被授予用戶.

1.3 系統權限unlimited tablespace不會隨著resource, dba被授予role而授予給用戶.

2.特殊角色

2.1 DBA角色,是授權數據庫管理員的權限

2.2 CONNECT角色, 是授予最終用戶的典型權利,最基本的  一個(CREATE SESSION)

2.3 RESOURCE 角色,是授予開發人員的  默認有八個權限(CREATE SEQUENCE,CREATE TRIGGER,CREATE CLUSTER,CREATE PROCEDURE,CREATE TYPE,CREATE OPERATOR,CREATE TABLE,CREATE INDEXTYPE)

2.4 exp_full_database角色,擁有導出數據庫的權限

2.5 imp_full_database角色,擁有導入數據庫的權限

3.用戶授權示

--授權
GRANT
CONNECT,                
RESOURCE,               
--DBA,                  
--unlimited tablespace,
CREATE  SESSION,         
CREATE ANY SEQUENCE,     
CREATE ANY TABLE,        
CREATE ANY VIEW ,        
CREATE ANY INDEX,        
CREATE ANY PROCEDURE,    
CREATE ANY DIRECTORY,    
ALTER  SESSION, 
ALTER ANY SEQUENCE,     
ALTER ANY TABLE,        
--ALTER ANY VIEW ,        --不能修改視圖
ALTER ANY INDEX,        
ALTER ANY PROCEDURE,    
--ALTER ANY DIRECTORY,    --不能修改目錄
--DROP  SESSION,       --不能刪除Session
DROP ANY SEQUENCE,     
DROP ANY TABLE,        
DROP ANY VIEW ,        
DROP ANY INDEX,        
DROP ANY PROCEDURE,    
DROP ANY DIRECTORY, select ANY TABLE, select ANY DICTIONARY,
INSERT ANY TABLE, update ANY TABLE, delete ANY TABLE,
DEBUG ANY PROCEDURE,
DEBUG CONNECT SESSION,
exp_full_database,  
imp_full_database     
TO xcj01;

四、查詢用戶的權限

以下的查詢中,基本都要以DBA的角色進行查詢,如果權限不夠,有可能查詢不出來數據。

 1.查看用戶擁有那些角色

select * from dba_role_privs a where a.grantee='XCJ01';
--或 select * from dba_sys_privs a where a.grantee='XCJ01';

2.查看角色擁有那些權限

select ROLE, PRIVILEGE from role_sys_privs where role='RESOURCE';   --RESOURCE,CONNECT,DBA
--或 select grantee,privilege from dba_sys_privs where grantee='RESOURCE';

3.為用戶取消角色

revoke resource from XCJ01;

 4.為用戶取消權限

revoke unlimited tablespace from XCJ01;

5.最后附加一個非常有用的技巧:查看Oracle的版本號。

select * from v$version where rownum 1;
 
 
 

上一篇: {思科CCNP-RS}Directed-broadcast課程學習

下一篇: {Java培訓}軟件開發layer-list學習

在線咨詢 ×

您好,請問有什么可以幫您?我們將竭誠提供最優質服務!

<bdo id="pdyax"></bdo>

    <pre id="pdyax"></pre>
    <menuitem id="pdyax"></menuitem>
      <form id="pdyax"><tbody id="pdyax"></tbody></form>

      1. <center id="pdyax"><center id="pdyax"></center></center>
          1. 主站蜘蛛池模板: 思南县| 连云港市| 清流县| 大英县| 马龙县| 周口市| 永吉县| 武鸣县| 都兰县| 呼伦贝尔市| 长海县| 宜阳县| 平乐县| 襄樊市| 邵武市| 鄂伦春自治旗| 将乐县| 平陆县| 师宗县| 长垣县| 高雄市| 清远市| 崇文区| 望城县| 都江堰市| 喀喇沁旗| 德安县| 潢川县| 钟祥市| 安岳县| 双流县| 定安县| 蒙山县| 东莞市| 陆河县| 桐柏县| 蒙自县| 靖宇县| 华蓥市| 余姚市| 屏山县|