当前位置: 首页 > news >正文

Oracle参数文件详解

1、参数文件的作用

参数文件用于存放实例所需要的初始化参数,因为多数初始化参数都具有默认值,所以参数文件实际存放了非默认的初始化参数。

2、参数文件类型

1)服务端参数文件,又称为 spfile
二进制的文件,命名规则为:spfile+sid.ora
如: spfileorcl.ora

2)静态参数文件,又称为 pfile
文本文件,命名规则为:init+sid.ora
如: Iinitorcl.ora

注意事项:
由于服务端参数文件是二进制的文件,使用vim打开看到的是乱乱的内容,此时切记不可使用:wq保存退出,否则服务端参数文件会损坏

3、参数文件的位置

SQL > show parameter spfileNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/19.3.0/db_1/dbs/spfileorcl.ora

进入 /u01/app/oracle/product/19.3.0/db_1/dbs/路径查看当前有哪些参数文件

# cd /u01/app/oracle/product/19.3.0/db_1/dbs/
# ls
hc_mydb.dat   hc_orcl.dat  init.ora  lkORCL  orapworcl  spfileorcl.ora
hc_oradb.dat  hc_prod.dat  lkMYDB    lkPROD  orapwprod  spfileprod.ora
  • 有两个服务端参数文件(该服务器安装了两个数据库):spfileorcl.ora spfileprod.ora
  • 没有静态参数文件

4.创建参数文件

4.1 创建静态参数文件
(1)orcl数据库在默认路径下创建静态参数文件

SYS@orcl(CDB$ROOT)> create pfile from spfile;File created.

或:

SYS@orcl(CDB$ROOT)> create pfile from memory;File created.

执行上述命令之一后再次查看,可看到新建的静态参数文件 initorcl.ora

# cd /u01/app/oracle/product/19.3.0/db_1/dbs/
# ls
hc_mydb.dat   hc_orcl.dat  init.ora      lkMYDB  lkPROD     orapwprod       spfileprod.ora
hc_oradb.dat  hc_prod.dat  initorcl.ora  lkORCL  orapworcl  spfileorcl.ora--查看服务端参数文件格式(二进制)
# file spfileorcl.ora
spfileorcl.ora: data--查看静态参数文件格式(文本文件)
# file initorcl.ora
initorcl.ora: ASCII text

(2)在指定路径下创建静态参数文件

SQL> create pfile='/home/oracle/init.ora' from spfile;
或
SQL> create pfile='/home/oracle/init.ora' from memory;

4.2 创建服务端参数文件
(1)在默认路径下创建服务端参数文件

SYS@orcl(CDB$ROOT)> create spfile from pfile;File created.

注意事项:
若当前数据库正在使用服务端参数文件,则无法在默认路径创建服务端参数文件。

SYS@orcl(CDB$ROOT)> create spfile from pfile;
create spfile from pfile
*
ERROR at line 1:
ORA-32002: cannot create SPFILE already being used by the instance

(2)在指定路径下创建服务端参数文件

SQL> create spfile='/home/oracle/spfile.ora' from pfile;
SQL> create spfile='/home/oracle/spfile_memory.ora' from memory;

5、参数文件使用顺序

  • 优先使用 spfile
  • 当 spfile 不存在或出错使用 pfile
  • 当 pfile 也不存在或出错,数据库不能正常启动。

6、如何判断数据库使用的是 SPFILE 还是 PFILE 呢

SYS@orcl(CDB$ROOT)> show parameter spfileNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /u01/app/oracle/product/19.3.0/db_1/dbs/spfileorcl.ora

这里通过VALUE的值,可以知道使用的是服务器参数文件spfileorcl.ora,若VALUE值为空,说明使用的是静态参数文件。

7、参数查看

(1)方法一:使用show命令

--查看所有参数
SQL> show parameter --查询含有特定关键字的参数
----如查看含有undo关键字的参数
SQL> show parameter undoNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
temp_undo_enabled                    boolean     FALSE
undo_management                      string      AUTO
undo_retention                       integer     900
undo_tablespace                      string      UNDOTBS1--查看指定参数
SQL> show parameter 参数名
----如查看参数undo_tablespace
SQL> show parameter undo_tablespaceNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace                      string      UNDOTBS1

(2)方法二:查询数据字典v$parameter

--查看所有参数
SQL> select NAME,VALUE from v$parameter;--查看含有特定关键字的参数
----如查看含有undo关键字的参数
SQL> select NAME,VALUE from v$parameter where NAME like '%undo%';--查看指定参数
----如查看参数undo_tablespace
SQL> select NAME,VALUE from v$parameter where NAME = 'undo_tablespace';

8、参数修改

1)alter session
当前会话生效,新开的会话或重启数据库参数值不生效。
例:

SQL> alter session set sql_trace=true;

2)alter system
当前会话生效,新开的会话或重启数据库会参数值都生效。
例:

SQL> alter system set sql_trace=true;

3)ALTER SYSTEM ……… deferred
当前会话不生效,新开的会话或重启数据库会参数值生效。
例:

SQL> alter system set sort_area_size=75536 deferred;

注:当前窗口的参数值不生效,另外打开一个窗口后,参数值生效。

4)重置参数值
例:

SQL> alter system reset optimizer_mode;

5)加选项 scope=spfile|memory|both
例:

SQL> alter system set optimizer_mode=all_rows scope=spfile;
SQL> alter system set optimizer_mode=all_rows scope=memory;
SQL> alter system set optimizer_mode=all_rows scope=both;
SQL> alter system set optimizer_mode=all_rows;

注:

  • 对静态参数的修改,需要指定 scope=spfile 选项, 需要重启数据库才生效 。
  • 默认选项为both

关于参数修改的更多内容可参看文章:《Oracle 参数文件 & 参数详解》

9、CDB参数 & PDB参数

CDB 参数文件使用 12c 以前的 SPIFLE,pdb 参数文件不出现在 SPFILE 中,而是从CDB 中继承。

SYS@orcl(CDB$ROOT)> show con_nameCON_NAME
------------------------------
CDB$ROOTSYS@orcl(CDB$ROOT)> select pdb_uid,name,value$ from PDB_SPFILE$;no rows selectedSYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     300SYS@orcl(CDB$ROOT)> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO3 PDB                            READ WRITE NOSYS@orcl(CDB$ROOT)> alter session set container=pdb;Session altered.SYS@orcl(CDB$ROOT)> show con_nameCON_NAME
------------------------------
PDBSYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     300

如果 PDB 中有私有本地参数,则会保存在 CDB 的 PDB_SPFILE$字典表中,并以 con_id 区别。

SYS@orcl(CDB$ROOT)> alter system set open_cursors=400;System altered.SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     400SYS@orcl(CDB$ROOT)> conn / as sysdba
Connected.
SYS@orcl(CDB$ROOT)> show con_nameCON_NAME
------------------------------
CDB$ROOT
SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     300SYS@orcl(CDB$ROOT)> select pdb_uid,name,value$ from PDB_SPFILE$;PDB_UID        NAME               VALUE$
--------------------------------------------------------------------------------
1767828969   open_cursors    400

当 PDB UN-Plug 时,PDB 参数写入 PDB 的 XML 文件中:

SYS@orcl(CDB$ROOT)> alter pluggable database pdb close immediate;Pluggable database altered.SYS@orcl(CDB$ROOT)> alter pluggable database pdb unplug into '/home/oracle/pdb.xml';Pluggable database altered.
# cat /home/oracle/pdb.xml

会看到PDB 修改的参数已写入 PDB 的 XML 文件中。
在这里插入图片描述
当 droppluggable database 后,pdb 和 PDB_SPFILE$信息记录会被清除。

SYS@orcl(CDB$ROOT)> drop pluggable database pdb keep datafiles;Pluggable database dropped.SYS@orcl(CDB$ROOT)> select pdb_uid,name,value$ from PDB_SPFILE$;no rows selected

当PDB重新 Plug-in到CDB时会重新加载回PDB, 但是由于一些PDB参数特殊原因在plug-in时会被遗弃。这里因为没有特殊参数,所以没有丢失参数。

SYS@orcl(CDB$ROOT)> create pluggable database pdb using '/home/oracle/pdb.xml' nocopy;Pluggable database created.SYS@orcl(CDB$ROOT)> select pdb_uid,name,value$ from PDB_SPFILE$;PDB_UID        NAME               VALUE$
--------------------------------------------------------------------------------
2365777561   open_cursors    400
SYS@orcl(CDB$ROOT)> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO4 PDB                                   MOUNTEDSYS@orcl(CDB$ROOT)> alter pluggable database pdb open;Pluggable database altered.SYS@orcl(CDB$ROOT)> show pdbsCON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------2 PDB$SEED                       READ ONLY  NO4 PDB                            READ WRITE NO

删除 PDB_SPFILE$中相关记录,pdb 的参数值会自动继续继承 cdb 中参数值(重启生效)。

SYS@orcl(CDB$ROOT)> alter system set open_cursors=500;System altered.SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     500
SYS@orcl(CDB$ROOT)> alter session set container=pdb;Session altered.SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     400SYS@orcl(CDB$ROOT)> shutdown immediate
Pluggable Database closed.SYS@orcl(CDB$ROOT)> startup
Pluggable Database opened.SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     400SYS@orcl(CDB$ROOT)> delete from PDB_SPFILE$;1 row deleted.SYS@orcl(CDB$ROOT)> alter session set container=pdb;Session altered.SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     400SYS@orcl(CDB$ROOT)> shutdown immediate
Pluggable Database closed.SYS@orcl(CDB$ROOT)> startup
Pluggable Database opened.SYS@orcl(CDB$ROOT)> show parameter open_cursorsNAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
open_cursors                         integer     500

相关文章:

Oracle参数文件详解

1、参数文件的作用 参数文件用于存放实例所需要的初始化参数,因为多数初始化参数都具有默认值,所以参数文件实际存放了非默认的初始化参数。 2、参数文件类型 1)服务端参数文件,又称为 spfile 二进制的文件,命名规则…...

鸿蒙(HarmonyOS)Navigation如何实现多场景UI适配?

场景介绍 应用在不同屏幕大小的设备上运行时,往往有不同的UI适配,以聊天应用举例: 在窄屏设备上,联系人和聊天区在多窗口中体现。在宽屏设备上,联系人和聊天区在同一窗口体现。 要做好适配,往往需要开发…...

PTGui图像拼接实验

1 PTGui图像拼接实验 1.1 概述 图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传感器获得的)拼成一幅无缝的全景图或高分辨率图像的技术 图像配准(image alignment)和图像融合是图像拼接的两个关键…...

C++|类封装、类的分文件编写练习:设计立方体类、点和圆的关系

文章目录 练习案例1:设计立方体类CPP代码 练习案例2:点和圆的关系CPP代码 代码总结类的分文件编写 练习案例1:设计立方体类 设计立方体类(Cube) 求出立方体的面积和体积 分别用全局函数和成员函数判断两个立方体是否相等。 CPP代码 class Cube { pub…...

大数据开发扩展shell--尚硅谷shell笔记

大数据开发扩展shell 学习目标 1 熟悉shell脚本的原理和使用 2 熟悉shell的编程语法 第一节 Shell概述 1)Linux提供的Shell解析器有: 查看系统中可用的 shell [atguiguhadoop101 ~]$ cat /etc/shells /bin/sh/bin/bash/sbin/nologin/bin/dash/bin/t…...

考研数学|《1800》《1000》《880》《660》最佳搭配使用方法

直接说结论:基础不好先做1800、强化之前660,强化可选880/1000题。 首先,传统习题册存在的一个问题是题量较大,但难度波动较大。《汤家凤1800》和《张宇1000》题量庞大,但有些题目难度不够平衡,有些过于简单…...

【GameFramework框架内置模块】17、声音(Sound)

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q764424567/article/details/1…...

视频记录历史播放位置效果

简介 每次打开页面视频从上一次的播放位置开始播放 利用lodash库做节流 代码 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-sca…...

Request Response

简介 Request&#xff08;请求&#xff09; & Response&#xff08;响应&#xff09; 浏览器会向服务器发送请求数据&#xff0c;服务器也需要返回响应数据给浏览器&#xff0c;因此我们需要设置对应的类来代表请求数据和响应数据&#xff0c;且Servlet中的service方法就需…...

How to convert .py to .ipynb in Ubuntu 22.04

How to convert .py to .ipynb in Ubuntu 22.04 jupyter nbconvertp2j 最近看到大家在用jupyter notebook&#xff0c;我也试了一下&#xff0c;感觉还不错&#xff0c;不过&#xff0c;也遇到了一些问题&#xff0c;比方说&#xff0c;我有堆的.py文件&#xff0c;如果要一个一…...

【prometheus-operator】k8s监控集群外redis

1、部署exporter GitHub - oliver006/redis_exporter: Prometheus Exporter for Redis Metrics. Supports Redis 2.x, 3.x, 4.x, 5.x, 6.x, and 7.x redis_exporter-v1.57.0.linux-386.tar.gz # 解压 tar -zxvf redis_exporter-v1.57.0.linux-386.tar.gz # 启动 nohup ./redi…...

MySQL索引(图文并茂)

目录 一、索引的概念 二、索引的作用 三、创建索引的原则依据 四、索引的分类和创建 1、索引的分类 2、索引的创建 2.1 普通索引 2.1.1 直接创建索引 2.1.2 修改表方式创建 2.1.3 创建表的时候指定索引 2.2 唯一索引 2.2.1 直接创建唯一索引 2.2.2 修改表方式创建 …...

Redis 教程系列之Redis PHP 使用 Redis(十二)

PHP 使用 Redis 安装 开始在 PHP 中使用 Redis 前&#xff0c; 我们需要确保已经安装了 redis 服务及 PHP redis 驱动&#xff0c;且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动&#xff1a;下载地址为:https://github.com/phpredis/phpredis/releases。 P…...

JavaScript语法和数据类型

基础 JavaScript 借鉴了 Java 的大部分语法&#xff0c;但同时也受到 Awk、Perl 和 Python 的影响。 JavaScript 是区分大小写的&#xff0c;并使用 Unicode 字符集。举个例子&#xff0c;可以将单词 Frh&#xff08;在德语中意思是“早”&#xff09;用作变量名。 var Frh …...

解决华为云服务器宝塔面板无法访问显示“此站点的连接不安全”问题

已经配置好安全组以及初始化宝塔面板&#xff0c;还是无法访问镜像管理页面&#xff0c;提示此站点的连接不安全。 解决方案 将地址https改为http即可进入。 成功登录后&#xff0c;开启面板SSL即可。...

【Python】 Python脚本实现某平台视频流下载

亲爱的玛丽 我会想念着你 我是多么的讨厌分离 加油站旁的海鸥 机场路上的松柏 挥挥手眼泪就落下来 我多想和那些光阴永远住下来 我不能 我不能 &#x1f3b5; 赵雷《玛丽》 在视频内容的分发上&#xff0c;m3u8格式的视频流越来越常见。它将视频切分成多个…...

LangChain核心模块 Model I/O——Prompts

Prompts ​ 语言模型的提示是用户提供的一组指令或输入&#xff0c;用于指导模型的响应&#xff0c;帮助模型理解上下文并生成相关且连贯的基于语言的输出&#xff0c;例如回答问题、完成句子或参与某项活动。对话。 关键问题 如何在LLMs中使用少量示例(few-shot examples)—…...

关于Docker守护程序未运行导致的错误

01 在启动Docker之前&#xff0c;确保你已经安装了Docker并且Docker服务是运行的。以下是一些步骤可以帮助你解决这个问题&#xff1a; 首先&#xff0c;确保Docker已经正确安装在你的系统上。你可以通过运行以下命令来检查Docker是否已安装&#xff1a; docker --version如果…...

Unity中关于SendMessage方法

在Unity中&#xff0c;SendMessage 方法用于在游戏对象及其所有子对象上调用指定名称的方法。这种方法可以用于在不需要知道接收方的确切类型的情况下&#xff0c;向游戏对象发送消息。 基本语法如下&#xff1a; void SendMessage(string methodName, object value null, S…...

C++ 修饰符类型

C 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义&#xff0c;所以它更能满足各种情境的需求。 下面列出了数据类型修饰符&#xff1a; signedunsignedlongshort 修饰符 signed、unsigned、long 和 short 可应用于整型&#xff0c;signed …...

7步搞定MASA全家桶汉化包:让你的Minecraft模组说中文

7步搞定MASA全家桶汉化包&#xff1a;让你的Minecraft模组说中文 【免费下载链接】masa-mods-chinese 一个masa mods的汉化资源包 项目地址: https://gitcode.com/gh_mirrors/ma/masa-mods-chinese 还在为MASA模组的英文界面而烦恼吗&#xff1f;作为中文Minecraft玩家&…...

记一次 .NET 某集群管理软件 内存暴涨分析

一&#xff1a;背景 1. 讲故事 前些天有位朋友微信找到我&#xff0c;说它的程序出现了内存暴涨&#xff0c;自己也没分析出啥&#xff0c;让我看下到底怎么回事&#xff0c;然后让这位朋友抓一个dump&#xff0c;拿它占一卦就行了。 二&#xff1a;内存暴涨分析 1. 为什么会暴…...

【Elasticsearch从入门到精通】第10篇:Elasticsearch REST API最佳实践——Content-Type、模糊性与访问控制

上一篇【第09篇】Elasticsearch API规范详解——多索引、日期数学与通用选项 下一篇【第11篇】Elasticsearch索引API详解——索引创建、删除与别名管理&#xff08;明日更新&#xff0c;敬请期待&#xff09; 摘要 掌握Elasticsearch REST API的使用规范不仅能避免常见错误&am…...

uTinyRipper零基础实战:Unity游戏资产提取与反序列化指南

1. 这不是“破解工具”&#xff0c;而是一把Unity游戏资产的“数字考古铲” 你刚下载完一款国产独立游戏&#xff0c;想看看它的UI贴图是怎么做的&#xff1b;或者在学习Unity Shader时&#xff0c;想拆解某款商业Demo里那个流光溢散的粒子特效&#xff1b;又或者&#xff0c;你…...

Appium环境搭建:Java/Node.js/ADB/Xcode可信三角验证指南

1. 为什么“Appium环境搭建”不是配置清单&#xff0c;而是项目生死线 很多人把Appium环境搭建当成一个“照着文档敲几行命令”的入门动作&#xff0c;甚至觉得“不就是装个Java、Android SDK、Node.js&#xff0c;再下个Appium Desktop点开就行&#xff1f;”——我去年带三个…...

Unity版本降级实战:跨版本兼容性修复指南

1. 为什么Unity版本降级不是“回退按钮”&#xff0c;而是一场精密手术 在Unity项目开发中&#xff0c;很多人把版本降级想象成操作系统里的“系统还原”——点一下&#xff0c;回到上个稳定状态&#xff0c;万事大吉。我去年接手一个AR工业巡检项目时也这么想&#xff0c;客户…...

从Halcon助手到你的程序:手把手教你将HSmartWindow中的ROI区域‘抠’出来并用起来

从Halcon助手到C#程序&#xff1a;ROI区域的高效迁移与应用实战 在工业视觉开发中&#xff0c;ROI&#xff08;Region of Interest&#xff09;的交互式调整是核心痛点之一。许多开发者习惯在Halcon助手中反复调试ROI参数&#xff0c;却苦于无法将这些精心调整的区域无缝迁移到…...

OpenClaw:本地AI协作者,让大模型真正动手执行

1. 项目概述&#xff1a;当AI不再“请指示”&#xff0c;而是直接“已执行”你有没有过这种体验&#xff1a;深夜改完最后一行代码&#xff0c;顺手让AI助手帮忙检查下Git提交记录里有没有漏掉敏感信息——结果它只回你一句“建议使用git log -p查看”&#xff0c;然后就安静了…...

最后37个可用的Lovable CRM私有化部署License名额:含2024最新GDPR+信创双合规配置包

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;Lovable CRM系统搭建 Lovable CRM 是一个轻量、可扩展、开发者友好的客户关系管理系统&#xff0c;专为中小团队设计&#xff0c;强调易用性与可定制性的平衡。它基于 Go 语言后端与 Vue 3 前端构建&#xff0…...

个人开发者如何利用Taotoken统一管理多个AI项目API调用

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 个人开发者如何利用Taotoken统一管理多个AI项目API调用 作为一名独立开发者&#xff0c;你可能同时维护着多个小产品&#xff0c;例…...