日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

转:Oracle物理文件

發(fā)布時(shí)間:2025/3/11 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:Oracle物理文件 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載:http://www.worlduc.com/blog2012.aspx?bid=19969111


-------------------初始化參數(shù)文件---------------------------------------------

在9i之前,參數(shù)文件只有一種,它是文本格式的,稱為pfile,在9i及以后的版本中,新增了服務(wù)器參數(shù)文件,稱為spfile,它是二進(jìn)制格式的。這兩種參數(shù)文件都是用來存儲(chǔ)參 數(shù)配置以供


oracle讀取的,但也有不同點(diǎn),注意以下幾點(diǎn):?

1)pfile是文本文件,spfile是二進(jìn)制文件;?
2)對(duì)于參數(shù)的配置,pfile可以直接以文本編輯器打開手工配置,而spfile不行,必須在數(shù)據(jù)庫(kù)啟動(dòng)后,通過sql命令進(jìn)行在線修改,當(dāng)然spfile也可用文本編輯器打開,把里面文本的內(nèi)容復(fù)
制出來放在pfile中,但決對(duì)不可以直接修改,直接修改后會(huì)使文件無法讀取。?
3)pfile配置改變后,要使用其生效,必須重新啟動(dòng)數(shù)據(jù)庫(kù),spfile的配置生效時(shí)限和作用域可以由修改參數(shù)的sql命令指定,可以立即生效,也可以不立即生效。當(dāng)然有些參數(shù)的修改必須重
啟數(shù)據(jù)庫(kù)才能生效;?
4)可以用sql命令由pfile創(chuàng)建spfile,也可以由spfile創(chuàng)建pfile;?
5)如果是手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)而不是通過DBCA,則開始創(chuàng)建數(shù)據(jù)庫(kù)時(shí),你只能定義pfile 。因?yàn)樗俏谋靖袷降?#xff1b;

?


現(xiàn)在一般普通生產(chǎn)庫(kù)都采用spfile啟動(dòng)數(shù)據(jù)庫(kù),pfile基本上只有以下情況才會(huì)使用pfile:?
1)手動(dòng)創(chuàng)建數(shù)據(jù)庫(kù)時(shí),因?yàn)檫@時(shí)還沒spfile?
2)恢復(fù)數(shù)據(jù)庫(kù)時(shí)?
3)采用RAC的生產(chǎn)庫(kù)中如果要共用spfile,可以建一個(gè)初始的pfile,然后在pfile指定spfile為共享設(shè)備文件
?
PFILE —— initSID.ora ?
? ? PFILE是可使用標(biāo)準(zhǔn)的操作系統(tǒng)編輯器進(jìn)行維護(hù)的文本文件。 ?
? ? PFILE在例程啟動(dòng)過程中是只讀的。如果文件發(fā)生修改,則必須關(guān)閉然后重新啟動(dòng)例程以使新的參數(shù)值生效。 ?
? ? PFILE缺省情況下,位于 ORACLE_HOME/database 目錄中,文件名是 initSID.ora?
SPFILE —— spfileSID.ora ?
? ? SPFILE簡(jiǎn)介 ?
? ? SPFILE是二進(jìn)制文件,它位于$ORACLE_HOME/dbs目錄中,缺省名稱為spfileSID.ora ?
? ? SPFILE由Oracle 服務(wù)器進(jìn)行維護(hù) ?
? ? SPFILE始終駐留在服務(wù)器端 ?
? ? SPFILE所做更改永久有效,不受關(guān)閉和啟動(dòng)的影響 ?
? ? SPFILE可以自行調(diào)節(jié)參數(shù)值 ?
? ? 使恢復(fù)管理器能夠備份初始化參數(shù)文件 ?

? ? 缺省情況下,位于ORACLE_HOME/dbs


查看參數(shù)文件的方法;
1、select name,type,value from v$parameter where name like '%sga%';?
2、show parameter sga?


通過pfile創(chuàng)建spfile
create spfile='/u01/oracle/dbs/spfileqjldb.ora' from pfile='/u01/oracle/dbs/initqjldb_bak.ora';
通過spfile創(chuàng)建pfile
create pfile='/u01/oracle/dbs/initqjldb.ora' from spfile='/u01/oracle/dbs/spfileqjl_bak.ora';
注:語(yǔ)法中創(chuàng)建和指定的spfile和pfile都是服務(wù)器路徑?
? ? 不能創(chuàng)建已經(jīng)由數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)的spfile(在nomount狀態(tài)下也不行)


數(shù)據(jù)庫(kù)啟動(dòng)時(shí)spfile和pfile的加載順序?
初始化參數(shù)是在數(shù)據(jù)庫(kù)實(shí)例啟動(dòng)時(shí)(startup nomount)加載。?
如果startup命令中未指定pfile參數(shù),在windows系統(tǒng)中數(shù)據(jù)庫(kù)啟動(dòng)時(shí)會(huì)按如下順序查找啟動(dòng)參數(shù)文件:?
%ORACLE_HOME%\database\SPFILE<SID>.ora?
%ORACLE_HOME%\database\SPFILE.ora?
%ORACLE_HOME%\database\init<SID>.ora?
在unix或linux系統(tǒng)中數(shù)據(jù)庫(kù)啟動(dòng)時(shí)會(huì)按如下順序查找啟動(dòng)參數(shù)文件:?
%ORACLE_HOME%\dbs\SPFILE<SID>.ora?
%ORACLE_HOME%\dbs\SPFILE.ora?
%ORACLE_HOME%\dbs\init<SID>.ora?
也就是說先找spfile<sid>.ora文件,如果spfile<sid>.ora沒有則找spfile.ora文件,最后才會(huì)去找init<sid>.ora的pfile文件.?
使用指定pfile啟動(dòng)數(shù)據(jù)庫(kù)則數(shù)據(jù)庫(kù)會(huì)使用指定的pfile來加載數(shù)據(jù)庫(kù)參數(shù):?
命令如下:?
startup pfile='<pfile>'?
注:以pfile啟動(dòng)的實(shí)例,修改初始化參數(shù)時(shí)不能使用scope=spfile的語(yǔ)法。
--------------------
問題
?
? ? ? ? SQL> show parameter fast_ ?
? ? ? ? NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE ?
? ? ? ? ------------------------------------ ----------- ------------------------------ ?
? ? ? ? fast_start_io_target ? ? ? ? ? ? ? ? integer ? ? 0 ?
? ? ? ? fast_start_mttr_target ? ? ? ? ? ? ? integer ? ? 0 ?
? ? ? ? fast_start_parallel_rollback ? ? ? ? string ? ? ?LOW ?
? ? ? ? ??
? ? ? ? 2. 修改參數(shù)值 ?
? ? ? ? SQL> alter system set fast_start_mttr_target = 300; ?
? ? ? ? 系統(tǒng)已更改。 ?
? ? ? ? ??
? ? ? ? 3. 查看內(nèi)存中參數(shù)的值 ?
? ? ? ? SQL> show parameter fast_ ?
? ? ? ? NAME ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? TYPE ? ? ? ?VALUE ?
? ? ? ? ------------------------------------ ----------- ------------------------------ ?
? ? ? ? fast_start_io_target ? ? ? ? ? ? ? ? integer ? ? 0 ?
? ? ? ? fast_start_mttr_target ? ? ? ? ? ? ? integer ? ? 300 ?
? ? ? ? fast_start_parallel_rollback ? ? ? ? string ? ? ?LOW?
??
? ? ? ? alter system set fast_start_mttr_target = 250 scope = memory;
?


---------------------數(shù)據(jù)文件--------------------------------------------------
1、alter tablespace users add datafile 'd:\oracle\111.dbf' size 10m autoextend on next 512k maxsize 50m;
2、alter tablespace users drop datafile 'd:\oracle\111.dbf';
修改可用性:
--歸檔模式下:
alter database datafile 'd:\oracle\111.dbf' offline;
--非歸檔模式下,通常不能進(jìn)行脫機(jī)處理
Oracle分為非歸檔模式(NOARCHIVELOG) ?和歸檔模式(ARCHIVELOG)。非歸檔模式不產(chǎn)生歸檔日志,雖然節(jié)省了硬盤空間,但是備份方案選擇很有限,通常只能選擇冷備份。
還原也只能還原到備份那一時(shí)刻的數(shù)據(jù),通常也僅在開發(fā)時(shí)使用,Oracle安裝默認(rèn)就是非歸檔模式。
在生產(chǎn)環(huán)境中我們因該使用歸檔模式,它會(huì)產(chǎn)生歸檔日志,可以使用多種備份和還原方案,對(duì)與Oracle管理員來說應(yīng)該更改模式是必然的選擇。
--查看數(shù)據(jù)庫(kù)現(xiàn)有模式:
select name,log_mode from v$database;
或者
archive log list;


--指定歸檔日志路徑:
SQL> alter system set log_archive_dest_1='location=D:\Ora\log\archive_log';
注意:10g如果不手工設(shè)置歸檔路徑,默認(rèn)會(huì)把歸檔日志放到閃回區(qū)里


--修改數(shù)據(jù)庫(kù)為歸檔模式:
SQL> alter database archivelog;
?
3、查看
select ?* from v$datafile


問題
刪除表空間文件后數(shù)據(jù)庫(kù)打不開問題的解決方法:
?以system用戶登錄,角色為 sysdba。
?-- 查出所有的表空間,包括已經(jīng)被刪除的表空間文件
?-- 記下已刪除的表空間文件對(duì)應(yīng)的FILE# 字段的值
?select * from v$datafile;
?-- 將1替換為上面的FILE# 的值
?-- 如果刪除了多個(gè)表空間文件,則執(zhí)行多次下面的語(yǔ)句
?alter database datafile 1 offline drop;
?alter open database;
?


----------------------控制文件--------------------------------------------------
控制文件(Control File)是Oracle的物理文件之一,它記錄了數(shù)據(jù)庫(kù)的名字、數(shù)據(jù)文件的位置等信息。控制文件的重要性在于,一旦控制文件損壞,數(shù)據(jù)庫(kù)將會(huì)宕機(jī)。如果沒有數(shù)據(jù)庫(kù)的備
份和歸檔日志文件,數(shù)據(jù)庫(kù)將無法恢復(fù)。因此,我們應(yīng)該多路鏡像控制文件(Multiplex Control Files),并把每個(gè)鏡像的控制文件分布在不同的物理磁盤。根據(jù)經(jīng)驗(yàn),控制文件多路鏡像以
后,幾個(gè)控制文件同時(shí)壞掉的可能性幾乎為零。控制文件管理的重心是重在預(yù)防,而不是亡羊補(bǔ)牢!
控制文件的概念控制文件是一個(gè)很小的二進(jìn)制文件,用于記錄數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)。一個(gè)控制文件只屬于一個(gè)數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)時(shí),創(chuàng)建控制文件。當(dāng)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)改變的時(shí)候,Oracle
會(huì)更新控制文件。用戶不能編輯控制文件,控制文件的修改由Oracle完成。
數(shù)據(jù)庫(kù)的啟動(dòng)和正常運(yùn)行都離不開控制文件。啟動(dòng)數(shù)據(jù)庫(kù)時(shí),Oracle從初始化參數(shù)文件中獲得控制文件的名字及位置,打開控制文件,然后從控制文件中讀取數(shù)據(jù)文件和聯(lián)機(jī)日志文件的信息
,最后打開數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)運(yùn)行時(shí),Oracle會(huì)修改控制文件,所以,一旦控制文件損壞,數(shù)據(jù)庫(kù)將不能正常運(yùn)行。
?
每個(gè)數(shù)據(jù)庫(kù)至少一個(gè)控制文件。
--查看
select ?* from v$controlfile


創(chuàng)建控制文件 ?課本p62


----------------------重做日志文件--------------------------------------------------
--查看文件組
select * from v$log;
--查看文件?
select * from v$logfile;
--增加組
alter database add logfile group 5('d:\oracle\redo05.log') ?size 4m;
--把組成員
alter ?database add logfile member 'd:\oracle\r.log' to group 5;


--刪除
alter ?database drop logfile member 'd:\oracle\r.log' ?;
alter database drop logfile group 5 ;

總結(jié)

以上是生活随笔為你收集整理的转:Oracle物理文件的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。