Oracle体系结构初探:参数管理

目录

参数文件

spfile与pfile

创建spfile

创建pfile 

参数查看

直接show ~

动态性能视图v$parameter

参数类型 

静态参数

动态参数

关于scope 


参数文件

spfile与pfile

参数文件有SPFILE和PFILE两种,根据它俩的特点,整理出如下表格。

spfile与pfile
特点SPFILEPFILE
版本Oracle9i之后Oracle9i之前
格式二进制普通文本
默认名称

spfile+oracle_sid.ora

init+oracle_sid.ora 或者 init.ora

名称例子spfileorcl.orainit.ora
查看方式strings spfileorcl.oracat init.ora

创建spfile

如果SPFILE丢失了,What's up !怎么办呢?

如果数据库正在运行中,SPFILE丢失了,此时是不会影响到数据库运行的;因为参数文件的内容已经加载到内存中了。但SPFILE丢失后,下次再启动数据库时,是会启动失败的。

但我们可以先救急启动,再创建SPFILE。

  •  强制启动

#强制启动实例

startup force nomount

#上面就相当于用pfile强制启动 

startup nomount pfile='/u01/app/oracle/product/19c/db_1/dbs/initorcl.ora'
  • 实例启动后,创建spfile 

#从内存中创建spfile 

create spfile from memory;

#也可以从pfile中创建spfile

create spfile from pfile='/u01/app/oracle/product/19c/db_1/dbs/initorcl.ora'

创建pfile 

但大家也发现了,上面创建spfile的一个大前提,就是得先创建好pfile。那么怎么创建嘞?

  •  最简单的方法

直接重定向一个文件,但需要注意的是,此方法需要手工调整一下,防止出现换行现象。

strings spfileorcl.ora >> initorcl.ora
  • 实例打开时创建 
create pfile='/home/oracle/initorcl.ora' from spfile;

参数查看

直接show ~

  • 查看所有参数
show parameter --查看所有参数
  • 查看某个参数 

#可以模糊查询,例如只写个undo,就会把所有的undo参数列出来

SQL> show parameter undo

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
temp_undo_enabled                    boolean                           FALSE
undo_management                      string                            AUTO
undo_retention                       integer                           3000
undo_tablespace                      string                            UNDOTBS1

#可以指定某个参数的名字,如果您清楚的记得名字的话,例如下面。

SQL> show parameter undo_retention

NAME                                 TYPE                              VALUE
------------------------------------ --------------------------------- ------------------------------
undo_retention                       integer                           3000

动态性能视图v$parameter

select * from v$prameter;

#name字段就是参数的名字,记不清参数名是啥,就直接模糊查询 

select * from v$parameter where name like '%undo%'

参数类型 

参数类型从大类上,可以分为动态参数和静态参数。

静态参数

静态参数有3特点:

  1. 只能在参数文件中更改,改变写入spfile;
  2. 需要重启实例才能生效;
  3. scope=spfile
scope=spfile

动态参数

动态参数有3特点:

  1. 可以在内存中修改;
  2. 可以在系统级、会话级更改;
  3. scope=both、scope=memory、scope=spfile都可以;

Oracle的参数太多了,我觉得人的精力都是有限的。

要是真死记硬背哪些是静态哪些是动态也太2了。

毕竟有的参数,时间长了理解了也就知道了。

而刚开始呢,我有个方法可以硬刚!:

直接scope=both改,报错不让改的就是静态参数,反之就是静态参数。(●ˇ∀ˇ●)

关于scope 

  • SCOPE = SPFILE

更改仅应用于服务器参数文件(spfile)。

当前实例未做任何更改。 对于动态和静态参数,更改在下次启动时均有效,并且是永久性的。

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

  • SCOPE = MEMORY

更改仅应用于内存。

更改将对当前实例进行,并立即生效。

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

对于静态参数,不允许使用此规范。

  • SCOPE = BOTH

更改同时应用于服务器参数文件和内存。

更改将对当前实例进行,并立即生效。

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

对于静态参数,不允许使用此规范。

如果修改参数以后,不写SCOPE=XXX;那么就相当于默认选择了SCOPE=BOTH

  • 25
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Oracle数据库体系结构主要由以下几部分组成: 1. 客户端:客户端是通过网络连接到数据库服务器的应用程序,它们向数据库发送SQL命令并接收查询结果。 2. 数据库实例:数据库实例是运行在服务器上的Oracle数据库进程及其内存结构的集合。它负责管理数据库的物理存储、内存分配、用户会话、并发控制、恢复和备份等操作。 3. 数据库数据库是由一组数据文件组成的物理存储结构,包含了所有数据和元数据,如表、索引、视图、存储过程、触发器等。 4. 存储结构:Oracle数据库使用了一种称为表空间的物理存储结构,表空间由一组数据文件组成,每个数据文件可以存储一个或多个表空间的数据。表空间中的数据通过数据文件进行存储和管理,数据文件是由操作系统中的文件系统进行管理的。 5. 进程结构:Oracle数据库的进程结构包括了多个进程,包括了数据库实例进程、用户进程、后台进程等。其中,数据库实例进程主要负责管理数据库整体的运行,而用户进程则是为客户端提供服务的进程。 6. 内存结构:Oracle数据库的内存结构包括了多个内存区域,包括了SGA(System Global Area)、PGA(Program Global Area)等。SGA是数据库实例所使用的共享内存区域,用于存储缓存数据、元数据等,而PGA则是用户进程所使用的私有内存区域,用于存储会话信息、执行计划等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

姜豆豆耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值