oracle查询数据库启动时的参数文件,【Oracle】数据库启动阶段参数文件、控制文件的问题处理...
Oracle啟動分三個階段:
nomount:
首先查找參數文件(pfile/spfile),根據文件創建實例。Nomount的過程是啟動數據庫實例的過程。
沒有參數文件無法nomount
mount:
從參數文件中獲得控制文件的位置信息,然后打開控制文件。
--沒有控制文件無法mount
open:
打開控制文件中所有描述的文件。
--沒有數據文件無法open
-------------------------------------------------------------------------------------
NLS_LANG設置要點:
Chcp = 936 表示gbk,nls_lang設置如下:
set NLS_LANG=simplifiedchinese_china.zhs16gbk
客戶端系統的編碼是什么,nls_lang就需要設成什么編碼。Oracle在存儲數據時,會對接收到的數據根據nls_lang的編碼進行解碼,然后再以oracle數據的編碼存入數據庫。
一、參數文件生成
空閑實例可以把pfile與spfile互轉
Pfile(文本文件):客戶端文件,可以放在其它位置 。
Spfile(二進制文件):服務端文件,只能放在database下,但可以用pfile中指定位置。
Create pfile from spfile;
Create spfile from pfile;
注意點:修改參數前,最好先生成一個pfile文件。
把spfile 與pfile移動到別的地方啟動:
若是有initsid.ora文件,則可以把initsid.ora文件放到database目錄下,或者用指定方法啟動:
SQL> startup nomountpfile='D:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\bak\inith
xw168.ora'
指定參數啟動的,不能直接create spfile from pfile;
關掉實例,重新 startup nomount即可啟動。
二、spfile文件移動位置
在database目錄下創建initsid.ora文件,在里面只寫以下內容:
spfile='D:\oracle\product\11.2.0\dbhome_1\database\bak\SPFILEHXW168.ORA'
spfile文件的位置。如下圖:
show parameter spfile;后可以查到現在使用的spfile是在bak目錄下面。
三、添加或刪除控制文件
參數文件記錄控制文件位置,控制文件位置:
D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL
D:\ORACLE\FLASH_RECOVERY_AREA\HXW168\CONTROL02.CTL
把其中D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL文件移走,啟動如下:
Alter日志如下:
有二個方法可以解決:
1、由于控制文件是互相鏡像,把另一個控制文件復制過來并改名,即可。
2、在參數文件中把這個控制文件信息刪除,操作步驟如下:
查看control_files參數類型,可以看到false:表示修改后需要重啟生效。
SQL> alter system setcontrol_files='D:\ORACLE\FLASH_RECOVERY_AREA\HXW168\CONTRO
L02.CTL';這樣會報錯,所以需要加上scope=spfile;
關閉數據庫再啟動到nomount下,可以看到只有一個控制文件了:
可以正常進入mount狀態
把D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL添加回去。命令如下:
SQL> alter system set control_files='D:\ORACLE\FLASH_RECOVERY_AREA\HXW168\CONTRO
L02.CTL’,’D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL'scope=spfile;
關閉數據庫,把D:\ORACLE\FLASH_RECOVERY_AREA\HXW168\CONTROL02.CTL文件復制到并改名D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL。
三、參數設置
1、修改session的參數
Alter nls_date_format=’yyyy/mm/ddhh24:mi:ss’;
2、修改系統的參數
Alter system set control_files=’path1’,'path2'scope=spfile;
3、查看參數默認值
--查看參數有什么值
select * from v$parameter_valid_valueswhere name='audit_trail'
--查看參數是什么靜態還是動態
select * from v$system_parameter wherename='audit_trail'
ISSYS_MODIFIABLE:
False:重啟后生效,需要指定scope=spfile;
IMMEDIATE:更改后馬上生效。
總結
以上是生活随笔為你收集整理的oracle查询数据库启动时的参数文件,【Oracle】数据库启动阶段参数文件、控制文件的问题处理...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle自定义函数获取省份,orac
- 下一篇: oracle xmltype使用,ora