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(请求) & Response(响应) 浏览器会向服务器发送请求数据,服务器也需要返回响应数据给浏览器,因此我们需要设置对应的类来代表请求数据和响应数据,且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,我也试了一下,感觉还不错,不过,也遇到了一些问题,比方说,我有堆的.py文件,如果要一个一…...

【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 前, 我们需要确保已经安装了 redis 服务及 PHP redis 驱动,且你的机器上能正常使用 PHP。 接下来让我们安装 PHP redis 驱动:下载地址为:https://github.com/phpredis/phpredis/releases。 P…...
JavaScript语法和数据类型
基础 JavaScript 借鉴了 Java 的大部分语法,但同时也受到 Awk、Perl 和 Python 的影响。 JavaScript 是区分大小写的,并使用 Unicode 字符集。举个例子,可以将单词 Frh(在德语中意思是“早”)用作变量名。 var Frh …...

解决华为云服务器宝塔面板无法访问显示“此站点的连接不安全”问题
已经配置好安全组以及初始化宝塔面板,还是无法访问镜像管理页面,提示此站点的连接不安全。 解决方案 将地址https改为http即可进入。 成功登录后,开启面板SSL即可。...
【Python】 Python脚本实现某平台视频流下载
亲爱的玛丽 我会想念着你 我是多么的讨厌分离 加油站旁的海鸥 机场路上的松柏 挥挥手眼泪就落下来 我多想和那些光阴永远住下来 我不能 我不能 🎵 赵雷《玛丽》 在视频内容的分发上,m3u8格式的视频流越来越常见。它将视频切分成多个…...
LangChain核心模块 Model I/O——Prompts
Prompts 语言模型的提示是用户提供的一组指令或输入,用于指导模型的响应,帮助模型理解上下文并生成相关且连贯的基于语言的输出,例如回答问题、完成句子或参与某项活动。对话。 关键问题 如何在LLMs中使用少量示例(few-shot examples)—…...
关于Docker守护程序未运行导致的错误
01 在启动Docker之前,确保你已经安装了Docker并且Docker服务是运行的。以下是一些步骤可以帮助你解决这个问题: 首先,确保Docker已经正确安装在你的系统上。你可以通过运行以下命令来检查Docker是否已安装: docker --version如果…...
Unity中关于SendMessage方法
在Unity中,SendMessage 方法用于在游戏对象及其所有子对象上调用指定名称的方法。这种方法可以用于在不需要知道接收方的确切类型的情况下,向游戏对象发送消息。 基本语法如下: void SendMessage(string methodName, object value null, S…...
C++ 修饰符类型
C 允许在 char、int 和 double 数据类型前放置修饰符。修饰符用于改变基本类型的含义,所以它更能满足各种情境的需求。 下面列出了数据类型修饰符: signedunsignedlongshort 修饰符 signed、unsigned、long 和 short 可应用于整型,signed …...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...

python打卡day49
知识点回顾: 通道注意力模块复习空间注意力模块CBAM的定义 作业:尝试对今天的模型检查参数数目,并用tensorboard查看训练过程 import torch import torch.nn as nn# 定义通道注意力 class ChannelAttention(nn.Module):def __init__(self,…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...

计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
在树莓派上添加音频输入设备的几种方法
在树莓派上添加音频输入设备可以通过以下步骤完成,具体方法取决于设备类型(如USB麦克风、3.5mm接口麦克风或HDMI音频输入)。以下是详细指南: 1. 连接音频输入设备 USB麦克风/声卡:直接插入树莓派的USB接口。3.5mm麦克…...

一些实用的chrome扩展0x01
简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...

边缘计算网关提升水产养殖尾水处理的远程运维效率
一、项目背景 随着水产养殖行业的快速发展,养殖尾水的处理成为了一个亟待解决的环保问题。传统的尾水处理方式不仅效率低下,而且难以实现精准监控和管理。为了提升尾水处理的效果和效率,同时降低人力成本,某大型水产养殖企业决定…...