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 '<filepath&name>'

       
转储控制文件:

    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 '<fpath&name>'

        其他模式下:

alter database backup controlfile to trace as '<fpath&name>'

得到建立控制文件脚本
       
        数据库归档模式下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 <sid> noarchivelog noresetlogs datafile <'datafiles'> logfile <group X 'logfiles' size Y>

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

>alter database recover database using backup controlfile until change;

二、参数设置

>show parameter <keyword>

 查询参数

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

分类:
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<sid>.ora-----spfile.ora-----init<sid>.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='<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都修改,默认值

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

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='<sid>'|'*';

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索oracle
, 参数
控制文件
oracle数据库常用命令、oracle数据库招标参数、oracle数据库参数配置、oracle数据库常用函数、oracle数据库常用语句,以便于您获取更多的相关知识。

时间: 2024-10-27 05:24:45

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

Oracle数据库中的基本建库操作详解_oracle

图形建库: 1. 确定是否存在要建的库    查看 $ORACLE_BASE/admin/和$ORACLE_BASE/oradata 2. 运行dbca 3. 选择新建库--General Purpose(通用库)模版--Global Database Name:库名.域名,可以只使用 库名--SID区分大小写------数据路径选择,模版默认的是$ORACLE_BASE/oradata/dababase--备份数据的路径--内存分配(SGA专用内存,事务处理为主:PGA系统内存,数据为主)|S

简单说明Oracle数据库中对死锁的查询及解决方法_oracle

死锁的原理当对于数据库某个表的某一列做更新或删除等操作,执行完毕后该条语句不提 交,另一条对于这一列数据做更新操作的语句在执行的时候就会处于等待状态, 此时的现象是这条语句一直在执行,但一直没有执行成功,也没有报错.   死锁的定位方法通过检查数据库表,能够检查出是哪一条语句被死锁,产生死锁的机器是哪一台.   1)用dba用户执行以下语句 select username,lockwait,status,machine,program from v$session where sid in (s

讲解Oracle数据库中的数据字典及相关SQL查询用法_oracle

Oracle数据字典概述   数据库是数据的集合,数据库维护和管理这用户的数据,那么这些用户数据表都存在哪里,用户的信息是怎样的,存储这些用户的数据的路径在哪里,这些信息不属于用户的信息,却是数据库维护和管理用户数据的核心,这些信息就是数据库的数据字典来维护的,数据库的数据字典就汇集了这些数据库运行所需要的基础信息叻.每个数据库都提供了各自的数据字典的方案,虽然形式不同,但是目的和作用是一样的,比如在mysql里数据字典是在information_schema 里表现的,sqlserver则是在

Oracle数据库中基本的查询优化与子查询优化讲解_oracle

1. 查询条件合理排序 Oracle采用自下而上的顺序解析WHERE字据,从优化性能角度考虑,建议将那些可以过滤掉大量记录行的条件写在WHERE子句的末尾,而将表 之间的连接条件置于其他WHERE子句之前,即对易排查的条件先做判断处理,这样在过滤掉尽可能多的记录后再进行等值连接,可以提高检索效率. 例如: SELECT empno, ename, job, sal, dept.deptno, dname FROM emp, dept WHERE emp.deptno = dept.deptno

如何处理Oracle数据库中的坏块问题

oracle|数据|数据库|问题   本文主要介绍如何去处理在Oracle数据库中出现坏块的问题,对于坏块产生在不同的对象上,处理的方法会有所不同,本文将大致对这些方法做一些介绍.因为数据库运行时间长了,由于硬件设备的老化,出现坏块的几率会越来越大,因此,做为一个DBA,怎么去解决数据库出现的坏块问题就成了一个重要的议题了.   一:什么是数据库的坏块   首先我们来大概看一下数据库块的格式和结构 数据库的数据块有固定的格式和结构,分三层:cache layer,transaction laye

关于从oracle 数据库中导出数据到csv格式文件中

问题描述 关于从oracle 数据库中导出数据到csv格式文件中 最近有个任务是从oracle中导出数据到csv 中的,因为数据库中的数据比较多,大概30万条,请问下,有哪个大神做个这种的,能不能导入这么大的数据 解决方案 将数据从DataGridView中导出成CSV格式文件oracle数据库的表数据导出为csv文件oracle数据库怎么导入csv格式文件呢 解决方案二: 不可以,分批导就行了 解决方案三: 可以使用常用的连接数据库的工具进行导入和导出,导出的时候导出行号,导入的时候建个表,行

哪位大神指导一下,关于Oracle数据库中类型varchar2(2) 存储汉字的问题

问题描述 哪位大神指导一下,关于Oracle数据库中类型varchar2(2) 存储汉字的问题 大神们跪求招数:orcale数据库中的一个字段YXQDW(有效期单位) 类型varchar2(2) 才两字节 用来存一个汉字,比如"年",我的项目(C#)一个汉字占用3个字节, 写SQL语句 insert不进去啊,提示字段范围超出了.难不成要像blob字段那样写?或者有什么更好的方式能将该字段插入呢?万分感激! 解决方案 可以换成nvarchar(2),这个是可变长度

下载Oracle数据库中的Blob二进制文件,实例!

oracle|二进制|数据|数据库|下载 将Oracle数据库中HR方案下的TESTFILEUPLOAD表中的文件下载至系统临时目录. void downloadFile()??{???OracleConnection objOcon = new OracleConnection("user id=system;Data Source=tsems;password=system"); ???OracleCommand objOcmd = new OracleCommand(); ???

asp.net查出oracle数据库中的中文乱码问题

把这两天两次安装IBM2650服务器中出现的问题做一个总结: 1.第一次安装,用IBM的引导盘引导,按步就班的下来,选择语言,做Raid5,选择windows系统等等 .安装好windows2003企业版之后,再去安装oracle时,安装到一半时,提示不能创建快捷方式.取消, 再安装还是不能创建快捷方式,就那样安装上了.安装之后oracle运行倒也正常,导入数据,发现中文 变成了乱码.再安装editplus和winrar发现显示窗口的中文也是乱码,右键菜单上的部分中文是乱码. 在网上搜了一下,原