源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

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

  • 时间:2021-12-01 22:18 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Oracle数据库中的控制文件管理以及常用参数设置
[b]一、控制文件 作用:[/b] [list] [*]        二进制文件[/*] [*]        记录了数据库当前实例的结构和行为,数据文件日志文件的信息,维护数据库一致性[/*] [*]        参数文件中定义了控制文件的位置和大小[/*] [*]        很小的二进制文件,一般不超过100m[/*] [*]        mount阶段open以后,一直在用[/*] [*]        一套控制文件只能连接一个database[/*] [*]        分散放置,至少一份,至多八份[/*] [/list] [b]相关视图:[/b] [list] [*]        v$controlfile ---- 列出实例的所有控制文件的名字和状态[/*] [*]        v$parameter ---- 列出所有参数的位置和状态(where name='control_files')[/*] [*]        v$controlfile_recode_section ---- 提供控制文件的记录部分的信息[/*] [*]        show parameter control_files ---- 列出控制文件的名字、状态和位置[/*] [/list] [b]查看控制文件内容:[/b]
    strings $ORACLE_BASE/oradata/$ORACLE_SID/control01.ctl
    alter database backup controlfile to trace as '<filepath&name>'
        [b]转储控制文件:[/b]
    alter system set events 'immediate trace name controlf level 10'

[list] [*]        level 1   块头[/*] [*]        level 2   文件内容[/*] [*]        level 3   1+2[/*] [*]        level 10  全部[/*] [/list] [b]管理控制文件:[/b]         spfile  修改spfile参数control_files(alter……) [list] [*]                一致性关闭数据库[/*] [*]                增加或减少控制文件[/*] [*]                启动数据库使用spfile[/*] [*]                验证结果[/*] [/list]         pfile        一致性关闭数据库 [list] [*]                修改pfile参数[/*] [*]                增加或减少控制文件[/*] [*]                启动数据库使用spfile[/*] [*]                验证结果[/*] [/list]         状态查询:参数和具体文件是否对应、磁盘空间剩余、控制文件<100M [b]热备控制文件:[/b]         数据库归档模式下,
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
[b]问题解决:[/b]         控制文件不一致:                 (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;
[b]二、参数设置 [/b]
>show parameter <keyword>
[b] 查询参数[/b] 作用: 记录了数据库的配置。内存分配、进程数、会话数等 [b]分类: [/b]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 [b]转化: [/b]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 [b]10g指定用pfile启动:[/b]
>startup pfile='$ORACLE_HOME/dbs/init$ORACLE_SID.ora';
>create spfile from pfile;

这样可以将刚修改的pfile生效 [b]查看当前使用的参数文件:[/b]
>show parameter spfile; 
如果value值为空,说明是使用pfile,否则使用的是value显示的spfile
>select distinct ISSPECIFIED from v$spparameter;
 值为true是spfile,false是pfile [b]spfile文件的修改:[/b] 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>  ---- 当前实例 *      ---- 所有实例,用于集群环境有多个实例 [b]10g中常见参数:[/b]
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' --->用户进程日志

[b]隐藏参数:[/b]
select ksppinm,ksppstvl from x$ksppi a,x$ksppcv b where a.indx=b.indx

[b]显示系统中的隐藏参数[/b] spfile重置参数默认值: alter system reset 参数 scope=spfile sid='<sid>'|'*';
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部