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

时间: 2024-10-19 21:46:38

【Oracle】数据库启动阶段参数文件、控制文件的问题处理的相关文章

[精]Oracle 数据库启动阶段详解

Oracle Server主要由两部分组成:Instance 和Database .Instance 是指一组后台进程/线程和一块共享内存区域,而 Database是指存储在磁盘上的一组物理文件.本文由数据库 如何启动入手.本文地址:http://blog.csdn.net/sunansheng/article/details/51913155 数据库的启动 首先来分析一下数据库的启动过程,Oracle 数据库的启动主要包含 3 个步骤:(1)启动数据库到 nomount 状态:(2)启动数据库

参数文件 控制文件 日志文件 归档文件

参数文件 Database Administration----Reference----Part I Initialization Parameters pfile和spfile区别 文件名不同 文本参数文件pfile:命令规则init+sid.ora 例如:initorcl.ora 服务器参数文件spfile:命名规则spfile+sid.ora 例如:spfileorcl.ora 类型不同 pfile:文本文件 spfile:二进制文件 使用顺序不同 spfile优先使用,如果找不到spf

Oracle 物理结构(四) 文件-控制文件

一.什么是控制文件 控制文件是Oracle数据库中十分重要的文件.Oracle启动时,首先会读取参数文件,读取了参数文件,实例所需要的共享内存和后台进程就可以启动了,这就是数据库实例的nomunt阶段.完成这个步骤后,就需要通过参数文件中的control_file参数,找到数据库的控制文件,然后打开控制文件,对控制文件进行校验.这就是Oracle数据库实例启动过程中的Mount阶段. 二.控制文件包含哪些信息 控制文件中包含了Oracle数据库十分重要的信息,其中包括整个数据库的物理结构.所有数

Oracle 数据库启动与关闭 各种方式详解整理

概述 只有具备sysdba和sysoper系统特权的用户才能启动和关闭数据库. 在启动数据库之前应该启动监听程序,否则就不能利用命令方式来管理数据库,包括启动和关闭数据库. 虽然数据库正常运行,但如果没有启动监听程序,客户端就不能连接到数据库. 在oracle用户下: 启动监听程序 lsnrctl start 关闭监听程序lsnrctl stop 查询监听程序状态lsnrctl status startup 支持参数 STARTUP options | upgrade_options optio

Oracle——数据库启动与关闭

本文内容 服务器环境 客户端环境 概述 启动数据库 关闭数据库 补充 参考资料 本文说明 Oracle 数据库的启动和关闭,内容虽然基础,但是在数据库很多操作中都需要,因此,基础而重要,必须深入理解.比如,何种情况应该使用何种数据库加载模式,以及数据库文件打开模式. 服务器环境 Windows 2003 R2 Oracle11g 32位 客户端环境 Windows 2008R2 Oracle 11g 32位客户端 概述 若用 startup 命令启动数据库,执行的操作要经历三个不同的阶段: 实例

关于oracle数据库启动报ORA-01122,ORA-01110,ORA-01203错误的解决方法

ORACLE 数据库空间裸设备出问题了,启动oracle失败,解决方法问题现象:     启动ORACLE的时候报如下的错误:        Database mounted.      ORA-01122: database file 6 failed verification check      ORA-01110: data file 6: '/dev/raw/rlv_cbs_user_dat'      ORA-01203: wrong incarnation of this file

oracle数据库启动报错,不能启动ASM实例

数据库rac启动时报错,日志如下,后来使用 Sat Jun  7 06:02:11 2014 GATHER_STATS_JOB encountered errors.  Check the trace file. Sat Jun  7 06:02:11 2014 Errors in file /oracle/product/admin/dqb/bdump/dqb2_j001_13352.trc: ORA-08103: object no longer exists Sat Jun  7 06:0

一次Windows 注册表中注册表项目丢失导致的Oracle 数据库启动问题。

一次Windows  注册表中注册表项目丢失导致的Oracle 数据库启动问题. 环境说明: 1.windows 2008操作系统 x64bit 2.Oracle database 11.2.0.1 32bit 3.sqlplus / as sysdba进不去,报错: c:\user\administrator>sqlplus / as sysdba Error 6 initializing SQL*Plus Message file sp1<lang>.msb not found SP

CenOS7 部署 数据库 Oracle 12c + 启动阶段与关闭状态 [12.2 企业版]

简介 1·Oracle 12c 特性2·Oracle 12c 服务器的硬件要求3·Oracle 12c 部署过程4·Oracle 12c 的启动方式与关闭状态5·Oracle 12c 的总结 Oracle 12c 特性 Oracle Database 12 c-是世界上第一个专为云设计的数据库. A·使用Oracle Multitenant插入云端 > 数据库整合是云之旅的关键一步.Oracle Database 12 c使流程更加快速和简单,实现了高密度的基于模式的整合 - 无需更改现有应用程