热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

Oracle数据库中的控制文件管理以及常用参数设置

这篇文章主要介绍了Oracle数据库中的控制文件管理以及常用参数设置方法,包括控制文件不一致问题的解决方法以及隐藏参数等技巧,需要的朋友可以参考下

一、控制文件
作用:

  •         二进制文件
  •         记录了数据库当前实例的结构和行为,数据文件日志文件的信息,维护数据库一致性
  •         参数文件中定义了控制文件的位置和大小
  •         很小的二进制文件,一般不超过100m
  •         mount阶段open以后,一直在用
  •         一套控制文件只能连接一个database
  •         分散放置,至少一份,至多八份

相关视图:

  •         v$controlfile ---- 列出实例的所有控制文件的名字和状态
  •         v$parameter ---- 列出所有参数的位置和状态(where name='control_files')
  •         v$controlfile_recode_section ---- 提供控制文件的记录部分的信息
  •         show parameter control_files ---- 列出控制文件的名字、状态和位置

查看控制文件内容:

    strings $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl
    alter database backup controlfile to trace as ''

       
转储控制文件:

    alter system set events 'immediate trace name controlf level 10'

  •         level 1   块头
  •         level 2   文件内容
  •         level 3   1+2
  •         level 10  全部

管理控制文件:

        spfile  修改spfile参数control_files(alter……)

  •                 一致性关闭数据库
  •                 增加或减少控制文件
  •                 启动数据库使用spfile
  •                 验证结果

        pfile        一致性关闭数据库

  •                 修改pfile参数
  •                 增加或减少控制文件
  •                 启动数据库使用spfile
  •                 验证结果

        状态查询:参数和具体文件是否对应、磁盘空间剩余、控制文件<100M

热备控制文件:

        数据库归档模式下,

alter database backup controlfile to ''

        其他模式下:

alter database backup controlfile to trace as ''

得到建立控制文件脚本
       
        数据库归档模式下rman备份:

        rman target /
        >backup current controlfile;    or
        >backup database include current controlfile;

        rman自动备份控制文件:

                >show all中的configure controlfile autobackup设置为on

        >configure controlfile autobackup on

问题解决:

        控制文件不一致:
                (1). 拷贝新版本的控制文件到旧版本文件
                2. 修改参数文件,只使用新版本的文件(alter system set……),重启

       控制文件丢失:
                【mount阶段,使用archive log list可以查看数据库是否在归档模式下】

                1. 控制文件无备份
                        a.数据库非归档,数据文件联机日志文件存在 --- 重建控制文件
                    

  >create controlfile reuse database  noarchivelog noresetlogs datafile <'datafiles'> logfile 

                2. 控制文件有备份
                        a.数据库归档,数据文件联机和归档日志文件存在 --- 还原控制文件
                        先全备,再将控制文件拷贝到参数指定的路径,然后

>alter database recover database using backup controlfile until change;


二、参数设置

>show parameter 

 查询参数

作用: 记录了数据库的配置。内存分配、进程数、会话数等

分类:
pfile类型  ---文本文件
$ORACLE_HOME/dbs/init$ORACLE_SID.ora(9i,10g默认不使用)
$ORACLE_BASE/admin/$ORACLE_SID/pfile/init.ora.xxxx(10g初始化时使用一次)

spfile类型 ---  二进制文件
$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora,服务器端(9i开始使用)
能够被rman备份(rman只能备份二进制文件)

oracle启动时,查找顺序为spfile.ora-----spfile.ora-----init.ora

转化:
create pfile[='fpath'] from spfile; 默认在$ORACLE_HOME/dbs/init$ORACLE_SID.ora

create spfile[='fpath'] from pfile; 默认在$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

create spfile[='fpath'] from memory; 从内存中重建spfile

10g指定用pfile启动:

>startup pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora';
>create spfile from pfile;

这样可以将刚修改的pfile生效

查看当前使用的参数文件:

>show parameter spfile; 

如果value值为空,说明是使用pfile,否则使用的是value显示的spfile

>select distinct ISSPECIFIED from v$spparameter;

 值为true是spfile,false是pfile

spfile文件的修改:

alter system|session set parameter_name=values scope=memory|spfile|both sid=''|'*';

system  ---- v$parameter中列isses_modifiable为非flase的项可以被alter session修改
session ---- v$parameter中列issys_modifiable为非flase的项可以被alter system修改
【select name,isses_modifiable,issys_modifiable from v$parameter;】
查询出来的状态包括三种:
immdiate----动态参数,system直接修改到内存和参数文件,立即生效
false----静态参数,不能直接改,system加scope=spfile修改到参数文件
deferred----会话参数,可以使用session修改,只对当前实例有效

memory ---- 只对当前启动的实例有效,下次启动无效
spfile ---- 只对spfile修改,不影响当前实例,下次启动生效
both   ---- 内存和spfile都修改,默认值

  ---- 当前实例
*      ---- 所有实例,用于集群环境有多个实例

10g中常见参数:

orcl.__db_cache_size=889192448  
orcl.__java_pool_size=16777216
orcl.__large_pool_size=16777216
orcl.__shared_pool_size=285212672
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/oracle/admin/orcl/adump'  ---> 警告日志 
*.background_dump_dest='/u01/oracle/admin/orcl/bdump' ---> 后台进程日志
*.compatible='10.2.0.1.0' ---> 版本向后兼容号 
*.control_files='/u01/oracle/oradata/orcl/control01.ctl','/u01/oracle/oradata/orcl/control02.ctl','/u01/oracle/oradata/orcl/control03.ctl' --->控制文件
*.core_dump_dest='/u01/oracle/admin/orcl/cdump' ---> 服务器进程日志
*.db_block_size=8192 --->oracle内存块大小
*.db_domain='' --->域名
*.db_file_multiblock_read_count=16 --->单词IO可以读取多少块
*.db_name='orcl' --->和db_domain构成globename
*.db_recovery_file_dest='/u01/oracle/flash_recovery_area' --->备份日志,OMF的管理文件存放路径
*.db_recovery_file_dest_size=2147483648 --->flash_recovery_area目录大小
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)' --->共享服务器的参数
*.job_queue_processes=10 --->当前作业进程数
*.local_listener='LISTENER_ORCL' --->本地监听服务
*.open_cursors=300 --->打开游标个数
*.pga_aggregate_target=407896064 --->pga大小
*.processes=150 --->当前可以运行多少进程
*.remote_login_passwordfile='EXCLUSIVE' --->远程登录是否需要密码文件,none|shared|exclusive
*.sga_target=1223688192 --->sga大小(10g)
*.undo_management='AUTO' --->undo表空间的管理方式
*.undo_tablespace='UNDOTBS1' --->ndo表空间
*.user_dump_dest='/u01/oracle/admin/orcl/udump' --->用户进程日志

隐藏参数:

select ksppinm,ksppstvl from x$ksppi a,x$ksppcv b where a.indx=b.indx

显示系统中的隐藏参数

spfile重置参数默认值:

alter system reset 参数 scope=spfile sid=''|'*';


推荐阅读
  • 本文详细介绍了Java Web应用程序中的过滤器(Filter)功能,包括其作用、实现方式及配置方法。过滤器可以在请求到达目标资源之前对其进行预处理,并在响应返回给客户端之前进行后处理。 ... [详细]
  • Python 异步编程:ASGI 服务器与框架详解
    自 Python 3.5 引入 async/await 语法以来,异步编程迅速崛起,吸引了大量开发者的关注。本文将深入探讨 ASGI(异步服务器网关接口)及其在现代 Python Web 开发中的应用,介绍主流的 ASGI 服务器和框架。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 本文详细介绍了Wi-Fi Portal认证协议的原理、流程和相关技术细节,涵盖用户上线认证、下线流程以及数据报文格式等内容。 ... [详细]
  • 本文介绍了多个关于JavaScript的书籍资源、实用工具和编程实例,涵盖从入门到进阶的各个阶段,帮助读者全面提升JavaScript编程能力。 ... [详细]
  • 本文详细解释了华为ENSP模拟器中常用的命令,涵盖用户模式、系统模式、接口模式和地址池视图模式下的操作。这些命令对于进行计算机网络实验至关重要,帮助用户更好地理解和配置路由器及PC机的通信。 ... [详细]
  • 本文探讨了如何在日常工作中通过优化效率和深入研究核心技术,将技术和知识转化为实际收益。文章结合个人经验,分享了提高工作效率、掌握高价值技能以及选择合适工作环境的方法,帮助读者更好地实现技术变现。 ... [详细]
  • 本文详细介绍了在企业级项目中如何优化 Webpack 配置,特别是在 React 移动端项目中的最佳实践。涵盖资源压缩、代码分割、构建范围缩小、缓存机制以及性能优化等多个方面。 ... [详细]
  • 创建项目:Visual Studio Online 入门指南
    本文介绍如何使用微软的 Visual Studio Online(VSO)创建和管理开发项目。作为一款基于云计算的开发平台,VSO 提供了丰富的工具和服务,简化了项目的配置和部署流程。 ... [详细]
  • 深入理解一致性哈希算法及其应用
    本文详细介绍了分布式系统中的一致性哈希算法,探讨其原理、优势及应用场景,帮助读者全面掌握这一关键技术。 ... [详细]
  • 深入解析TCP/IP五层协议
    本文详细介绍了TCP/IP五层协议模型,包括物理层、数据链路层、网络层、传输层和应用层。每层的功能及其相互关系将被逐一解释,帮助读者理解互联网通信的原理。此外,还特别讨论了UDP和TCP协议的特点以及三次握手、四次挥手的过程。 ... [详细]
  • 本文探讨了2012年4月期间,淘宝在技术架构上的关键数据和发展历程。涵盖了从早期PHP到Java的转型,以及在分布式计算、存储和网络流量管理方面的创新。 ... [详细]
  • 科研单位信息系统中的DevOps实践与优化
    本文探讨了某科研单位通过引入云原生平台实现DevOps开发和运维一体化,显著提升了项目交付效率和产品质量。详细介绍了如何在实际项目中应用DevOps理念,解决了传统开发模式下的诸多痛点。 ... [详细]
  • 本文详细介绍了在 Windows 2000 系统中启用 TELNET 服务时需要注意的 NTLM 配置问题,帮助用户解决常见的身份验证失败错误。 ... [详细]
  • 探讨如何优化 npm 构建过程,提升开发效率,减少构建时间,并介绍自动化部署的最佳实践。 ... [详细]
author-avatar
lrg冰天雪地789_444
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有