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文件。

52f0751703fa12236085fc93399da5c2.png

把spfile 与pfile移动到别的地方启动:

c7d817433f39b53a6d3a651fb736d104.png

若是有initsid.ora文件,则可以把initsid.ora文件放到database目录下,或者用指定方法启动:

9bdb5c194948adca175d0c8f86bbcc66.png

SQL> startup nomountpfile='D:\ORACLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\bak\inith

xw168.ora'

指定参数启动的,不能直接create spfile from pfile;

dc018cfd57b750ac4040f8772dc4c0b9.png

6f39243c716e517c4bca1080191328d9.png

关掉实例,重新 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目录下面。

ed3a02b34d30e8976c3f201553039416.png

三、添加或删除控制文件

参数文件记录控制文件位置,控制文件位置:

D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL

D:\ORACLE\FLASH_RECOVERY_AREA\HXW168\CONTROL02.CTL

d5bb59a4d7575041c6ffcbd6c9043941.png

把其中D:\ORACLE\ORADATA\HXW168\CONTROL01.CTL文件移走,启动如下:

c8676e0a7f4fe1ae353beb4410635183.png

538823fef7a1e9210a3679bbbafb64a1.png

Alter日志如下:

2d83cfc9c2c0b5d9e13f0eb6625e3500.png

有二个方法可以解决:

1、由于控制文件是互相镜像,把另一个控制文件复制过来并改名,即可。

2、在参数文件中把这个控制文件信息删除,操作步骤如下:

查看control_files参数类型,可以看到false:表示修改后需要重启生效。

cd23ecea018f705e8ab0631b2d323d2a.png

SQL> alter system setcontrol_files='D:\ORACLE\FLASH_RECOVERY_AREA\HXW168\CONTRO

L02.CTL';这样会报错,所以需要加上scope=spfile;

1cdf592ba6c98f91f25becd50f17e717.png

关闭数据库再启动到nomount下,可以看到只有一个控制文件了:

3e468f62d5cc44dd0df2a3563c5e3f0c.png

可以正常进入mount状态

c1e35be35139eaf19706e01c0382b8da.png

把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。

b2cbecdb7bf80c1acbf158a8ec34531e.png

三、参数设置

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:更改后马上生效。


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部