博客
关于我
Oracle实验——初始化参数文件与控制文件管理
阅读量:754 次
发布时间:2019-03-23

本文共 2460 字,大约阅读时间需要 8 分钟。

Oracle数据库初始化参数文件与控制文件管理

1. 查询现有Oracle数据库的初始化参数文件及控制文件

为了获取Oracle数据库当前使用的初始化参数文件和控制文件,可以采用以下方法:

  • 通过动态性能视图v$parameter查询
    show parameter spfileshow parameter control_files

    该方法通过动态性能视图快速获取最新的初始化参数设置。

2. 创建并切换参数文件(pfile)与服务器参数文件(spfile)

  • 从spfile创建pfile

    create pfile='D:\orclpfileA.ora' from spfile

    此时数据库继续从spfile启动,关闭数据库后修改orclpfileA.ora文件中的*.open_cursors参数,例如将*.open_cursors=300修改为*.open_cursors=500。

  • 从pfile创建spfile

    create spfile from pfile='D:\orclpfileA.ora'

    此时spfile将基于pfile的内容重新生成,*.open_cursors参数将被设置为500。

  • 从内存创建pfile和spfile

    create pfile='D:\orclpfileA.ora' from memory;create spfile from memory;

    这种方法适用于重新初始化数据库或在特定情况下快速创建参数文件。

3. 学习修改Oracle数据库参数文件中的参数值

以*.open_cursors参数为例,Oracle提供了多种选项来实现参数修改:

  • alter system set语句:
    alter system set open_cursors=300 scope=memory|spfile|both;
    • scope=memory:仅修改当前实例的内存参数,重启数据库后参数将丢失。
    • scope=spfile:修改仅spfile文件中的参数,需数据库重新启动后生效。
    • scope=both:同时修改spfile和当前实例的内存参数。

4. 添加新的控制文件到Oracle数据库

  • 步骤1:查看当前控制文件数

    show parameter control_files

    输出可能显示现有的控制文件数,例如两个。

  • 步骤2:修改 初始化参数control_files:通过在spfile中增加新的控制文件路径:

    alter system set control_files='/D:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL01.CTL','/D:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL02.CTL','/C:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL03.CTL' scope=spfile;

    确保路径正确,并根据实际服务器布局调整。

  • 步骤3:备份现有控制文件并关闭数据库

    shutdown immediate

    将现有的控制文件或备份到临时目录:

    cp /D:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL01.CTL /backups/
  • 步骤4:启动数据库并验证控制文件

    startupshow parameter control_files

    此时数据库将使用新增的控制文件。

5. 备份控制文件并验证其有效性

  • 步骤1:备份控制文件到跟踪文件

    alter database backup controlfile to trace;

    此操作会生成名为orcl_ora_*.trc的跟踪文件。

  • 步骤2:验证跟踪文件

    show parameter control_files

    关闭数据库并执行]:

    shutdown immediate
  • 步骤3:复制控制文件到目标路径

    mv /D:\ORACLE\APP\WYZ\ORADATA\ORCL\CONTROL01.CTL /D:\ORACLE\APP\WYZ\ORADATA\ORCL\ORCL_control backups/
  • 步骤4:创建新的控制文件并验证

    CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS NOARCHIVELOG MAXLOGFILES 16 MAXLOGMEMBERS 3 MAXDATAFILES 100 MAXINSTANCES 8 MAXLOGHISTORY 292 LOGFILE GROUP 1 '/D:\ORACLE\APP\WYZ\ORADATA\ORCL\REDO01.LOG' SIZE 200M BLOCKSIZE 4096, GROUP 2 '/D:\ORACLE\APP\WYZ\ORADATA\ORCL\REDO02.LOG' SIZE 200M BLOCKSIZE 4096, GROUP 3 '/D:\ORACLE\APP\WYZ\ORADATA\ORCL\REDO03.LOG' SIZE 200M BLOCKSIZE 4096

    确认创建成功后数据库进入MOUNT状态。

  • 步骤5:恢复数据库并验证数据文件

    alter database open resetlogs;select status from v$instance;

    查看数据文件:

    desc dba_data_filesselect FILE_NAME from dba_data_files;

    确认所有数据文件已正确恢复,若需要临时文件,执行:

    alter tablespace temp add tempfile '/D:\ORACLE\APP\WYZ\ORADATA\ORCL\TEMP01.DBF' SIZE 20971520 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;

转载地址:http://ebjzk.baihongyu.com/

你可能感兴趣的文章
MYSQL中 find_in_set() 函数用法详解
查看>>
MySQL中auto_increment有什么作用?(IT枫斗者)
查看>>
MySQL中B+Tree索引原理
查看>>
mysql中cast() 和convert()的用法讲解
查看>>
mysql中datetime与timestamp类型有什么区别
查看>>
MySQL中DQL语言的执行顺序
查看>>
mysql中floor函数的作用是什么?
查看>>
MySQL中group by 与 order by 一起使用排序问题
查看>>
mysql中having的用法
查看>>
MySQL中interactive_timeout和wait_timeout的区别
查看>>
mysql中int、bigint、smallint 和 tinyint的区别、char和varchar的区别详细介绍
查看>>
mysql中json_extract的使用方法
查看>>
mysql中json_extract的使用方法
查看>>
mysql中kill掉所有锁表的进程
查看>>
mysql中like % %模糊查询
查看>>
MySql中mvcc学习记录
查看>>
mysql中null和空字符串的区别与问题!
查看>>