完整的Oracle數(shù)據(jù)庫通常由兩部分組成:Oracle數(shù)據(jù)庫和數(shù)據(jù)庫實(shí)例。 在啟動(dòng)Oracle數(shù)據(jù)庫服務(wù)器時(shí),實(shí)際上是在服務(wù)器的內(nèi)存中創(chuàng)建一個(gè)Oracle實(shí)例(即在服務(wù)器內(nèi)存中分配共享內(nèi)存并創(chuàng)建相關(guān)的后臺(tái)內(nèi)存),然后由這個(gè)Oracle數(shù)據(jù)庫實(shí)例來訪問和控制磁盤中的數(shù)據(jù)文件。Oracle有一個(gè)很大的內(nèi)存快,成為全局區(qū)(SGA)。 一、數(shù)據(jù)庫、表空間、數(shù)據(jù)文件 1、數(shù)據(jù)庫 數(shù)據(jù)庫是數(shù)據(jù)集合。Oracle是一種數(shù)據(jù)庫管理系統(tǒng),是一種關(guān)系型的數(shù)據(jù)庫管理系統(tǒng)。 select name from v$database;
2、數(shù)據(jù)庫實(shí)例 用Oracle官方描述:實(shí)例是訪問Oracle數(shù)據(jù)庫所需的一部分計(jì)算機(jī)內(nèi)存和輔助處理后臺(tái)進(jìn)程,是由進(jìn)程和這些進(jìn)程所使用的內(nèi)存(SGA)所構(gòu)成一個(gè)集合。 select instance_name from v$instance; 數(shù)據(jù)庫實(shí)例名(instance_name)用于對(duì)外部連接。在操作系統(tǒng)中要取得與數(shù)據(jù)庫的聯(lián)系,必須使用數(shù)據(jù)庫實(shí)例名。比如我們作開發(fā),要連接數(shù)據(jù)庫,就得連接數(shù)據(jù)庫實(shí)例名: jdbc:oracle:thin:@localhost:1521:orcl(orcl就為數(shù)據(jù)庫實(shí)例名) 一個(gè)數(shù)據(jù)庫可以有多個(gè)實(shí)例,在作數(shù)據(jù)庫服務(wù)集群的時(shí)候可以用到。
Oracle數(shù)據(jù)庫是通過表空間來存儲(chǔ)物理表的,一個(gè)數(shù)據(jù)庫實(shí)例可以有N個(gè)表空間,一個(gè)表空間下可以有N張表。 有了數(shù)據(jù)庫,就可以創(chuàng)建表空間。 表空間(tablespace)是數(shù)據(jù)庫的邏輯劃分,每個(gè)數(shù)據(jù)庫至少有一個(gè)表空間(稱作SYSTEM表空間)。為了便于管理和提高運(yùn)行效率,可以使用一些附加表空間來劃分用戶和應(yīng)用程序。例如:USER表空間供一般用戶使用,RBS表空間供回滾段使用。一個(gè)表空間只能屬于一個(gè)數(shù)據(jù)庫。 創(chuàng)建表空間語法: Create TableSpace 表空間名稱 DataFile 表空間數(shù)據(jù)文件路徑 Size 表空間初始大小 Autoextend on 如: create tablespace db_test datafile 'D:\oracle\product\10.2.0\userdata\db_test.dbf' size 50m autoextend on; 查看已經(jīng)創(chuàng)建好的表空間: select default_tablespace, temporary_tablespace, d.username from dba_users d
4、用戶 Oracle數(shù)據(jù)庫建好后,要想在數(shù)據(jù)庫里建表,必須先為數(shù)據(jù)庫建立用戶,并為用戶指定表空間。 上面我們建好了數(shù)據(jù)庫和表空間,接下來建用戶: 創(chuàng)建新用戶: CREATE USER 用戶名 IDENTIFIED BY 密碼 DEFAULT TABLESPACE 表空間(默認(rèn)USERS) TEMPORARY TABLESPACE 臨時(shí)表空間(默認(rèn)TEMP) 如: CREATE USER utest IDENTIFIED BY utestpwd DEFAULT TABLESPACE db_test TEMPORARY TABLESPACE temp;(這里臨時(shí)表空間不能使用我們創(chuàng)建的db_test,不知為何?) 有了用戶,要想使用用戶賬號(hào)管理自己的表空間,還得給它分權(quán)限: GRANT CONNECT TO utest; GRANT RESOURCE TO utest; GRANT dba TO utest;--dba為最高級(jí)權(quán)限,可以創(chuàng)建數(shù)據(jù)庫,表等。 查看數(shù)據(jù)庫用戶: select * from dba_users;
有了數(shù)據(jù)庫,表空間和用戶,就可以用自定義的用戶在自己的表空間創(chuàng)建表了。有了表,我們可以開發(fā)了。 |
|