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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

转:Oracle物理文件

發布時間:2025/3/11 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 转:Oracle物理文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉載:http://www.worlduc.com/blog2012.aspx?bid=19969111


-------------------初始化參數文件---------------------------------------------

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


oracle讀取的,但也有不同點,注意以下幾點:?

1)pfile是文本文件,spfile是二進制文件;?
2)對于參數的配置,pfile可以直接以文本編輯器打開手工配置,而spfile不行,必須在數據庫啟動后,通過sql命令進行在線修改,當然spfile也可用文本編輯器打開,把里面文本的內容復
制出來放在pfile中,但決對不可以直接修改,直接修改后會使文件無法讀取。?
3)pfile配置改變后,要使用其生效,必須重新啟動數據庫,spfile的配置生效時限和作用域可以由修改參數的sql命令指定,可以立即生效,也可以不立即生效。當然有些參數的修改必須重
啟數據庫才能生效;?
4)可以用sql命令由pfile創建spfile,也可以由spfile創建pfile;?
5)如果是手動創建數據庫而不是通過DBCA,則開始創建數據庫時,你只能定義pfile 。因為它是文本格式的;

?


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

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


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


通過pfile創建spfile
create spfile='/u01/oracle/dbs/spfileqjldb.ora' from pfile='/u01/oracle/dbs/initqjldb_bak.ora';
通過spfile創建pfile
create pfile='/u01/oracle/dbs/initqjldb.ora' from spfile='/u01/oracle/dbs/spfileqjl_bak.ora';
注:語法中創建和指定的spfile和pfile都是服務器路徑?
? ? 不能創建已經由數據庫實例啟動的spfile(在nomount狀態下也不行)


數據庫啟動時spfile和pfile的加載順序?
初始化參數是在數據庫實例啟動時(startup nomount)加載。?
如果startup命令中未指定pfile參數,在windows系統中數據庫啟動時會按如下順序查找啟動參數文件:?
%ORACLE_HOME%\database\SPFILE<SID>.ora?
%ORACLE_HOME%\database\SPFILE.ora?
%ORACLE_HOME%\database\init<SID>.ora?
在unix或linux系統中數據庫啟動時會按如下順序查找啟動參數文件:?
%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文件,最后才會去找init<sid>.ora的pfile文件.?
使用指定pfile啟動數據庫則數據庫會使用指定的pfile來加載數據庫參數:?
命令如下:?
startup pfile='<pfile>'?
注:以pfile啟動的實例,修改初始化參數時不能使用scope=spfile的語法。
--------------------
問題
?
? ? ? ? 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. 修改參數值 ?
? ? ? ? SQL> alter system set fast_start_mttr_target = 300; ?
? ? ? ? 系統已更改。 ?
? ? ? ? ??
? ? ? ? 3. 查看內存中參數的值 ?
? ? ? ? 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;
?


---------------------數據文件--------------------------------------------------
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;
--非歸檔模式下,通常不能進行脫機處理
Oracle分為非歸檔模式(NOARCHIVELOG) ?和歸檔模式(ARCHIVELOG)。非歸檔模式不產生歸檔日志,雖然節省了硬盤空間,但是備份方案選擇很有限,通常只能選擇冷備份。
還原也只能還原到備份那一時刻的數據,通常也僅在開發時使用,Oracle安裝默認就是非歸檔模式。
在生產環境中我們因該使用歸檔模式,它會產生歸檔日志,可以使用多種備份和還原方案,對與Oracle管理員來說應該更改模式是必然的選擇。
--查看數據庫現有模式:
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如果不手工設置歸檔路徑,默認會把歸檔日志放到閃回區里


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


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


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


創建控制文件 ?課本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 ;

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。