時間:2015/6/28來源:IT貓撲網(wǎng)作者:網(wǎng)管聯(lián)盟我要評論(0)
本文主要是對oracle的啟動方式和相關(guān)的命令參數(shù)進(jìn)行一個匯總,用以加深印象。
Oracle的啟動方式:
startup nomount
startup mount
startup open (startup的默認(rèn)選項(xiàng))
其他常用的參數(shù):read only ,read write ,force,restrict
這些參數(shù)可以一起使用,比如 startup 與 startup open read write 是一樣的效果。
Oracle的啟動過程:啟動實(shí)例 -> 裝載數(shù)據(jù)庫 -> 打開數(shù)據(jù)庫
與之對應(yīng)的讀取相應(yīng)文件的順序: 參數(shù)文件 -> 控制文件 -> 數(shù)據(jù)文件
我們驗(yàn)證一下這些步驟的區(qū)別:
startup nomount
使用nomount方式啟動數(shù)據(jù)庫時,表示只啟動數(shù)據(jù)庫實(shí)例,不裝載數(shù)據(jù)庫,不打開數(shù)據(jù)庫
這時只讀取參數(shù)文件,主要有兩部分工作:一是分配內(nèi)存SGA區(qū),二是啟動Oracle后臺進(jìn)程
如下我們修改oracle參數(shù)文件的名稱,并以nomount 的方式啟動數(shù)據(jù)庫
這里需要將pfile,spfile 都進(jìn)行修改,數(shù)據(jù)庫默認(rèn)使用spfile啟動,在找不到spfile時用pfile啟動。
[oracle@localhost dbs]$ pwd /oracle/orc10g/product/10.1.0/db_1/dbs [oracle@localhost dbs]$ mv initorcl.ora initorcl1.ora [oracle@localhost dbs]$ mv spfileorcl.ora spfileorcl1.ora SYS@orcl>shutdown abort ORACLE instance shut down. SYS@orcl>startup nomount ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/oracle/orc10g/product/10.1.0/db_1/dbs/initorcl.ora' SYS@orcl> |
#保持參數(shù)文件正確,修改控制文件名稱
[oracle@localhost orcl]$ pwd /oracle/orc10g/oradata/orcl [oracle@localhost orcl]$ mv control01.ctl control01a.ctl [oracle@localhost orcl]$ mv control02.ctl control02a.ctl [oracle@localhost orcl]$ mv control03.ctl control03a.ctl ..... SYS@orcl>startup nomount ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 778212 bytes Variable Size 61874204 bytes Database Buffers 104857600 bytes Redo Buffers 262144 bytes SYS@orcl> |
在nomount的方式下修改控制文件名稱,并沒有報錯。說明在nomount的方式下,并沒有讀取控制文件。
繼續(xù)以上的步驟,我們以mount的方式啟動:
SYS@orcl>alter database mount; alter database mount * ERROR at line 1: ORA-00205: error in identifying controlfile, check alert log for more info |
裝載數(shù)據(jù)庫時,需要讀取控制文件確定數(shù)據(jù)文件的位置。
繼續(xù)上面的例子,我們將控制文件修改正確,使數(shù)據(jù)庫可以正確的找到控制文件,
我們修改數(shù)據(jù)文件的名稱.
[oracle@localhost orcl]$ mv tp_test.dbf tp_test1.dbf ..... SYS@orcl>startup mount ORACLE instance started. Total System Global Area 167772160 bytes Fixed Size 778212 bytes Variable Size 61874204 bytes Database Buffers 104857600 bytes Redo Buffers 262144 bytes Database mounted. |
雖然我修改了數(shù)據(jù)文件,但是在mount的方式下,并沒有報錯。說明在mount的方式下,啟動過程只讀取了參數(shù)文件和控制文件。
下面我們打開數(shù)據(jù)庫。
SYS@orcl>alter database open 2 ; alter database open * ERROR at line 1: ORA-01157: cannot identify/lock data file 5 - see DBWR trace file ORA-01110: data file 5: '/oracle/orc10g/oradata/orcl/tp_test.dbf' |
提示我們找不到tp_test.dbf這個文件了。
至此我們大概的了解了數(shù)據(jù)庫的啟動過程以及啟動過程中每一步驟的所做的工作和讀取的文件。
總結(jié)如下:oracle按照如下過程啟動數(shù)據(jù)庫
nomount
------------
啟動實(shí)例 | mount
(參數(shù)文件) |---------------
| 裝載數(shù)據(jù)庫 | open
(控制文件) |-----------
| 打開數(shù)據(jù)庫
(數(shù)據(jù)文件)
1.nomount方式下還沒有讀取控制文件,該選項(xiàng)用于在數(shù)據(jù)庫的控制文件全部損壞,需要重新創(chuàng)建數(shù)據(jù)庫控制文件或創(chuàng)建一個新的數(shù)據(jù)庫時使用。
2.mount 選項(xiàng)下并沒有打開數(shù)據(jù)文件,該選項(xiàng)可以用來修改數(shù)據(jù)庫的運(yùn)行模式或進(jìn)行數(shù)據(jù)庫恢復(fù)。
關(guān)鍵詞標(biāo)簽:oracle的啟動方式
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列oracle中使用SQL語句修改字段類型-oracle修使用低權(quán)限Oracle數(shù)據(jù)庫賬戶得到管理員權(quán)限Oracle對user的訪問控制
人氣排行 ORACLE SQL 判斷字符串是否為數(shù)字的語句Oracle中使用alter table來增加,刪除,修改列的語法ORACLE和SQL語法區(qū)別歸納(1)oracle grant 授權(quán)語句如何加速Oracle大批量數(shù)據(jù)處理Oracle刪除表的幾種方法ORACLE修改IP地址后如何能夠使用Oracle 10g創(chuàng)建表空間和用戶并指定權(quán)限