Oracle 恢复时常用文件模板

发表于:2021-9-08 09:37

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:脑子进水养啥鱼    来源:掘金

  同事:出大事了,我连错服务器,把生产环境的数据库卸载了,能恢复吗?
  我:数据文件还在吗?
  同事:不知道,我照着网上卸载文档卸载的,注册表都删完了,发现环境不对,赶紧终止了。
  我:远程发下吧。
  看了下环境,oracle 安装目录里的组件删的差不多了,服务已经失效了,万幸的是数据文件目录都还在(数据文件,控制文件,redo),换了个目录重新装了 oralce 软件后,将数据恢复。
  恢复时没找到可用的 pfile 文件模板,从别的环境拷贝了一份整改了下,想到之前做恢复时经常遇到这种类似的情况,现将常用的文件模板记录下。
  pfile.ora 文件模板
  db_name='ORCL'
  memory_target=1G
  processes = 150
  audit_file_dest='/app/oracle/admin/orcl/adump'
  audit_trail ='db'
  db_block_size=8192
  db_domain=''
  db_recovery_file_dest='/app/oracle/flash_recovery_area'
  db_recovery_file_dest_size=2G
  diagnostic_dest='/app/oracle'
  dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
  open_cursors=300
  remote_login_passwordfile='EXCLUSIVE'
  undo_tablespace='UNDOTBS1'
  control_files ='/data/oradata/orcl/control01.ctl','/app/oracle/fast_recovery_area/orcl/control02.ctl'

  重建控制文件模板
  -- The following are current System-scope REDO Log Archival related
  -- parameters and can be included in the database initialization file.
  --
  -- LOG_ARCHIVE_DEST=''
  -- LOG_ARCHIVE_DUPLEX_DEST=''
  --
  -- LOG_ARCHIVE_FORMAT=%t_%s_%r.dbf
  --
  -- DB_UNIQUE_NAME="orcl"
  --
  -- LOG_ARCHIVE_CONFIG='SEND, RECEIVE, NODG_CONFIG'
  -- LOG_ARCHIVE_MAX_PROCESSES=4
  -- STANDBY_FILE_MANAGEMENT=MANUAL
  -- STANDBY_ARCHIVE_DEST=?/dbs/arch
  -- FAL_CLIENT=''
  -- FAL_SERVER=''
  --
  -- LOG_ARCHIVE_DEST_1='LOCATION=USE_DB_RECOVERY_FILE_DEST'
  -- LOG_ARCHIVE_DEST_1='MANDATORY NOREOPEN NODELAY'
  -- LOG_ARCHIVE_DEST_1='ARCH NOAFFIRM EXPEDITE NOVERIFY SYNC'
  -- LOG_ARCHIVE_DEST_1='NOREGISTER NOALTERNATE NODEPENDENCY'
  -- LOG_ARCHIVE_DEST_1='NOMAX_FAILURE NOQUOTA_SIZE NOQUOTA_USED NODB_UNIQUE_NAME'
  -- LOG_ARCHIVE_DEST_1='VALID_FOR=(PRIMARY_ROLE,ONLINE_LOGFILES)'
  -- LOG_ARCHIVE_DEST_STATE_1=ENABLE
  --
  -- Below are two sets of SQL statements, each of which creates a new
  -- control file and uses it to open the database. The first set opens
  -- the database with the NORESETLOGS option and should be used only if
  -- the current versions of all online logs are available. The second
  -- set opens the database with the RESETLOGS option and should be used
  -- if online logs are unavailable.
  -- The appropriate set of statements can be copied from the trace into
  -- a script file, edited as necessary, and executed when there is a
  -- need to re-create the control file.
  --
  --     Set #1. NORESETLOGS case
  --
  -- The following commands will create a new control file and use it
  -- to open the database.
  -- Data used by Recovery Manager will be lost.
  -- Additional logs may be required for media recovery of offline
  -- Use this only if the current versions of all online logs are
  -- available.
  -- After mounting the created controlfile, the following SQL
  -- statement will place the database in the appropriate
  -- protection mode:
  --  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
  STARTUP NOMOUNT
  CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS FORCE LOGGING NOARCHIVELOG
      MAXLOGFILES 16
      MAXLOGMEMBERS 3
      MAXDATAFILES 100
      MAXINSTANCES 8
      MAXLOGHISTORY 2920
  LOGFILE
    GROUP 1 '/data/oradata/orcl/redo01.log'  SIZE 50M BLOCKSIZE 512,
    GROUP 2 '/data/oradata/orcl/redo02.log'  SIZE 50M BLOCKSIZE 512,
    GROUP 3 '/data/oradata/orcl/redo03.log'  SIZE 50M BLOCKSIZE 512
  -- STANDBY LOGFILE
  DATAFILE
    '/data/oradata/orcl/system01.dbf',
    '/data/oradata/orcl/sysaux01.dbf',
    '/data/oradata/orcl/undotbs01.dbf',
    '/data/oradata/orcl/users01.dbf',
    '/data/oradata/orcl/syd01.dbf',
    '/data/oradata/orcl/o2o01.dbf ',
    '/data/oradata/orcl/syd01.dbf ',
    '/data/oradata/orcl/o2o01.dbf',
    '/data/oradata/orcl/o2o02.dbf',
    '/data/oradata/orcl/o2o03.dbf',
    '/data/oradata/orcl/o2o04.dbf',
    '/data/oradata/orcl/oa01.dbf'
  CHARACTER SET AL32UTF8
  ;
  -- Take files offline to match current control file.
  ALTER DATABASE DATAFILE '/data/oradata/orcl/syd01.dbf ' OFFLINE DROP;
  ALTER DATABASE DATAFILE '/data/oradata/orcl/o2o01.dbf' OFFLINE DROP;
  ALTER DATABASE DATAFILE '/data/oradata/orcl/o2o02.dbf' OFFLINE DROP;
  -- Commands to re-create incarnation table
  -- Below log names MUST be changed to existing filenames on
  -- disk. Any one log file from each branch can be used to
  -- re-create incarnation records.
  -- ALTER DATABASE REGISTER LOGFILE '/app/oracle/fast_recovery_area/ORCL/archivelog/2021_08_20/o1_mf_1_1_%u_.arc';
  -- ALTER DATABASE REGISTER LOGFILE '/app/oracle/fast_recovery_area/ORCL/archivelog/2021_08_20/o1_mf_1_1_%u_.arc';
  -- Recovery is required if any of the datafiles are restored backups,
  -- or if the last shutdown was not normal or immediate.
  RECOVER DATABASE
  -- Database can now be opened normally.
  ALTER DATABASE OPEN;
  -- Commands to add tempfiles to temporary tablespaces.
  -- Online tempfiles have complete space information.
  -- Other tempfiles may require adjustment.
  ALTER TABLESPACE TEMP ADD TEMPFILE '/data/oradata/orcl/temp01.dbf'
       SIZE 1528M REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
  ALTER TABLESPACE TEST_TEMP ADD TEMPFILE '/data/oradata/orcl/test_temp01.dbf'
       SIZE 104857600  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
  ALTER TABLESPACE OA_TEMP ADD TEMPFILE '/data/oradata/orcl/oa_temp01.dbf'
       SIZE 104857600  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
  -- End of tempfile additions.
  --
  --     Set #2. RESETLOGS case
  --
  -- The following commands will create a new control file and use it
  -- to open the database.
  -- Data used by Recovery Manager will be lost.
  -- The contents of online logs will be lost and all backups will
  -- be invalidated. Use this only if online logs are damaged.
  -- After mounting the created controlfile, the following SQL
  -- statement will place the database in the appropriate
  -- protection mode:
  --  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE
  STARTUP NOMOUNT
  CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS FORCE LOGGING NOARCHIVELOG
      MAXLOGFILES 16
      MAXLOGMEMBERS 3
      MAXDATAFILES 100
      MAXINSTANCES 8
      MAXLOGHISTORY 2920
  LOGFILE
    GROUP 1 '/data/oradata/orcl/redo01.log'  SIZE 50M BLOCKSIZE 512,
    GROUP 2 '/data/oradata/orcl/redo02.log'  SIZE 50M BLOCKSIZE 512,
    GROUP 3 '/data/oradata/orcl/redo03.log'  SIZE 50M BLOCKSIZE 512
  -- STANDBY LOGFILE
  DATAFILE
    '/data/oradata/orcl/system01.dbf',
    '/data/oradata/orcl/sysaux01.dbf',
    '/data/oradata/orcl/undotbs01.dbf',
    '/data/oradata/orcl/users01.dbf',
    '/data/oradata/orcl/syd01.dbf',
    '/data/oradata/orcl/o2o01.dbf ',
    '/data/oradata/orcl/syd01.dbf ',
    '/data/oradata/orcl/o2o01.dbf',
    '/data/oradata/orcl/o2o02.dbf',
    '/data/oradata/orcl/o2o03.dbf',
    '/data/oradata/orcl/o2o04.dbf',
    '/data/oradata/orcl/oa01.dbf'
  CHARACTER SET AL32UTF8
  ;
  -- Commands to re-create incarnation table
  -- Below log names MUST be changed to existing filenames on
  -- disk. Any one log file from each branch can be used to
  -- re-create incarnation records.
  -- ALTER DATABASE REGISTER LOGFILE '/app/oracle/fast_recovery_area/ORCL/archivelog/2021_08_20/o1_mf_1_1_%u_.arc';
  -- ALTER DATABASE REGISTER LOGFILE '/app/oracle/fast_recovery_area/ORCL/archivelog/2021_08_20/o1_mf_1_1_%u_.arc';
  -- Recovery is required if any of the datafiles are restored backups,
  -- or if the last shutdown was not normal or immediate.
  RECOVER DATABASE USING BACKUP CONTROLFILE
  -- Database can now be opened zeroing the online logs.
  ALTER DATABASE OPEN RESETLOGS;
  -- Commands to add tempfiles to temporary tablespaces.
  -- Online tempfiles have complete space information.
  -- Other tempfiles may require adjustment.
  ALTER TABLESPACE TEMP ADD TEMPFILE '/data/oradata/orcl/temp01.dbf'
       SIZE 1528M REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;
  ALTER TABLESPACE TEST_TEMP ADD TEMPFILE '/data/oradata/orcl/test_temp01.dbf'
       SIZE 104857600  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
  ALTER TABLESPACE OA_TEMP ADD TEMPFILE '/data/oradata/orcl/oa_temp01.dbf'
       SIZE 104857600  REUSE AUTOEXTEND ON NEXT 8192  MAXSIZE 32767M;
  -- End of tempfile additions.
  --

  tnsnames.ora 文件模板
  # tnsnames.ora Network Configuration File: F:\app\oracle\home\network\admin\tnsnames.ora
  # Generated by Oracle configuration tools.
  10.67.78.33_orcl =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 10.67.78.33)(PORT = 9521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = orcl)(UR=A)
      )
    )
  192.168.100.77_syd =
    (DESCRIPTION =
      (ADDRESS_LIST =
        (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.100.77)(PORT = 1521))
      )
      (CONNECT_DATA =
        (SERVICE_NAME = syd)(UR=A)
      )
    )
  10.67.78.63_orcl =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.67.78.63)(PORT = 1521))
      (CONNECT_DATA =
        (SERVER = DEDICATED)
        (SERVICE_NAME = orcl)
      )
    )
  
  listener.ora
  重建监听即可。

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号