Oracle數(shù)據(jù)庫(kù)基礎(chǔ)_第1頁(yè)
Oracle數(shù)據(jù)庫(kù)基礎(chǔ)_第2頁(yè)
Oracle數(shù)據(jù)庫(kù)基礎(chǔ)_第3頁(yè)
Oracle數(shù)據(jù)庫(kù)基礎(chǔ)_第4頁(yè)
Oracle數(shù)據(jù)庫(kù)基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩26頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、內(nèi)部培訓(xùn)講座Oracle 數(shù)據(jù)庫(kù)基礎(chǔ)數(shù)據(jù)庫(kù)是我們安裝完產(chǎn)品后建立的,可以在同一臺(tái)主機(jī)上存在8i,9i,10g,11g等多個(gè)數(shù)據(jù)庫(kù)產(chǎn)品,一套產(chǎn)品可以建立多個(gè)數(shù)據(jù)庫(kù),每個(gè)數(shù)據(jù)庫(kù)是獨(dú)立的。每個(gè)數(shù)據(jù)庫(kù)都有自己的全套相關(guān)文件,有各自的控制文件、數(shù)據(jù)文件、重做日志文件、參數(shù)文件、歸檔文件、口令文件等等。其中控制文件、數(shù)據(jù)文件、重做日志文件、跟蹤文件及警告日志(trace files,alert files)屬于數(shù)據(jù)庫(kù)文件;參數(shù)文件(parameter file)口令文件(password file)是非數(shù)據(jù)庫(kù)文件我們的表存儲(chǔ)在數(shù)據(jù)庫(kù)中數(shù)據(jù)庫(kù)不能直接讀取我們通過(guò)實(shí)例(instance)來(lái)訪問數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)實(shí)例

2、實(shí)例由內(nèi)存和后臺(tái)進(jìn)程組成實(shí)例是訪問數(shù)據(jù)庫(kù)的方法初始化參數(shù)控制實(shí)例的行為一個(gè)實(shí)例只能連接一個(gè)數(shù)據(jù)庫(kù)啟動(dòng)實(shí)例不需要數(shù)據(jù)庫(kù)產(chǎn)品安裝好有初始化參數(shù)文件就可以啟動(dòng)實(shí)例與是否存在數(shù)據(jù)庫(kù)無(wú)關(guān)實(shí)例內(nèi)存分為SGA 和PGASGA:是用于存儲(chǔ)數(shù)據(jù)庫(kù)信息的內(nèi)存區(qū),該信息為數(shù)據(jù)庫(kù)進(jìn)程所共享。它包含Oracle 服務(wù)器的數(shù)據(jù)和控制信息,它是在Oracle 服務(wù)器所駐留的計(jì)算機(jī)的實(shí)際內(nèi)存中得以分配,如果實(shí)際內(nèi)存不夠再往虛擬內(nèi)存中寫。PGA:包含單個(gè)服務(wù)器進(jìn)程或單個(gè)后臺(tái)進(jìn)程的數(shù)據(jù)和控制信息,與幾個(gè)進(jìn)程共享的SGA正相反,PGA 是只被一個(gè)進(jìn)程使用的區(qū)域,PGA 在創(chuàng)建進(jìn)程時(shí)分配,在終止進(jìn)程時(shí)回收.后臺(tái)進(jìn)程是實(shí)例和數(shù)據(jù)庫(kù)的聯(lián)

3、系紐帶分為核心進(jìn)程和非核心進(jìn)程當(dāng)前后臺(tái)進(jìn)程的查看SQL> select name,description from v$bgprocess where paddr<>'00'NAME DESCRIPTION- -PMON process cleanupDIAG diagnosibility processPSP0 process spawner 0LMON global enqueue service monitorLMD0 global enqueue service daemon 0LMS0 global cache service process 0LM

4、S1 global cache service process 1MMAN Memory ManagerDBW0 db writer process 0ARC0 Archival Process 0ARC1 Archival Process 1NAME DESCRIPTION- -LGWR Redo etc.LCK0 Lock Process 0CKPT checkpointSMON System Monitor ProcessRECO distributed recoveryCJQ0 Job Queue CoordinatorQMNC AQ CoordinatorMMON Manageabi

5、lity Monitor ProcessMMNL Manageability Monitor Process 220 rows selected.也可以在操作系統(tǒng)下查看oracledb-rac1 db01$ ps -ef|grep ora_oracle 8588 1 0 07:53 ? 00:00:00 ora_j001_gfdb1oracle 10816 1 0 04:58 ? 00:00:08 ora_j000_gfdb1oracle 16998 1 0 Apr18 ? 00:00:00 ora_pmon_gfdb1oracle 17017 1 0 Apr18 ? 00:00:00 ora

6、_diag_gfdb1oracle 17030 1 0 Apr18 ? 00:00:00 ora_psp0_gfdb1oracle 17042 1 0 Apr18 ? 00:00:00 ora_lmon_gfdb1oracle 17057 1 0 Apr18 ? 00:00:00 ora_lmd0_gfdb1oracle 17067 1 0 Apr18 ? 00:00:00 ora_lms0_gfdb1oracle 17077 1 0 Apr18 ? 00:00:00 ora_lms1_gfdb1oracle 17081 1 0 Apr18 ? 00:00:00 ora_mman_gfdb1o

7、racle 17083 1 0 Apr18 ? 00:00:00 ora_dbw0_gfdb1oracle 17085 1 0 Apr18 ? 00:00:00 ora_lgwr_gfdb1oracle 17087 1 0 Apr18 ? 00:00:00 ora_ckpt_gfdb1oracle 17089 1 0 Apr18 ? 00:00:03 ora_smon_gfdb1oracle 17091 1 0 Apr18 ? 00:00:00 ora_reco_gfdb1oracle 17093 1 0 Apr18 ? 00:00:06 ora_cjq0_gfdb1oracle 17095

8、1 0 Apr18 ? 00:00:02 ora_mmon_gfdb1oracle 17097 1 0 Apr18 ? 00:00:00 ora_mmnl_gfdb1oracle 17099 1 0 Apr18 ? 00:00:00 ora_d000_gfdb1oracle 17101 1 0 Apr18 ? 00:00:00 ora_s000_gfdb1oracle 17142 1 0 Apr18 ? 00:00:01 ora_lck0_gfdb1oracle 17517 7593 0 07:55 pts/2 00:00:00 grep ora_oracle 26182 1 0 Apr18

9、? 00:00:00 ora_arc0_gfdb1oracle 26184 1 0 Apr18 ? 00:00:00 ora_arc1_gfdb1oracle 26523 1 0 Apr18 ? 00:00:00 ora_qmnc_gfdb1oracle 27156 1 0 Apr18 ? 00:00:00 ora_q000_gfdb1oracle 27172 1 0 Apr18 ? 00:00:00 ora_q001_gfdb1oracle 29308 1 0 05:53 ? 00:00:00 ora_q002_gfdb1oracle 30878 1 0 07:42 ? 00:00:00 o

10、ra_q004_gfdb1oracle 31882 1 0 07:26 ? 00:00:00 ora_q003_gfdb1核心進(jìn)程,必須存在,有一個(gè)終止,所有數(shù)據(jù)庫(kù)進(jìn)程全部終止非核心進(jìn)程完成數(shù)據(jù)庫(kù)的額外功能歸檔調(diào)度作業(yè)Database writer (DBWn)數(shù)據(jù)庫(kù)寫進(jìn)程將數(shù)據(jù)庫(kù)的變化寫入到文件最多20個(gè)DBW0-DBW9 DBWa-DBWj應(yīng)該和cpu的個(gè)數(shù)對(duì)應(yīng)由參數(shù)DB_WRITER_PROCESSES描述因?yàn)閐bwr是哪里來(lái)的數(shù)據(jù)寫回到哪里,所以可以多個(gè)進(jìn)程一起工作。Log writer (LGWR)日志寫進(jìn)程將日志緩沖寫入到磁盤的日志文件只有一個(gè),因?yàn)槿罩緦懯琼樞驅(qū)懀砸粋€(gè)就可以了

11、,因?yàn)槭琼樞驅(qū)懰砸膊荒転槎鄠€(gè)。Checkpoint (CKPT)檢查點(diǎn)進(jìn)程存盤點(diǎn)觸發(fā)dbwn,寫臟數(shù)據(jù)塊更新數(shù)據(jù)文件頭,更新控制文件System monitor (SMON)系統(tǒng)監(jiān)測(cè)進(jìn)程實(shí)例崩潰時(shí)進(jìn)行自動(dòng)恢復(fù)清除作廢的排序臨時(shí)段Process monitor (PMON)進(jìn)程監(jiān)測(cè)進(jìn)程清除死進(jìn)程重新啟動(dòng)部分進(jìn)程監(jiān)聽的自動(dòng)注冊(cè)我們連接到數(shù)據(jù)庫(kù)其實(shí)是連接到實(shí)例這個(gè)過(guò)程叫建立一個(gè)會(huì)話實(shí)驗(yàn)1:數(shù)據(jù)庫(kù)的最高帳號(hào)sys的操作系統(tǒng)認(rèn)證模式該實(shí)驗(yàn)的目的是進(jìn)入數(shù)據(jù)庫(kù)的最高帳號(hào)sys.掌握操作系統(tǒng)認(rèn)證的兩個(gè)條件.操作系統(tǒng)認(rèn)證,因?yàn)閿?shù)據(jù)庫(kù)是在OS上的軟件能進(jìn)入ORACLE帳號(hào),就可以進(jìn)入到數(shù)據(jù)庫(kù)的最高帳號(hào)。Conn

12、 / as sysdbaShow user無(wú)論數(shù)據(jù)庫(kù)處于何種狀態(tài),sys用戶總可以進(jìn)入到數(shù)據(jù)庫(kù)因?yàn)閟ys是外部操作系統(tǒng)認(rèn)證的操作系統(tǒng)認(rèn)證的兩條件。一、操作系統(tǒng)的用戶要屬于dba組;二、和數(shù)據(jù)庫(kù)間的連接是安全的。實(shí)驗(yàn)2:數(shù)據(jù)庫(kù)的最高帳號(hào)sys的密碼文件認(rèn)證模式該實(shí)驗(yàn)的目的是使用密碼文件的認(rèn)證方式進(jìn)入到最高sys帳號(hào),如何建立和維護(hù)密碼文件.在遠(yuǎn)程,或者操作系統(tǒng)認(rèn)證不可以使用的情況下,請(qǐng)使用密碼文件來(lái)認(rèn)證sys用戶在unix下密碼文件路徑/oracle_home/dbs密碼文件名稱orapw+sidsid為實(shí)例名稱,查看實(shí)例名稱select instance_name from v$instanc

13、e;select 'orapw'|instance_name from v$instance;密碼文件必須存在,即使你以操作系統(tǒng)認(rèn)證,因?yàn)閰?shù)remote_login_passwordfile默認(rèn)的值是要使用密碼文件的,除非你將remote_login_passwordfile的值改為none,這樣就禁止了密碼文件的使用,你想進(jìn)入到sys用戶必須使用操作系統(tǒng)認(rèn)證模式。密碼文件丟失必須重新建立Orapwd為oracle的命令,用于建立密碼文件,命令的格式如下Orapwd file=. Password=.密碼文件中含有sys用戶的密碼建立密碼文件的步驟1.確定實(shí)例的名稱2.確定密

14、碼文件的路徑和名稱3.停止數(shù)據(jù)庫(kù),刪除老的密碼文件4.在操作系統(tǒng)下運(yùn)行orapwd file=/dbocfs/gfdb/orapwgfdb1 password=manager1其中g(shù)fdb1為實(shí)例的名稱,manager1為密碼,是sys用戶的密碼5.連接的sysConn sys/maanger1 as sysdba顯示為連接的空閑實(shí)例,因?yàn)閿?shù)據(jù)庫(kù)還沒有啟動(dòng)。但這并沒有證明你使用了密碼文件.SQL> conn sys/addas as sysdbaConnected.SQL> conn asfdsf/adaf as sysdbaConnected.SQL> conn / as

15、sysdbaConnected.SQL> conn sys/manager1 as sysoperConnected.SQL> conn sys/adsssd as sysoperERROR:ORA-01031: 權(quán)限不足原因很簡(jiǎn)單,因?yàn)椴僮飨到y(tǒng)認(rèn)證的優(yōu)先級(jí)高于密碼文件.所以你只要寫as sysdba就可以進(jìn)入,但sysoper不能使用操作系統(tǒng)來(lái)認(rèn)證,它只能使用密碼文件認(rèn)證,上面的實(shí)驗(yàn)證明manager1是正確的密碼.6.啟動(dòng)數(shù)據(jù)庫(kù)startup建立密碼文件要重新啟動(dòng)數(shù)據(jù)庫(kù),因?yàn)閮?nèi)存中保留有原來(lái)的密碼.初始化參數(shù)remote_login_passwordfile =none則數(shù)據(jù)庫(kù)

16、設(shè)置為禁止使用密碼文件,只能使用操作系統(tǒng)認(rèn)證登錄到最高的老大用戶.即使你以密碼認(rèn)證連接到數(shù)據(jù)庫(kù),也不能啟動(dòng)和停止數(shù)據(jù)庫(kù),報(bào)權(quán)限不足.實(shí)驗(yàn)3:數(shù)據(jù)庫(kù)的兩種初始化參數(shù)文件該實(shí)驗(yàn)的目的是認(rèn)識(shí)參數(shù)文件,兩類參數(shù)文件的相互轉(zhuǎn)換.如何修改參數(shù).初始化參數(shù)文件是描述實(shí)例的行為的文件,文件大小很小.初始化參數(shù)文件在unix操作系統(tǒng)中存在于oracle_home/dbs目錄下.純文本參數(shù)文件,修改參數(shù)的時(shí)候直接編輯文件,再保存就可以了.Initsid.ora二進(jìn)制參數(shù)文件,必須存在于服務(wù)器端.使用命令來(lái)修改.spfilesid.oraserver parameter file純文本參數(shù)文件和二進(jìn)制參數(shù)文件的差別

17、1。修改參數(shù)的方式不同2。優(yōu)先級(jí)不同3。是否動(dòng)態(tài)存儲(chǔ)修改的參數(shù)4。存在的位置不同 純文本可以存在于客戶端 二進(jìn)制文件一定存在于server端5.rman可以備份二進(jìn)制參數(shù)文件,不能備份純文本參數(shù)文件.驗(yàn)證現(xiàn)在數(shù)據(jù)庫(kù)使用的參數(shù)文件類型,我們一定要知道我們使用的是什么類型的參數(shù)文件,涉及到我們?nèi)绾涡薷膮?shù)的手段.select distinct ISSPECIFIED from v$spparameter;如果含有true就是使用二進(jìn)制參數(shù)文件如果只有false就是使用的純文本參數(shù)文件SQL> select distinct isspecified from v$spparameter;ISS

18、PECIFIED-TRUEFALSE因?yàn)樯厦娴倪x擇有true,所以這個(gè)數(shù)據(jù)庫(kù)使用的是二進(jìn)制參數(shù)文件.我們修改參數(shù)要使用命令而不是編輯文件,千萬(wàn)不要編輯二進(jìn)制參數(shù)文件,你編輯以后會(huì)報(bào)ora-00600的錯(cuò)誤.SQL> select isspecified ,count(*) from v$spparameter group by isspecified;ISSPEC COUNT(*)- -TRUE 31FALSE 232上面的查詢表示有31個(gè)參數(shù)存在于二進(jìn)制參數(shù)文件,213個(gè)參數(shù)為默認(rèn)值.兩類參數(shù)文件的相互轉(zhuǎn)換Create pfile from spfile;Create spfile f

19、rom pfile;上面的命令在連接的sys就可以使用,而不必啟動(dòng)數(shù)據(jù)庫(kù).當(dāng)我們轉(zhuǎn)換不了的時(shí)候,請(qǐng)將數(shù)據(jù)庫(kù)停止,再轉(zhuǎn)換,再重新啟動(dòng)數(shù)據(jù)庫(kù),再驗(yàn)證.參數(shù)文件的優(yōu)先級(jí)Spfilesid.oraSpfile.oraInitsid.oraSQL> col value for a40SQL> select name,value from v$spparameter where isspecified ='TRUE'NAME VALUE- -processes 400sessions 445sga_target 1610612736control_files /dbocfs/g

20、fdb/control01.ctlcontrol_files /dbocfs/gfdb/control02.ctlcontrol_files /dbocfs/gfdb/control03.ctldb_block_size 8192compatible 10.2.0.3.0log_archive_dest_1 LOCATION=/dbocfs/archivedb_file_multiblock_read_count 16cluster_database trueNAME VALUE- -cluster_database_instances 2thread 2thread 1instance_nu

21、mber 1instance_number 2undo_management AUTOundo_tablespace UNDOTBS2undo_tablespace UNDOTBS1remote_login_passwordfile exclusivedb_domaindispatchers (PROTOCOL=TCP) (SERVICE=gfdbXDB)NAME VALUE- -remote_listener LISTENERS_GFDBjob_queue_processes 10background_dump_dest /home/oracle/app/oracle/admin/gfdb/

22、bdumpuser_dump_dest /home/oracle/app/oracle/admin/gfdb/udumpcore_dump_dest /home/oracle/app/oracle/admin/gfdb/cdumpaudit_file_dest /home/oracle/app/oracle/admin/gfdb/adumpdb_name gfdbopen_cursors 300pga_aggregate_target 95944704031 rows selected.我們修改參數(shù)有三個(gè)選項(xiàng)SQL> show parameter pga_aggregate_target

23、NAME TYPE VALUE- - -pga_aggregate_target big integer 915M SQL> alter system set pga_aggregate_target=950m scope=memory;只修改內(nèi)存的值,不改變參數(shù)文件的設(shè)置,下回再次啟動(dòng)數(shù)據(jù)庫(kù)時(shí)值還是老的,能修改的前提是該參數(shù)可以動(dòng)態(tài)修改,如果是靜態(tài)參數(shù)只能使用下面的方法.System altered.SQL> alter system set pga_aggregate_target=950m scope=spfile;只修改二進(jìn)制文件,而不修改內(nèi)存,靜態(tài)參數(shù)只能先改文件再重新啟

24、動(dòng)數(shù)據(jù)庫(kù).System altered.SQL> alter system set pga_aggregate_target=950m scope=both;同時(shí)修改二進(jìn)制文件和內(nèi)存,該參數(shù)必須是可以動(dòng)態(tài)修改的.System altered.SQL> alter system set pga_aggregate_target=950m;如果沒有指明修改哪里,默認(rèn)為參數(shù)文件和內(nèi)存同時(shí)修改,默認(rèn)就是both.System altered.我們可以從參數(shù)文件中刪除一個(gè)參數(shù),當(dāng)然你也可以先轉(zhuǎn)化為純文本再轉(zhuǎn)化為二進(jìn)制參數(shù)文件.alter system reset trace_enabled

25、scope=spfile sid='*'select name,value from v$spparameter where ISSPECIFIED='TRUE' order by 1;驗(yàn)證一下,果然少了一行,下回啟動(dòng)后該參數(shù)就按默認(rèn)值來(lái)處理.二進(jìn)制參數(shù)文件在修改的時(shí)候有的時(shí)候會(huì)報(bào)錯(cuò)誤,我們可以先該文本文件后再建立二進(jìn)制參數(shù)文件.我估計(jì)是bug,我們?cè)徦?但確實(shí)對(duì)我們的學(xué)習(xí)造成一定的困惑.如果你認(rèn)為參數(shù)配置的沒有問題,但就是不讓修改,那就先改純文本,再變?yōu)槎M(jìn)制.總的來(lái)說(shuō)二進(jìn)制的參數(shù)文件好于純文本,你到底選擇哪種類型的參數(shù)文件都沒有關(guān)系.實(shí)驗(yàn)4:?jiǎn)?dòng)數(shù)據(jù)庫(kù)的

26、三個(gè)臺(tái)階nomount,mount,open該實(shí)驗(yàn)的目的是細(xì)化啟動(dòng)數(shù)據(jù)庫(kù)的三個(gè)步驟,徹底的明白還要等到學(xué)習(xí)完冷備份之后.啟動(dòng)數(shù)據(jù)庫(kù)到nomount狀態(tài)的條件如下.有環(huán)境變量.存在正確的密碼文件和參數(shù)文件有足夠的內(nèi)存參數(shù)文件中描述的路徑必須存在數(shù)據(jù)庫(kù)產(chǎn)品軟件安裝正確conn sys/sys as sysdbaShutdown abort;Startup nomount;select instance_name,status from v$instance;啟動(dòng)數(shù)據(jù)庫(kù)到第一個(gè)臺(tái)階nomount狀態(tài)做了如下的工作.1.讀參數(shù)文件2.分配內(nèi)存3.啟動(dòng)后臺(tái)進(jìn)程4.初始化部分v$視圖將數(shù)據(jù)庫(kù)帶到mount

27、狀態(tài)select value from v$spparameter where name='control_files'Alter database mount;Mount數(shù)據(jù)庫(kù)的過(guò)程是讀參數(shù)文件中描述的控制文件,校驗(yàn)控制文件的正確性,將控制文件的內(nèi)容讀入到內(nèi)存,mount是掛接的意思,是操作系統(tǒng)中的概念.一旦mount之后,就是將一個(gè)沒有意義的實(shí)例和一個(gè)數(shù)據(jù)庫(kù)發(fā)生了聯(lián)系.因?yàn)閷?shí)例是空殼.沒有任何數(shù)據(jù)庫(kù)和該實(shí)例發(fā)生關(guān)系,我們可以理解為實(shí)例是水泵,放到哪個(gè)水塘里就會(huì)抽取哪里的數(shù)據(jù),實(shí)例是通用的.mount的意思是將一個(gè)通用的水泵放入到指定的水塘.mount是讀控制文件,控制文件中

28、有數(shù)據(jù)文件和日志文件的信息.select instance_name,status from v$instance;打開數(shù)據(jù)庫(kù)Alter database open;讀控制文件中描述的數(shù)據(jù)文件驗(yàn)證數(shù)據(jù)文件的一致性,如果不一致,使用日志文件將數(shù)據(jù)庫(kù)文件恢復(fù)到一致的狀態(tài).數(shù)據(jù)庫(kù)open后,普通用戶才可以訪問數(shù)據(jù)庫(kù)用戶的表才為可見只讀方式open數(shù)據(jù)庫(kù)Alter database open read only;select OPEN_MODE from v$database;默認(rèn)的open方式為read write想改read only為read write 必須重新啟動(dòng)數(shù)據(jù)庫(kù)我們現(xiàn)在回想一下數(shù)據(jù)庫(kù)

29、啟動(dòng)的三個(gè)臺(tái)階,我們先讀的是參數(shù)文件,參數(shù)文件可以有我們來(lái)編寫.讀完參數(shù)文件后又讀了控制文件,控制文件描述了數(shù)據(jù)文件和日志文件的信息,如果控制文件丟失可以重新建立,最后是讀數(shù)據(jù)文件.數(shù)據(jù)文件里才存放了我們的數(shù)據(jù).數(shù)據(jù)庫(kù)將啟動(dòng)分為三個(gè)臺(tái)階,目的是我們可以準(zhǔn)確的知道哪里有問題,迅速的排除.有點(diǎn)象老鼠拖木釬,大頭在后面.由最開始的一個(gè)1k的參數(shù)文件,最后到幾個(gè)t的大型數(shù)據(jù)庫(kù).當(dāng)我們只打startup而不加任何參數(shù)的時(shí)候.默認(rèn)是到open,等于startup open;SQL> startupORACLE instance started.Total System Global Area 167

30、772160 bytesFixed Size 1247900 bytesVariable Size 75498852 bytesDatabase Buffers 88080384 bytesRedo Buffers 2945024 bytesDatabase mounted.Database opened.我們從屏幕顯示的結(jié)果可以清楚的看出,有三個(gè)臺(tái)階.還有一個(gè)命令是startup force強(qiáng)制啟動(dòng)數(shù)據(jù)庫(kù),等于強(qiáng)制停止數(shù)據(jù)庫(kù)再啟動(dòng)數(shù)據(jù)庫(kù).實(shí)驗(yàn)5:停止數(shù)據(jù)庫(kù)的四種模式該實(shí)驗(yàn)的目的是區(qū)分不同的停止數(shù)據(jù)庫(kù)的方式.四種停止數(shù)據(jù)庫(kù)的方式各不相同,用于不同的情況,一般我們采用shutdown immed

31、iate方式停止數(shù)據(jù)庫(kù),下面是每種停止數(shù)據(jù)庫(kù)方式的差別.Shutdown NORMALShutdown TRANSACTIONALShutdown IMMEDIATEShutdown abortShutdown NORMAL新的會(huì)話不接受等待非活動(dòng)的會(huì)話結(jié)束等待事務(wù)結(jié)束產(chǎn)生檢查點(diǎn)停止數(shù)據(jù)庫(kù)Shutdown TRANSACTIONAL新的會(huì)話不接受不等待非活動(dòng)的會(huì)話結(jié)束等待事務(wù)結(jié)束產(chǎn)生檢查點(diǎn)停止數(shù)據(jù)庫(kù)Shutdown immediate新的會(huì)話不接受不等待非活動(dòng)的會(huì)話結(jié)束不等事務(wù)物結(jié)束產(chǎn)生檢查點(diǎn)停止數(shù)據(jù)庫(kù)Shutdown abort新的會(huì)話不接受不等待非活動(dòng)的會(huì)話結(jié)束不等待事務(wù)結(jié)束不產(chǎn)生檢查點(diǎn)停

32、止數(shù)據(jù)庫(kù)一致性shutdown,產(chǎn)生檢測(cè)點(diǎn)Shutdown NORMALShutdown TRANSACTIONALShutdown IMMEDIATE數(shù)據(jù)庫(kù)再次啟動(dòng)的時(shí)候不要恢復(fù)不一致性shutdown,不產(chǎn)生檢測(cè)點(diǎn)Shutdown abortStartup forceInstance崩潰(停電)數(shù)據(jù)庫(kù)再次啟動(dòng)的時(shí)候需要恢復(fù),自動(dòng)的,透明的。實(shí)驗(yàn)6:查找你想要的數(shù)據(jù)字典該實(shí)驗(yàn)的目的是了解什么是數(shù)據(jù)字典,字典的來(lái)源和如何查找到我們關(guān)心的數(shù)據(jù)字典.數(shù)據(jù)字典是oracle的核心分為兩大類存在于system表空間$結(jié)尾的基本表Dba_.,all_.,user_視圖存在于內(nèi)存中X$.的虛表V$的動(dòng)態(tài)性

33、能視圖數(shù)據(jù)字典是哪里來(lái)的呢?是我們建立數(shù)據(jù)庫(kù)的時(shí)候運(yùn)行腳本建立的.%oracle_home%rdbmsadmincatalog.sql;腳本當(dāng)中含有建立數(shù)據(jù)字典的語(yǔ)句.而v$的字典是數(shù)據(jù)庫(kù)在啟動(dòng)實(shí)例的時(shí)候初始化的.數(shù)據(jù)字典的使用數(shù)據(jù)庫(kù)自己使用字典獲取信息數(shù)據(jù)庫(kù)自動(dòng)維護(hù)我們查看字典來(lái)獲得數(shù)據(jù)庫(kù)的有關(guān)信息基本表,是字典得基本表,在建立system表空間的時(shí)候建立的.select table_name,owner from dba_tables where table_name like '%$' and owner='SYS'視圖,是在建立數(shù)據(jù)庫(kù)以后運(yùn)行catalo

34、g.sql;腳本建立的.查看哪些字典中含有TABLE關(guān)鍵字,一定要大寫.select table_name from dict where table_name like '%TABLE%'查看哪些字典中含有VIEW關(guān)鍵字,一定要大寫.select table_name from dict where table_name like '%VIEW%'查看哪些字典中的一列含有FILE#這一列,一定要大寫.select table_name from dict_COLUMNS WHERE COLUMN_NAME='FILE#'查看所有的x$和v$的表

35、的信息SELECT * FROM V$FIXED_TABLE;三大類視圖,*代表可以替換為某個(gè)單詞.Dba_*All_*User_*我們拿tables說(shuō)明上面得含義.其中user_tables是查看當(dāng)前用戶所擁有的表. all_tables是查看當(dāng)前用戶可以訪問的表. dba_tables是查看當(dāng)前整個(gè)數(shù)據(jù)庫(kù)擁有的表,但是你得有權(quán)限,如果沒有權(quán)限會(huì)報(bào)沒有這個(gè)表.控制文件控制文件是二進(jìn)制文件(不會(huì)超過(guò)100m,一般是幾m大?。┛刂莆募涗浟藬?shù)據(jù)庫(kù)的結(jié)構(gòu)和行為在mount時(shí)候讀在數(shù)據(jù)庫(kù)open時(shí)一直使用丟失需要恢復(fù)相關(guān)字典SQL> Select * from v$controlfile;ST

36、ATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - - /dbocfs/gfdb/control01.ctl NO 16384 932 /dbocfs/gfdb/control02.ctl NO 16384 932 /dbocfs/gfdb/control03.ctl NO 16384 932select CONTROLFILE_SEQUENCE# from v$database;select TYPE,RECORD_SIZE,RECORDS_TOTAL,RECORDS_USED from V$CONTROLFILE_RECORD_SECTION; s

37、elect value from V$spparameter where name='control_files'控制文件的位置在參數(shù)文件中描述control_files=file1,file2多個(gè)控制文件是鏡像的關(guān)系最多八個(gè),最少一個(gè)實(shí)驗(yàn)7:減少控制文件的個(gè)數(shù)該實(shí)驗(yàn)的目的是初步認(rèn)識(shí)如何修改參數(shù)文件,如何減少控制文件.減少控制文件,實(shí)驗(yàn)的目的,有一個(gè)控制文件損壞,我們要將損壞的控制文件剔除。1.修改參數(shù)文件,并驗(yàn)證2.停止數(shù)據(jù)庫(kù)3.啟動(dòng)數(shù)據(jù)庫(kù)4.驗(yàn)證,查看v$controlfileSQL> select * from v$controlfile;驗(yàn)證現(xiàn)在內(nèi)存中的控制文件個(gè)

38、數(shù)STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - - /dbocfs/gfdb/control01.ctl NO 16384 932 /dbocfs/gfdb/control02.ctl NO 16384 932 /dbocfs/gfdb/control03.ctl NO 16384 932SQL> alter system set control_files='/dbocfs/gfdb/control01.ctl', '/dbocfs/gfdb/control02.ctl' scope=spfile;Sy

39、stem altered.驗(yàn)證參數(shù)文件已經(jīng)被修改SQL> select value from v$spparameter where name='control_files'VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/control02.ctl 驗(yàn)證內(nèi)存中的值沒有被修改,因?yàn)閏ontrol_files是靜態(tài)參數(shù),想要改變必須重新啟動(dòng)數(shù)據(jù)庫(kù)。SQL> select * from v$controlfile;STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - - /dbocfs/

40、gfdb/control01.ctl NO 16384 932 /dbocfs/gfdb/control02.ctl NO 16384 932 /dbocfs/gfdb/control03.ctl NO 16384 932SQL> startup forceORACLE instance started.Total System Global Area 1610612736 bytesFixed Size 1262044 bytesVariable Size 687869476 bytesDatabase Buffers 905969664 bytesRedo Buffers 15511

41、552 bytesDatabase mounted.Database opened. SQL> select * from v$controlfile;驗(yàn)證內(nèi)存被修改了VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/control02.ctl SQL> select value from v$spparameter where name='control_files'驗(yàn)證參數(shù)文件中的值和內(nèi)存中的值相同VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/control02.ctl如果你在啟

42、動(dòng)的時(shí)候看到ora-00205錯(cuò)誤,說(shuō)明你修改的參數(shù)不正確,可能是路徑寫的不對(duì)或者在路徑前面多寫了空格,請(qǐng)重新修改為正確的值再重新啟動(dòng)數(shù)據(jù)庫(kù)。實(shí)驗(yàn)8:增加控制文件的個(gè)數(shù)實(shí)驗(yàn)的目的是增加控制文件的個(gè)數(shù),1到8個(gè),保護(hù)控制文件。認(rèn)識(shí)控制文件的一致性.什么是控制文件的版本.控制文件的結(jié)構(gòu).增加控制文件1.修改參數(shù)文件2.停止數(shù)據(jù)庫(kù)3.復(fù)制控制文件4.啟動(dòng)數(shù)據(jù)庫(kù)5.驗(yàn)證,查看v$controlfile修改二進(jìn)制的初始化參數(shù)文件中的control_files選項(xiàng)SQL> alter system set control_files='/dbocfs/gfdb/control01.ctl&#

43、39;, '/dbocfs/gfdb/control02.ctl', '/dbocfs/gfdb/control03.ctl' scope=spfile;System altered.SQL> select value from v$spparameter where name='control_files'驗(yàn)證參數(shù)文件已經(jīng)被修改VALUE-/dbocfs/gfdb/control01.ctl/dbocfs/gfdb/control02.ctl/dbocfs/gfdb/control03.ctl SQL> select * from

44、v$controlfile;驗(yàn)證現(xiàn)在內(nèi)存中的控制文件個(gè)數(shù)STATUS NAME IS_ BLOCK_SIZE FILE_SIZE_BLKS- - - - - /dbocfs/gfdb/control01.ctl NO 16384 932 /dbocfs/gfdb/control02.ctl NO 16384 932 重新啟動(dòng)數(shù)據(jù)庫(kù),使修改的參數(shù)起作用SQL> startup force;ORACLE instance started.Total System Global Area 1610612736 bytesFixed Size 1262044 bytesVariable Size 687869476 bytesDatabase Buffers 905969664 bytesRedo Buffers 15511552 bytesORA-00214: control file '/dbocfs/gfdb/control01.ctl' version 9178 inconsistent with file '/dbocfs/gfdb/control03.ctl' version 9164因?yàn)镃ONTROL03.CTL剛才脫

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論