Oracle442個應用例項

2022-04-08 04:29:21 字數 2532 閱讀 2715

----------------初始化引數檔案--------------------

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 語言進行描述。程序匹配 對於每乙個應用程式執行例項都會包含該例項...