首页 > 数据库 >成为MySQL DBA后,再看ORACLE数据库(三、参数管理)

成为MySQL DBA后,再看ORACLE数据库(三、参数管理)

时间:2024-05-29 22:55:10浏览次数:21  
标签:spfile DBA 数据库 参数 MySQL ORACLE scope

一、参数文件

在ORACLE 11g及以后的版本中,ORACLE使用spfile作为数据库的参数文件,这是一个二进制文件,不能通过手工修改。SPFILE的引入使得对于参数的修改都可以在命令行完成,不需要手工修改,这也是为了减少了人为错误的发生。而在MySQL中,需要去手工维护my.cnf参数文件,主要原因是在MySQL中参数配置个性化较强,很多参数需要根据实际场景个性化配置,而把这些参数统一放在my.cnf中管理,虽然可能导致参数文件中的参数和实际数据库中不一致,但对MySQL而言统一了参数的管理,是更适合MySQL的方式。ORACLE的参数文件位于$ORACLE_HOME/dbs目录下,除了spfile文件,还有一个pfile文件init.ora,这个也是ORACLE的初始化参数文件,除了第一次启动数据库需要pfile(然后可以根据pfile创建 spfile),数据库可以不再需要pfile。

二、参数的查询

 在sqlplus命令行中,可以通过show parameter命令查询参数当前会话的参数值,这条命令实际上在ORACLE后台查询的是v$parameter视图。

 此外,通过show spparameter命令查询的是在spfile文件中包含的参数,同样也对应有v$spparameter视图。

v$system_parameter视图记录当前实例生效的初始化参数设置,注意这里是实例生效而不是会话生效。因此如果在会话级别修改了参数设置,v$parameter中显示的参数值就可能和v$system_parameter显示的有所不同。这在MySQL中就是参数的global值和session值的区别。

三、参数的修改

说起参数的修改,就不得不提一下参数的分类,按照修改方式分类,ORACLE把参数分为了静态参数和动态参数,静态参数只能在参数文件中修改,在重新启动后方能生效;动态参数可以动态调整,调整后可以立即生效。ORACLE修改参数的语句如下:

alter system set <parameter_name> =<value> scope = memory|spfile|both [sid=<sid_name>]

该语句的scope参数有三个可选值:memory、spfile、both。当scope = memory,修改参数立即生效,但只改变当前实例运行,重新启动数据库后失效;当scope = spfile,只改变spfile的设置,不改变当前实例运行,需要重新启动数据库后生效;当scope = both,同时改变实例运行和SPFILE,当前更改立即生效,重新启动数据库后仍然有效,如果不带scope选项,则默认为both。针对RAC环境,ALTER SYSTEM还可以指定SID参数,对不同实例进行不同设置。因此对于静态参数,只能通过scope = spfile修改后重启数据库生效,不指定scope = spfile则会报错,比如processes参数。

那么,如何区分一个参数是动态参数还是静态参数呢?除了查阅官方文档,还可以通过查询v$parameter视图的ISSYS_MODIFIABLE列,该列为IMMEDIATE是动态参数,为FALSE的是静态参数。

 

标签:spfile,DBA,数据库,参数,MySQL,ORACLE,scope
From: https://www.cnblogs.com/coygfly/p/18219133

相关文章

  • 记录kali搭建Apache+MySQL+PHP
    一.打开相应的服务kali中已经预先安装好了Apache2,MySQL和PHP,所以我们在使用的时候只需要打开相应的服务即可。1.打开Apache2服务kali预先安装的Apache在etc文件里,我们ls显示文件后发现了apache2文件夹,进入到该文件夹后启动服务,命令如下:/etc/init.d/apache2start检测服务......
  • vs上运行mysql
    前置注意vs中要引用mysql的类库。MySqlCommand  MySqlCommand类代表了要在MySQL数据库上执行的SQL语句或存储过程。它提供了许多方法来执行不同类型的SQL命令,比如查询(SELECT)、插入(INSERT)、更新(UPDATE)和删除(DELETE)。你可以创建一个MySqlCommand对象,并将要执行的SQL语句传递......
  • 升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0 uniapp、vue、android、web 框
    升鲜宝供应链管理系统重构版发布(技术点:Java8、mysql8.0uniapp、vue、android、web框架:Vue3+SpringBoot3),界面功能(三) 主要功能要点:     权限管理(组织机构、用户管理、角色管理、岗位管理)     系统设置(菜单管理、参数管理、数据字典、定时任务、文件管......
  • Oracle如何诊断远程访问数据库慢/超时等问题小结
    管理维护Oracle数据库的时候,有时候会碰到用户(应用程序)远程连接/访问数据库非常慢,甚至连接超时的问题。这里简单总结一下遇到这类问题的方法,仅供参考,如有疏漏或不足之处,敬请指正。文中部分内容来自官方文档DocID1679567.1[1]遇到这类问题,首先应该检查/排除网络问题,一般来说,有......
  • MySQL中的并发控制
    效率工具推荐一个程序员的常用工具网站,效率加倍嘎嘎好用:程序员常用工具云服务器云服务器限时免费领:轻量服务器2核4G腾讯云:2核2G4M云服务器新老同享99元/年,续费同价阿里云:2核2G3M的ECS服务器只需99元/年,续费同价在现代应用程序中,数据库并发访问是一个常见的场景。多个......
  • MySQL中SQL表设计的注意事项
    效率工具推荐一个程序员的常用工具网站,效率加倍嘎嘎好用:程序员常用工具云服务器云服务器限时免费领:轻量服务器2核4G腾讯云:2核2G4M云服务器新老同享99元/年,续费同价阿里云:2核2G3M的ECS服务器只需99元/年,续费同价设计良好的数据库表结构是构建高效、可维护的应用程序的......
  • oracle的排序函数以及mysql使用变量实现排序
    oracle的排序函数rank()函数:跳跃排序,如果两个第一,则后边是第3dense_rank()函数:连续排序,,再如两个第一,则后边是第2row_number()函数:连续排序,没有并列的情况createtableccx_test( coursevarchar(10), scoreint);insertintoccx_testvalues(1,70);insertintoccx_......
  • mysql 函数实现父子查询
    DELIMITER//CREATEFUNCTIONget_all_father(rootIdINT)RETURNSvarchar(1000)DETERMINISTICBEGINDECLAREsTempVARCHAR(1000);DECLAREsTempParVARCHAR(1000);SETsTemp='';SETsTempPar=rootId;#循环递归WHILEsTemp......
  • mysql实现oracle的start with递归查询
    oracle查询语句selectdept_codefrom表名startwithdept_code='41311046430000001'connectbyPRIORid=PARENT_ID结果如下:改为mysql查询,实用函数实现selectsd.*from (select*from表名)sd, (select@pid:=(selectidfrom表名wheredept_code='4131......
  • Java语言,MySQL数据库;SSM 心理咨询预约管理系统19086(免费领源码)计算机毕业设计项目推荐
    目 录摘要1绪论1.1背景及意义1.2研究现状1.3ssm框架介绍1.4论文结构与章节安排2 心理咨询预约管理系统系统分析2.1可行性分析2.1.1技术可行性分析2.1.2经济可行性分析2.1.3法律可行性分析2.2系统功能分析2.2.1功能性分析2.2.2非功能......