1. 程式人生 > >oracle中資料庫,例項,表空間和使用者之間的關係

oracle中資料庫,例項,表空間和使用者之間的關係

完整的Oracle資料庫通常由兩部分組成:Oracle資料庫和資料庫例項。
1) 資料庫是一系列物理檔案的集合(資料檔案,控制檔案,聯機日誌,引數檔案等);
2) Oracle資料庫例項則是一組Oracle後臺程序/執行緒以及在伺服器分配的共享記憶體區。

在啟動Oracle資料庫伺服器時,實際上是在伺服器的記憶體中建立一個Oracle例項(即在伺服器記憶體中分配共享記憶體並建立相關的後臺記憶體),然後由這個Oracle資料庫例項來訪問和控制磁碟中的資料檔案。Oracle有一個很大的記憶體快,成為全域性區(SGA)。

一、資料庫、表空間、資料檔案

1、資料庫

資料庫是資料集合。Oracle是一種資料庫管理系統,是一種關係型的資料庫管理系統。
通常情況了我們稱的“資料庫”,並不僅指物理的資料集合,他包含物理資料、資料庫管理系統。也即物理資料、記憶體、作業系統程序的組合體。



我們在安裝Oracle資料庫時,會讓我們選擇安裝啟動資料庫(即預設的全域性資料庫)如下圖:

全域性資料庫名:就是一個數據庫的標識,在安裝時就要想好,以後一般不修改,修改起來也麻煩,因為資料庫一旦安裝,資料庫名就寫進了控制檔案,資料庫表,很多地方都會用到這個資料庫名。

啟動資料庫:也叫全域性資料庫,是資料庫系統的入口,它會內建一些高階許可權的使用者如SYS,SYSTEM等。我們用這些高階許可權賬號登陸就可以在資料庫例項中建立表空間,使用者,表了。

查詢當前資料庫名:

select name from v$database;

2、資料庫例項

用Oracle官方描述:例項是訪問Oracle資料庫所需的一部分計算機記憶體和輔助處理後臺程序,是由程序和這些程序所使用的記憶體(SGA)所構成一個集合。

其實就是用來訪問和使用資料庫的一塊程序,它只存在於記憶體中。就像Java中new出來的例項物件一樣。



我們訪問Oracle都是訪問一個例項,但這個例項如果關聯了資料庫檔案,就是可以訪問的,如果沒有,就會得到例項不可用的錯誤。

例項名指的是用於響應某個資料庫操作的資料庫管理系統的名稱。她同時也叫SID。例項名是由引數instance_name決定的。

查詢當前資料庫例項名:

select instance_name from v$instance;

資料庫例項名(instance_name)用於對外部連線。在作業系統中要取得與資料庫的聯絡,必須使用資料庫例項名。比如我們作開發,要連線資料庫,就得連線資料庫例項名:

jdbc:oracle:thin:@localhost:1521:orcl(orcl就為資料庫例項名)

一個數據庫可以有多個例項,在作資料庫服務叢集的時候可以用到。


3、表空間

Oracle資料庫是通過表空間來儲存物理表的,一個數據庫例項可以有N個表空間,一個表空間下可以有N張表

有了資料庫,就可以建立表空間。

表空間(tablespace)是資料庫的邏輯劃分,每個資料庫至少有一個表空間(稱作SYSTEM表空間)。為了便於管理和提高執行效率,可以使用一些附加表空間來劃分使用者和應用程式。例如:USER表空間供一般使用者使用,RBS表空間供回滾段使用。一個表空間只能屬於一個數據庫。

建立表空間語法:

Create TableSpace 表空間名稱  
DataFile          表空間資料檔案路徑  
Size              表空間初始大小  
Autoextend on

如:

create tablespace db_test  
datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf'  
size 50m  
autoextend on;

檢視已經建立好的表空間:

select default_tablespace, temporary_tablespace, d.username  
from dba_users d

4、使用者

Oracle資料庫建好後,要想在資料庫裡建表,必須先為資料庫建立使用者,併為使用者指定表空間。

上面我們建好了資料庫和表空間,接下來建使用者:

建立新使用者:

CREATE USER          使用者名稱  
IDENTIFIED BY        密碼  
DEFAULT TABLESPACE   表空間(預設USERS)  
TEMPORARY TABLESPACE 臨時表空間(預設TEMP) 

如:

CREATE USER utest  
IDENTIFIED BY utestpwd  
DEFAULT TABLESPACE db_test  
TEMPORARY TABLESPACE temp;(這裡臨時表空間不能使用我們建立的db_test,不知為何?) 

有了使用者,要想使用使用者賬號管理自己的表空間,還得給它分許可權:

GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba為最高階許可權,可以建立資料庫,表等。

檢視資料庫使用者:

select  * from dba_users;


5、表

有了資料庫,表空間和使用者,就可以用自定義的使用者在自己的表空間建立表了。有了表,我們可以開發了。

轉載:http://yuwenlin.iteye.com/blog/1882988

相關推薦

oracle資料庫例項空間使用者之間關係

完整的Oracle資料庫通常由兩部分組成:Oracle資料庫和資料庫例項。 1) 資料庫是一系列物理檔案的集合(資料檔案,控制檔案,聯機日誌,引數檔案等); 2) Oracle資料庫例項則是一組Oracle後臺程序/執行緒以及在伺服器分配的共享記憶體區。 在啟動Oracle資料庫伺服器時,實際上是在伺服

Oracle怎麽查看空間的文件路徑

linux oracle 表空間位置 select t1.name,t2.name from v$tablespace t1,v$datafile t2 where t1.ts# = t2.ts#;select * from dba_data_files;Oracle中怎麽查看表空間的文件路徑

資料庫例項空間、使用者、之間關係

完整的Oracle資料庫通常由兩部分組成:Oracle資料庫和資料庫例項。  1) 資料庫是一系列物理檔案的集合(資料檔案,控制檔案,聯機日誌,引數檔案等);  2) Oracle資料庫例項則是一組Oracle後臺程序/執行緒以及在伺服器分配的共享記憶體區。 在啟動Oracl

oracle 匯入資料庫前需要建立空間及使用者/使用者授權

以下sql 語句依次執行 --建立表空間   xxx為表空間名  'e:\oraclechen\chen.dbf' 為表空間在磁碟位置 create tablespace xxx datafile 'e:\oraclechen\chen.dbf'  size 50m a

oracle建立作業(跨空間

        需求:每月1日執行,從TableSpace為SDE的幾張表中讀取每個工程的設施數量,儲存於TableSpace為SCOTT的T_DIC_MTTYP中         環境:PLSQL         步驟: 1. 建立儲存過程(在TableSpace為SC

Oracle資料庫例項的區別

一個數據庫可以包含一個或者多個例項 例項的定義:由作業系統後臺程序和分配的記憶體區域構成。說 得簡單點就是oracle在nomount狀態就分配了記憶體區域,一個實 例也就差不多快形成了。 例項是個動態概念,它由一系列程序和記憶體區域組成;而資料庫是個靜

用Toad for Oracle創建數據庫空間用戶

創建數據庫 ssi 密碼 ble src base ace 創建用戶 pac 打開Toad, 1,菜單欄Session—>new Connection….打開如下窗口: 2,進入之後,菜單DatebaseàSechema Brower。。。找到Table Spa

Oracle資料庫例項空間使用者之間關係簡析

一、資料庫   我們在安裝Oracle資料庫時,會讓我們選擇安裝啟動資料庫(即預設的全域性資料庫)如下圖:全域性資料庫名:就是一個數據庫的標識,在安裝時就要想好,以後一般不修改,修改起來也麻煩,因為資料庫一旦安裝,資料庫名就寫進了控制檔案,資料庫表,很多地方都會用到這個資

oracle建立資料空間、使用者為使用者賦許可權

在cmd中輸入sqlplus/nolog使用者oracle超級管理員使用者登入SQL>conn / as sysdba;建立表空間(刪除表空間語句:drop tablespace test;)SQ

ORACLE 錯誤 1659資料庫匯入dmp臨時空間記憶體不夠

今兒在自己電腦上搭建開發環境,在給資料庫匯入表結構以及資料時出現“IMP-00017: 由於 ORACLE 錯誤 1659, 以下語句失敗:”錯誤。查看錶空間是夠用的。下面是解決方法(原文連結:http://songworld.diandian.com/post/2012-08-11/4003373603

Oracle查看空間創建空間

con 查看表 刪除 app 創建 auto toe light globe 查看表空間: SELECT tablespace_name, file_id, file_name, round(bytes / (1024 * 1024), 0) total_

OracleV$SESSION等各的欄位解釋Oracle官方解釋

一、常用的檢視 1.會話相關檢視 View Description V$PROCESS Contains information about the currently active processes

資料庫Oracle - 資料庫例項服務名SID

轉載自:http://www.zhetao.com/content240 絕對清楚的區分資料庫,例項,服務名,SID 在實際的開發應用中,關於Oracle資料庫,經常聽見有人說建立一個數據庫,建立一個Instance,啟動一個Instance之類的話。其實問他們什麼是資料庫,什麼是Ins

Oracle查詢當前資料庫的所有空間對應的資料檔案語句命令

--轉載路徑:http://www.cnblogs.com/wangsaiming/p/3573917.html --------------------------------------------------------------------------------

Oracle 11g安裝步驟以及Oracle11g建立空間使用者並授權

Oracle 11g安裝步驟詳解 一、Oracle 下載 注意Oracle分成兩個檔案,下載完後,將兩個檔案解壓到同一目錄下即可。 路徑名稱中,最好不要出現中文,也不要出現空格等不規則字元。   官方下地址: http://www.oracle.com/techn

建立資料庫然後建立空間、建使用者、授權、用IMP匯入DMP檔案

1.最近做專案,要匯入Oracle的dmp檔案,很多年前用過oracle,該用的技術隨著時間都忘記的差不多了,現在標記在此,以免再次遇到同樣的問題而感到無措。 匯入dmp檔案,需要知道這個dmp檔案建立的使用者。因此需要先建立使用者,並授權給它。 (1)使用者的建立 首先,以system使用者登入Orac

關於Oracledbms_jobs的使用異常:或檢視不存在

oracle 中dbms_jobs的使用介紹:  例子:建立兩張表,A1,A2。建表語句如下: create table A1 (   id VARCHAR2(100) not null,   rq VARCHAR2(50) ) tablespace TS_GGSJ  

Oracle資料庫誤刪怎樣恢復結構資料

誤刪Oracle資料庫表,恢復表結構及資料 必要條件:Oracle版本必須在10G以上 操作如下: 1.先找到原有表還在資料庫的時間 select timestamp_to_scn(to_timestamp('2017-02-21 09:00',              

oracle通過plsql建立使用者空間所屬使用者示例

1)建立表空間:       先以oracle資料庫管理員的身份登入plsql,在plsql中新建sql命令框,在其中輸入如下語句,執行完畢即可建立一個表空間。 建立使用者表空間 建立表空間(一般建N個存資料的表空間和一個索引空間): CREATE TABLESPACE

oracle計算某個數據所占空間的比例

segments tab sele 資料 nts eight fault ont sql 要求計算某個表所占表空間的大小,網上查了些資料用到了oracle的3個視圖。具體sql如下 select segment_name as tablename, roun