1. 程式人生 > >oracle下的數據庫實例、表空間、用戶及其表的區分

oracle下的數據庫實例、表空間、用戶及其表的區分

分組 ext select 進程 ocm 組成 username 系列 聯系

oracle數據庫組成:

由oracle數據庫和數據庫實例兩部分組成;

數據庫是指一系列數據文件的集合,數據庫實例則是oracle後臺進程/線程以及在服務器分配的共享內存區;

查詢當前數據庫名

1 SQL> select name from v$database;
2 
3 NAME
4 ---------
5 ORCL

查詢當前數據庫實例名

數據庫實例名(instance_name)用於對外部連接。在操作系統中要取得與數據庫的聯系,必須使用數據庫實例名。比如我們作開發,要連接數據庫,就得連接數據庫實例名:

SQL> select instance_name from v$instance;

INSTANCE_NAME
---------------- orcl

表空間

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

有了數據庫,就可以創建表空間。

表空間(tablespace)是數據庫的邏輯劃分,每個數據庫至少有一個表空間(稱作系統表空間)。為了便於管理和提高運行效率,可以使用一些附加表空間來劃分用戶和應用程序。例如:用戶表空間供一般用戶使用,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;

查看已經創建好的表空間:

SQL> select default_tablespace, temporary_tablespace, d.username  from dba_users d;

DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           USERNAME
------------------------------ ------------------------------ --------------------------------------------------------------------------------------------------------------------------------
USERS TEMP ORACLE_OCM USERS TEMP C##WEN USERS TEMP OJVMSYS USERS TEMP SYSKM USERS TEMP XS$NULL USERS TEMP GSMCATUSER USERS TEMP MDDATA USERS TEMP SYSBACKUP USERS TEMP C##BINB USERS TEMP DIP USERS TEMP SYSDG

用戶

Oracle數據庫建好後,要想在數據庫裏建表,必須先為數據庫建立用戶,並為用戶指定表空間。

上面我們建好了數據庫和表空間,接下來建用戶:

創建新用戶:

CREATE USER          用戶名  
IDENTIFIED BY        密碼  
DEFAULT TABLESPACE   表空間(默認USERS)  
TEMPORARY TABLESPACE 臨時表空間(默認TEMP) 

如:

CREATE USER utest  
IDENTIFIED BY utestpwd  
DEFAULT TABLESPACE db_test  
TEMPORARY TABLESPACE temp;

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

GRANT CONNECT TO utest;  
GRANT RESOURCE TO utest;  
GRANT dba TO utest;--dba為最高級權限,可以創建數據庫,表等。

查看數據庫用戶:

select  * from dba_users;

有了數據庫,表空間和用戶,就可以用自定義的用戶在自己的表空間創建表了。有了表,我們可以開發了。

oracle下的數據庫實例、表空間、用戶及其表的區分