oracle数据库配置助手来初始化参数,使用服务器参数文件(SPFILE)管理初始化参数...

传统上,Oracle数据库的初始化参数存储在文本初始化参数文件中。为了更好的可管理性,您可以选择在二进制服务器参数文件中维护初始化参数,该文件在数据库启动和关闭期间保持不变。本节介绍服务器参数文件,并介绍如何使用任何一种存储参数的方法来管理初始化参数。

什么是服务器参数文件?

迁移到服务器参数文件

创建服务器参数文件

SPFILE初始化参数

更改初始化参数值

清除初始化参数值

导出服务器参数文件

备份服务器参数文件

恢复丢失或损坏的服务器参数文件

查看参数设置

什么是服务器参数文件?

服务器参数文件最初是使用CREATE SPFILE语句从文本初始化参数文件构建的。 (它也可以由数据库配置助手直接创建。)服务器参数文件是无法使用文本编辑器编辑的二进制文件。 Oracle数据库提供其他界面,用于查看和修改服务器参数文件中的参数设置。

虽然可以使用文本编辑器打开二进制服务器参数文件并查看其文本,但不要手动编辑它。这样做会损坏文件。将无法启动实例,如果实例正在运行,则可能会失败。

当发出没有PFILE子句的STARTUP命令时,Oracle实例将搜索操作系统特定的默认位置,以查找从中读取初始化参数设置的服务器参数文件。如果找不到服务器参数文件,则实例将搜索文本初始化参数文件。如果服务器参数文件存在但您想用文本初始化参数文件中的设置覆盖它,则必须在发出STARTUP命令时指定PFILE子句。

迁移到服务器参数文件

如果当前正在使用文本初始化参数文件(PFILE),请使用以下步骤迁移到服务器参数文件(SPFILE)。

1、如果初始化参数文件位于客户端系统上,则将文件(例如FTP)从客户端系统传输到服务器系统。

2、使用CREATE SPFILE FROM PFILE语句在默认位置创建一个服务器参数文件。

3、启动或重新启动实例

该实例在默认位置找到新的SPFILE并启动它

创建服务器参数文件

使用CREATE SPFILE语句来创建服务器参数文件。必须具有SYSDBA或SYSOPER系统特权才能执行此语句。

当使用数据库配置助手创建数据库时,它会自动创建一个服务器参数文件。

CREATE SPFILE语句可以在实例启动之前或之后执行。但是,如果实例已使用服务器参数文件启动,则如果尝试重新创建实例当前正在使用的服务器参数文件,则会引发错误。

可以从现有文本初始化参数文件或内存创建服务器参数文件(SPFILE)。从内存创建SPFILE意味着将正在运行的实例中的初始化参数的当前值复制到SPFILE。

以下示例从文本初始化参数文件/u01/oracle/dbs/init.ora创建服务器参数文件,在这个例子中,没有指定SPFILE名称,所以文件是用特定于平台的默认名称和位置创建的(https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#CIAJEBBI):

CREATE SPFILE FROM PFILE='/u01/oracle/dbs/init.ora';

下一个示例说明了如何创建服务器参数文件并提供名称和位置:

CREATE SPFILE='/u01/oracle/dbs/test_spfile.ora'

FROM PFILE='/u01/oracle/dbs/test_init.ora';

下一个示例说明如何根据内存中初始化参数的当前值在默认位置创建服务器参数文件:

CREATE SPFILE FROM MEMORY;

无论使用默认的SPFILE名称和默认位置,还是指定SPFILE名称和位置,如果位置中已存在同名的SPFILE,它将被覆盖而不会显示警告消息

从文本初始化参数文件创建SPFILE时,与初始化参数文件中的参数设置在同一行中指定的注释将保留在SPFILE中。所有其他注释被忽略。

Oracle建议允许数据​​库为SPFILE指定默认名称并将其存储在默认位置。这简化了数据库的管理。例如,STARTUP命令假定这个默认位置读取SPFILE。

Table 2-3 PFILE and SPFILE Default Names and Locations on UNIX, LInux, and Windows

Platform

PFILE Default Name

SPFILE Default Name

PFILE Default Location

SPFILE Default Location

UNIX and Linux

initORACLE_SID.ora

spfileORACLE_SID.ora

$ORACLE_HOME/dbs或与数据文件相同位置

没有使用ASM:

$ORACLE_HOME/dbs或与数据文件相同位置

使用ASM:

与数据文件在同一个磁盘组中

Windows

initORACLE_SID.ora

spfileORACLE_SID.ora

$ORACLE_HOME/database

没有使用ASM:

$ORACLE_HOME/database

使用ASM:

与数据文件在同一个磁盘组中

启动时,实例首先搜索名为spfileORACLE_SID.ora的SPFILE,如果未找到,则搜索spfile.ora。使用spfile.ora可以使所有Real Application Cluster(Oracle RAC)实例使用相同的服务器参数文件。 如果两个SPFILE都未找到,则该实例将搜索文本初始化参数文件initORACLE_SID.ora

如果在默认位置以外的位置创建SPFILE,则必须在默认的PFILE位置创建一个指向服务器参数文件的“stub”PFILE。有关更多信息,请参阅“https://docs.oracle.com/cd/E11882_01/server.112/e25494/start.htm#i1006133”。

当存在Oracle ASM时使用DBCA创建数据库时,DBCA将SPFILE置于Oracle ASM磁盘组中,并且还会导致创建此stub PFILE。

SPFILE初始化参数

SPFILE初始化参数包含当前服务器参数文件的名称。当数据库使用默认的服务器参数文件时,即发出STARTUP命令并且不指定PFILE参数 - SPFILE的值由服务器在内部设置。 SQL * Plus命令SHOW PARAMETERS SPFILE(或任何其他查询参数值的方法)显示当前正在使用的服务器参数文件的名称

更改初始化参数值

两种初始化参数:

动态初始化参数:可以针对当前的Oracle数据库实例进行更改。这些更改立即生效

静态初始化参数:不能为当前实例更改。您必须在文本初始化文件或服务器参数文件中更改这些参数,然后在更改生效之前重新启动数据库。

设置或更改初始化参数值

使用ALTER SYSTEM语句的SET子句来设置或更改初始化参数值。可选的SCOPE子句按照下表中的描述来指定更改的范围:

SCOPE Clause

Description

SCOPE = SPFILE

该更改仅适用于服务器参数文件。效果如下:

对当前实例没有改变

对于动态和静态参数,更改在下次启动时有效并且是持久的

这是静态参数允许的唯一SCOPE规范。

SCOPE = MEMORY

该更改仅在内存中应用。效果如下:

该更改是针对当前实例进行的,并立即生效。

对于动态参数,效果是即时的,但它不是持久的,因为服务器参数文件未更新。

对于静态参数,该规范是不允许的。

SCOPE = BOTH

该更改将应用​​于服务器参数文件和内存中。效果如下:

该更改是针对当前实例进行的,并立即生效。

对于动态参数,由于服务器参数文件已更新,所以效果是持久的。

对于静态参数,这个规范是不允许的。

如果实例未启动服务器参数文件,则指定SCOPE = SPFILE或SCOPE = BOTH是错误的。如果使用服务器参数文件启动实例,则默认值为SCOPE = BOTH;如果使用文本初始化参数文件(PFILE)启动实例,则默认值为MEMORY。

对于动态参数,还可以指定DEFERRED关键字。指定时,更改仅对未来会话有效。

当将SCOPE指定为SPFILE或BOTH时,可选的COMMENT子句可让将文本字符串与参数更新相关联。注释被写入服务器参数文件。

以下语句更改连接被删除之前失败的登录尝试的最大次数。它包含注释,并明确指出只能在服务器参数文件中进行更改。

ALTER SYSTEM SET SEC_MAX_FAILED_LOGIN_ATTEMPTS=3COMMENT='Reduce from 10 for tighter security.'SCOPE=SPFILE;

下一个示例设置了一个复杂的初始化参数,其中包含属性列表。具体来说,被设置的参数值是LOG_ARCHIVE_DEST_n初始化参数。此声明可以更改此参数的现有设置或创建新的归档目标。

ALTERSYSTEMSET LOG_ARCHIVE_DEST_4='LOCATION=/u02/oracle/rbdb1/',MANDATORY,'REOPEN=2'COMMENT='Add new destination on Nov 29'SCOPE=SPFILE;

当一个值由一系列参数组成时,您不能通过位置或序号编辑单个属性。每次更新参数时都必须指定完整的值列表,并且新列表完全替换旧列表。

清除初始化参数值

可以使用ALTER SYSTEM RESET命令清除(删除)用于启动实例的SPFILE中的任何初始化参数的设置。 SCOPE = MEMORY和SCOPE = BOTH都不允许。 SCOPE = SPFILE子句不是必需的,但可以包含。

可能需要清除SPFILE中的参数,以便在下次数据库启动时使用默认值。

导出服务器参数文件

可以使用CREATE PFILE语句将服务器参数文件(SPFILE)导出到文本初始化参数文件。这样做可能有以下几个原因:

出于诊断目的,列出当前实例使用的所有参数值。这类似于SQL * Plus SHOW PARAMETERS命令或从V $ PARAMETER或V $ PARAMETER2视图中选择。

要修改&spfile;服务器参数文件,首先要导出它,编辑生成的文本文件,然后使用CREATE SPFILE语句重新创建它

导出的文件也可以用来使用PFILE子句启动实例。

必须具有SYSDBA或SYSOPER系统特权才能执行CREATE PFILE语句。导出的文件在数据库服务器系统上创建。它包含与参数相关的任何注释,与参数设置位于同一行。

以下示例从SPFILE创建一个文本初始化参数文件:

CREATE PFILE FROM SPFILE;

由于没有为文件指定名称,因此数据库将创建一个具有平台特定名称的初始化参数文件,并且该文件是从特定于平台的默认服务器参数文件创建的。

以下示例从服务器参数文件创建一个文本初始化参数文件,但在本例中指定了这些文件的名称:

CREATE PFILE='/u01/oracle/dbs/test_init.ora'

FROM SPFILE='/u01/oracle/dbs/test_spfile.ora';

另一种方法是根据内存中初始化参数的当前值创建一个PFILE。以下是所需命令的示例:

CREATE PFILE='/u01/oracle/dbs/test_init.ora' FROM MEMORY;

备份服务器参数文件

可以通过导出服务器参数文件(SPFILE)来创建备份,如“导出服务器参数文件”中所述。如果数据库的备份和恢复策略是使用Recovery Manager(RMAN)实施的,那么可以使用RMAN创建SPFILE的备份。备份数据库时,SPFILE由RMAN自动备份,但RMAN还可以专门创建当前活动SPFILE的备份。

恢复丢失或损坏的服务器参数文件

如果您的服务器参数文件(SPFILE)丢失或损坏,则当前实例可能会失败,或者下次尝试启动数据库实例可能会失败。有几种方法可以恢复SPFILE:

1、如果实例正在运行,请发出以下命令以从内存中的初始化参数的当前值重新创建SPFILE

CREATE SPFILE FROM MEMORY;

该命令使用默认名称和默认位置创建SPFILE。您也可以用新名称或指定位置创建SPFILE。有关示例,请参阅“创建服务器参数文件”。

2、如果您有一个有效的文本初始化参数文件(PFILE),请使用以下命令从PFILE重新创建SPFILE

CREATE SPFILE FROM PFILE;

该命令假定PFILE处于默认位置并具有默认名称。当PFILE不在缺省位置或非默认名称时,请参阅“创建服务器参数文件”以获取要使用的命令语法。

3、从备份中恢复SPFILE

有关更多信息,请参阅“备份服务器参数文件”

4、如果以上的方法都不可行,请执行以下步骤:

从警报日志中的参数值列表中创建一个文本初始化参数文件(PFILE):当实例启动时,用于启动的初始化参数将写入警报日志。您可以将警报日志的文本版本(不带XML标签)复制并粘贴到新的PFILE中。参阅:https://docs.oracle.com/cd/E11882_01/server.112/e25494/diag.htm#CHDGCEIH

从PFILE创建SPFILE

在参数更新期间读取/写入错误

如果在参数更新期间读取或写入服务器参数文件时发生错误,则会在警报日志中报告错误,并忽略服务器参数文件的所有后续参数更新。此时,您可以执行以下操作之一:

关闭实例,恢复服务器参数文件并在本节前面介绍,然后重新启动实例。

如果不关心后续参数更新不会持久,则继续运行数据库。

查看参数设置

可以通过多种方式查看参数设置,如下表所示:

Method

Description

SHOW PARAMETERS

此SQL * Plus命令显示当前会话有效的初始化参数的值。

SHOW SPPARAMETERS

此SQL * Plus命令在服务器参数文件(SPFILE)中显示初始化参数的值。

CREATE PFILE

此SQL语句根据SPFILE或当前的内存设置创建文本初始化参数文件(PFILE)。然后您可以使用任何文本编辑器查看PFILE。

V$PARAMETER

该视图显示当前会话有效的初始化参数的值。

V$PARAMETER2

该视图显示当前会话有效的初始化参数的值。在此视图中区分列表参数值更容易,因为每个列表参数值都显示在单独的行中。

V$SYSTEM_PARAMETER

该视图显示实例中有效的初始化参数的值。新会话从实例范围的值继承参数值。

V$SYSTEM_PARAMETER2

该视图显示实例中有效的初始化参数的值。新会话从实例范围的值继承参数值。在此视图中区分列表参数值更容易,因为每个列表参数值都显示在单独的行中。

V$SPPARAMETER

该视图显示SPFILE的当前内容。如果SPFILE未被实例使用,则该视图在ISSPECIFIED列中返回FALSE值。

参考资料

https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN00202

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/496250.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为脚本语言平反-JavaScript篇(3)

http://blog.csdn.net/aimingoo/archive/2009/09/08/4532496.aspx (书接上回,继续!) 五、这个DSL框架有什么问题? 有什么问题吗?有一点,并不严重。比如说,我们在Env中声明了一些属性…

htop 命令详解

htop 官网:http://htop.sourceforge.net/ Linux top 命令的用法详细详解:https://www.cnblogs.com/zhoug2020/p/6336453.html htop 使用详解:https://www.cnblogs.com/programmer-tlh/p/11726016.html 使用 yum 无法直接安装 htop&#xff…

linux主机服务器日志采集,Linux通过Rsyslog搭建集中日志服务器

(一)Rsyslog简介ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地。rsyslog是一个开源工具,被广泛用于Linux系统以通过TCP/UDP协议转发或接收…

IDC预测2022年全球智能家居连接设备市场规模将达10亿台!

来源: IDC官网、智慧生活; 物联网资本论编译摘要:2017年,全球智能家居连接设备市场规模达到43310万台,比上一年增长27.6%。2022年市场达到9.397亿台,IDC预计复合年增长率(CAGR&#…

Spring Data JPA 从入门到精通~方法的查询策略的属性表达式

方法的查询策略的属性表达式(Property Expressions) 属性表达式只能引用托管(泛化)实体的直接属性,如前一个示例所示。在查询创建时,已经确保解析的属性是托管实体的属性,但是,还可…

effective C++ 读书笔记

本篇文章都是摘自 《Effective C》 中文版 第三版 和 第二版。 再好的记性也有忘记的一天,记录下以备随时查看。。。 电子书下载地址:https://download.csdn.net/download/freeking101/10278088 《Effective C》第二版在线教程:http://www.…

抓取新浪的每日星座运势

从新浪上抓取每日的星座运势,然后往求实的Astrology版发. #!/usr/bin/python# encoding: utf-8from sgmllib import SGMLParserfrom datetime import datetime, timedeltaimport reimport urllibstarurlhttp://image2.sina.com.cn/ast/2007index/tmp/star_php/star.…

Spring Data JPA 从入门到精通~思维导图

#原图 System.out.println("https://www.processon.com/view/61c7227c0e3e7474fb9b4b76?fromnew1");

发邮件

System.Net.Mail.MailMessage message new System.Net.Mail.MailMessage("发件邮箱gmail.com","收件邮箱163.com", "测试标题", "测试内容"); System.Net.Mail.SmtpClient smtpClient new System.Net.Mail.SmtpClient("smtp.g…

Linux 编译 没有path,编译linux-2.6.21的问题-‘PATH_MAX’ undeclared

编译linux-2.6.21的问题:cripts/mod/sumversion.c: In function ‘get_src_version’:scripts/mod/sumversion.c:384: error: ‘PATH_MAX’ undeclared (first usein this function)scripts/mod/sumversion.c:384: error: (Each undeclared identifier isreported o…

高通5G版图现身!你的网络生活将迎来巨变?

来源:36Kr 作者:桐由于骁龙845移动平台和骁龙636移动平台的首发,3月的手机市场对于持币代购的消费者而言注定是充满期待的,在三星S9和红米Note5刷屏之时,曾经隐身手机幕后的高通也再一次引发用户热议,高通…

异步复位设计中的亚稳态问题及其解决方案

异步复位设计中的亚稳态问题及其解决方案田志明,杨军,罗岚(东南大学国家专用集成电路系统工程技术研究中心,南京 210096)摘 要:尽管异步复位是一种安全可靠复位电路的方法,但如果处理不当的话&a…

linux添加nginx,linux下安装Nginx1.16.0的教程详解

因为最近在倒腾linux,想安装新版本的nginx,找了一圈教程没有找到对应的教程,在稍微倒腾了一会之后终于成功的安装了最新版。服务器环境为centos,接下来是详细步骤:安装必要依赖插件?创建文件夹并切换过去?下载安装包…

深度|2030年8亿人会失业!图解机器人如何取代你的工作

来源:财看见-腾讯财经(ID:qqckj2017)未来智能实验室是人工智能学家与科学院相关机构联合成立的人工智能,互联网和脑科学交叉研究机构。未来智能实验室的主要工作包括:建立AI智能系统智商评测体系&#xff0…

Java使用Itext5.5.10进行pdf签章

来源:Java使用Itext5.5.10进行pdf签章_liumengya007007的博客-CSDN博客_itext 签章 啰嗦 说到PDF数字签名签章,这个其实也是数字证书信息安全的应用范畴,关于数字证书和数字签名,网上有很多解释说明,但讲解都多不够详…

Python的bool类型

写习惯了C#的代码,在想要将一个字符串False转换为bool型的时候,很自然的写了如下的Python代码: 看到上面的结果了没?是True。突然记起Python中除了、""、0、()、[]、{}、None为False之外,其他的都是True。也…

linux qt程序编译出错,QTcreator编译出错

作为移植性很好的QT图形开发工具,他支持windows,linux,FBS,macos,Symbian等OS,在windows下的QT程序在安装了QTcreator后很快就编译出来了,可是在我的redhat enterprise5 安装后,一个hello,world!却报错了错…

C++ Programmer's Cookbook C++基础和C++高级

From:http://www.cppblog.com/mzty/archive/2007/08/13/29922.html ------------------------------------------------------------------------------------------ C随笔分类列表(基础): VS Studio: VS快捷键:http://www.cppb…

工业机器人发展趋势分析 未来营收规模达到百亿级水平

来源:前瞻产业研究院摘要:工业机器人是打造自动化工厂的重要组成,可有效提高效率生产、降低成本和控制质量。工业机器人是面向工业领域的多关节机械手或多自由度的机器装置,它能自动执行工作,是靠自身动力和控制能力来实现各种功能的一种机器。工业机器人…

【itext学习之路】--5.对pdf进行盖章/签章/数字签名

来源:【itext学习之路】-------(第五篇)对pdf进行盖章/签章/数字签名_tomatocc的博客-CSDN博客_itext 数字签名 在上一篇文章中,我们学习了使用itext对pdf增加图片水印和文本水印,那么这篇文章我们将要学习更高级一点…