fkjava

          BlogJava 首頁 新隨筆 聯(lián)系 聚合 管理
            49 Posts :: 0 Stories :: 0 Comments :: 0 Trackbacks

           

          對于初學(xué)者來講,在了解Oracle體系結(jié)構(gòu)之前必須掌握以下兩個基本的概念: 數(shù)據(jù)庫和實例。

              一、數(shù)據(jù)庫

              數(shù)據(jù)庫(database)是一個數(shù)據(jù)集合。

              無論數(shù)據(jù)庫是采用關(guān)系結(jié)構(gòu)還是面向?qū)ο蠼Y(jié)構(gòu), oracle數(shù)據(jù)庫都將

              其數(shù)據(jù)存放在數(shù)據(jù)文件中。 在其內(nèi)部, 數(shù)據(jù)庫結(jié)構(gòu)數(shù)據(jù)對文件的邏輯

              映射, 使不同的數(shù)據(jù)分開存儲, 這些邏輯劃分稱為表空間。

              表空間和文件介紹:

              1: 表空間

              表空間(tablespace)是數(shù)據(jù)庫的邏輯劃分, 每個數(shù)據(jù)庫至少有一個表空間,叫做系統(tǒng)表空間(system 表空間)。 一個表空間只能屬于一個數(shù)據(jù)庫。

              每個表空間由同一個磁盤上的一個或多個文件組成, 這些文件稱為數(shù)據(jù)文件。

              表空間的特性:

              1)控制數(shù)據(jù)庫數(shù)據(jù)磁盤分配

              2)限制用戶在表空間中可以使用的磁盤空間大小

              3)表空間具有 online, offline, readonly, readwrite屬性

              修改表空間的屬性:

              SQL> alter tablespace 表空間名稱 屬性;

              查詢表空間狀態(tài):

              SQL> select tablespace_name, status from dba_tablespaces;

              注意: system, undo, temp表空間不能設(shè)為offline屬性。

              4)完成部分?jǐn)?shù)據(jù)庫的備份與恢復(fù)

              5)表空間通過數(shù)據(jù)文件來擴(kuò)大, 表空間的大小等于構(gòu)成該表空間的所以數(shù)據(jù)文件的大小只和。

              查詢表空間與數(shù)據(jù)文件對應(yīng)關(guān)系:

              SQL> select tablespace_name, bytes, file_name from dba_data_files;

              基于表空間的幾個操作:

              1)查詢用戶缺省表空間:

              SQL> select username, default_tablespace from dba_users;

              2)查詢表與存儲該表的表空間:

              SQL> select table_name, tablespace_name from user_tables;

              3)修改用戶缺省表空間:

              SQL> alter user username default tablespace tablespace_name;

              4)將數(shù)據(jù)從一個表空間移動到另一個表空間:

              SQL> alter table table_name move tablespace tablespace_name;

              2.數(shù)據(jù)文件

              每個表空間由同一個磁盤上的一個或多個文件組成, 這些文件叫做數(shù)據(jù)文件(datafile),數(shù)據(jù)文件只能屬于一個表空間。 數(shù)據(jù)文件創(chuàng)建后可以改變大小。 創(chuàng)建新的表空間需要創(chuàng)建新的數(shù)據(jù)文件。 數(shù)據(jù)文件一旦加入到表空間中, 就不能從表空間中移走, 也不能與其他表空間發(fā)生聯(lián)系。

              數(shù)據(jù)庫必須的三類文件是 data file, control file, redolog file. 其他文件 prameter file,password file, archived log files并不是數(shù)據(jù)庫必須的, 他們只是輔助數(shù)據(jù)庫的。

              查看數(shù)據(jù)庫的物理文件組成:

              1)查看數(shù)據(jù)文件: SQL> select * from v$datafile;

              2)查看控制文件: SQL> select * from v$controlfile;

              3)查看日志文件: SQL> select * from v$logfile;

              二: 實例

              通俗的講實例就是操作oracle數(shù)據(jù)庫的一種手段。

              數(shù)據(jù)庫實例也稱作服務(wù)器, 是用來訪問數(shù)據(jù)庫文件集的存儲結(jié)構(gòu)及后臺進(jìn)程的集合。

              一個數(shù)據(jù)庫可以被多個實例訪問(稱為真正的應(yīng)用群集選項)。

              決定實例的大小及組成的各種參數(shù)或者存儲在名稱init.ora的初始化文件中, 或者隱藏

              在數(shù)據(jù)庫內(nèi)部的服務(wù)器參數(shù)文件中。 通過spfile引用該文件, spfile存儲在spfile.ora文件中。

              實例啟動時讀取初始化文件, 數(shù)據(jù)庫系統(tǒng)管理員可以修改該文件, 對初始化文件的修改只有在下次啟動時才有效。

              Instance分為兩部分:

              1: memory structure(內(nèi)存結(jié)構(gòu))

              memory structure分為兩部分:SGASystem Global Area)區(qū)是用于存儲數(shù)據(jù)庫信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫進(jìn)程所共享。它包含Oracle 服務(wù)器的數(shù)據(jù)和控制信息, 它是在Oracle 服務(wù)器所駐留的計算機(jī)的實際內(nèi)存中得以分配,如果實際內(nèi)存不夠再往虛擬內(nèi)存中寫。

              包括:

              .share pool

              .datafase buffer cache

              .redo log buffer

              .other structures

              PGAProgram Global Area)區(qū)包含單個服務(wù)器進(jìn)程或單個后臺進(jìn)程的數(shù)據(jù)和控制信息,與幾個進(jìn)程共享的SGA 正相反PGA 是只被一個進(jìn)程使用的區(qū)域,PGA 在創(chuàng)建進(jìn)程時分配在終止進(jìn)程時回收。

              2: background process(后臺進(jìn)程)

              包括:

              .PMON 負(fù)責(zé)在一個Oracle 進(jìn)程失敗時清理資源

              .SMON 檢查數(shù)據(jù)庫的一致性如有必要還會在數(shù)據(jù)庫打開時啟動數(shù)據(jù)庫的恢復(fù)

              .DBWR 負(fù)責(zé)將更改的數(shù)據(jù)從數(shù)據(jù)庫緩沖區(qū)高速緩存寫入數(shù)據(jù)文件

              .LGWR 將重做日志緩沖區(qū)中的更改寫入在線重做日志文件

          .CKPT 負(fù)責(zé)在每當(dāng)緩沖區(qū)高速緩存中的更改永久地記錄在數(shù)據(jù)庫中時,更新控制文件和數(shù)據(jù)文件中的數(shù)據(jù)庫狀態(tài)信息。

               您正在看的文章來自瘋狂軟件教育中心 www.fkjava.org

               信息咨詢:Q564205990              星老師

          posted on 2012-08-27 16:01 瘋狂軟件 閱讀(95) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 岑巩县| 荣昌县| 商都县| 卢湾区| 陆川县| 逊克县| 赤壁市| 乐山市| 渝北区| 博爱县| 荆州市| 略阳县| 宁明县| 佛冈县| 尤溪县| 邯郸县| 天全县| 平南县| 崇明县| 保山市| 宝丰县| 剑川县| 邢台市| 贵溪市| 铜川市| 伊春市| 临澧县| 客服| 丹东市| 东莞市| 剑河县| 蒲城县| 千阳县| 汉中市| 盈江县| 息烽县| 德格县| 西充县| 磐安县| 泗洪县| 环江|