----------------初始化引數檔案--------------------
9i之前,oracle使用的初始化引數檔案是pfile。9i開始引用了spfile,但保留了pfile。
初始化引數檔案在整個oracle系統之中起著關鍵的作用。啟動的過程中,oracle根據初始化引數的設定分配sga,啟動後台程序。資料庫開啟後,還是依據初始化的引數設定執行資料庫。
9i以後的oracle版本,初始化引數檔案有spfilesid.ora、spfile.ora、init.ora,oracle在啟動過程中也是按照這個順序依次查詢初始化引數檔案。若最終沒有找到,則資料庫啟動失敗,同時alert_sid.log報錯。
9i之後的版本,預設啟動都是使用spfile引數檔案啟動。當然也可以指定pfile引數檔案啟動oracle。spfile引數檔案的格式為spfilesid.ora。而pfile引數檔案的格式為initsid.ora:
startup pfile='/oradata/oracle/admin/test/pfile/init.ora.*****
另外,pfile和spfile兩者可以相互建立,建立預設目錄在$oracle_home/dbs/。
create spfile from pfile;
create pfile from spfile;
通過spfile建立的的初始化引數格式為:initsid.ora
修改初始化引數有兩種方式:
一、在commond下修改初始化引數:
修改pfile引數:可編輯的修改init.ora。
修改spfile引數:不可編輯引數檔案。只能通過命令或者em動態修改初始化引數。
命令:alter system set aaa=n scope=memory|spfile|both;
scope引數有三個選項:
memory:修改只對執行的例項有效
spfile:修改spfile設定。
both:同時修改了spfile和此例項。
注意:在修改靜態引數時必須得指定spfile引數。否則會報錯。亦即修改靜態引數時scope引數不允許為both。
二、在em中修改初始化引數設定:
1、以sys使用者登入em。
2、在主介面上選擇「管理」標籤按鈕;
3、在管理頁面下選擇「資料庫配置」下的「所有初始化引數」按鈕;轉入初始化引數設定頁面:
4、預設修改的的是scope=memory的設定。當把「在當前正在執行的例項模式下將更改應用與spfile。」核取方塊選中時,相當於scope=both的設定。在值那項文字框輸入新的值之後,點選右上角的應用按鈕,修改生效。
5、修改屬性為scope=spfile,修改的步驟跟修改屬性為scope=memory的一樣。
應用場景32:初始化引數管理
建立初始化引數檔案
建立pfile檔案
可以直接複製乙個pfile檔案,然後直接通過syartup pfile=這樣來啟動資料庫,或者是用sysdba的身份登陸sql*plus執行以下命令:
sql>create pfile='.:....init.ora'
from spfile='.:....spfile.ora'
或者是執行不帶引數的:
sql>create pfile from spfile
該命名將在oracle_homedatabase下建立乙個pfile預設名字是init.ora
建立spfile檔案
由於spfile是二進位制檔案所以不能直接複製貼上的,可以用這個命令來通過pfile建立新的spfile
sql>create spfile='.:....spfile.ora'
from pfile='.:....init.ora'
配置初始化引數檔案
通過命令:
sql>alter system set 引數名=引數值 spoce=spfile|memory|both
應用場景33:使用show parameters語句顯示初始化引數
show parameters[開頭字元];
eg:show parameters db
應用場景34:使用v$parameter 檢視檢視初始化引數資訊
以sys管理員身份登入,檢視db開頭的初始化引數:
select name, value,display_value from v$parameter where name like '%db%';
使用下面命令設定各列的寬度:
col name format a20
col value format a20
col display_value format a20
應用場景35:使用 alter system 語句設定初始化引數
alter system 引數=引數
scope子句指定了引數改變的適用範圍,可以去如下的值:
1、spfile。改變只對spfile檔案有效。
2、memory。盡在記憶體中應用改變的值。
3、both。改變同時應用於spfile檔案和記憶體。
eg:alter system set sga_max_size=1g scope=spfile;
Oracle中,for迴圈,if語句,應用例項
場景 需要找出某個序列中未被使用的序列值,並插入臨時表中備用,同時臨時表中需要生成自己的主鍵序列。declare v seq number 10 1 v record number 10 begin for i in 100000 101000 loop 查詢這個範圍內未被使用的序列值,i本是控制迴...
Oracle儲存過程應用例項 呼叫
在sqlplus中這兩種方法都可以使用 exec pro name 引數1.call pro name 引數1.區別 但是exec是sqlplus命令,只能在sqlplus中使用 call為sql命令,沒有限制.儲存過程沒有引數時,exec可以直接跟過程名 可以省略 但call則必須帶上 這裡將se...
乙個應用程式例項
在開發一些應用系統的時候,由於程式內在的一些特徵,系統的某些組成子程式只允許執行乙個應用程式例項,以保證業務和資料處理安全。本文將從實際應用角度來分析其實現原理,對三種實現方式進行測試比較,從而確定一種合適的實現方法。文章的例子使用c 語言進行描述。程序匹配 對於每乙個應用程式執行例項都會包含該例項...