[20171124]手工使用Seed_Database.dfb和Seed_Database.ctl建库.txt

--//昨天看yueli34的帖子,链接http://www.itpub.net/thread-2094530-1-1.html,注解与说明来自链接,感谢yueli34操作提示.
--//自己测试看看:

1.建立参数文件
--//建立参数文件,目录为$ORACLE_HOME/dbs:

$ cat /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/initseeddata.ora
db_name=seeddata
sga_target=1024M
control_files=/u01/app/oracle/oradata/ora11g/control01.ctl
compatible=11.2.0.4

$ mkdir -p /u01/app/oracle/oradata/ora11g/

--//启动到nomount状态进行验证
$ export ORACLE_SID=seeddata

SYS@seeddata> startup nomount;
ORACLE instance started.

Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             297796488 bytes
Database Buffers          759169024 bytes
Redo Buffers                9711616 bytes

2.建立控制文件
$ cd $ORACLE_HOME/assistants/dbca/templates

$ ls $ORACLE_HOME/assistants/dbca/templates  -l
total 301856
-rw-r--r-- 1 oracle oinstall      5104 2013-08-24 12:08:38 Data_Warehouse.dbc
-rwxr-xr-x 1 oracle oinstall  21741568 2015-01-29 11:12:03 example01.dfb
-rwxr-xr-x 1 oracle oinstall   1507328 2015-01-29 11:12:03 example.dmp
-rw-r--r-- 1 oracle oinstall      4984 2013-08-24 12:08:44 General_Purpose.dbc
-rw-r--r-- 1 oracle oinstall     11489 2013-05-01 08:24:26 New_Database.dbt
-rwxr-xr-x 1 oracle oinstall   9748480 2015-01-29 11:11:15 Seed_Database.ctl
-rwxr-xr-x 1 oracle oinstall 275750912 2015-01-29 11:11:15 Seed_Database.dfb

$ cp $ORACLE_HOME/assistants/dbca/templates/Seed_Database.ctl  /u01/app/oracle/oradata/ora11g/control01.ctl

$ ls -l /u01/app/oracle/oradata/ora11g/control01.ctl
-rwxr-xr-x 1 oracle oinstall 9748480 2017-11-23 10:43:13 /u01/app/oracle/oradata/ora11g/control01.ctl

--//启动到mount状态进行验证:
SYS@seeddata> alter database mount ;
Database altered.

--//处理日志文件路径,控制文件中日志文件路径为:
SYS@seeddata> @ &r/logfile
GROUP# STATUS TYPE       MEMBER                                               IS_REC GROUP# THREAD# SEQUENCE#       BYTES BLOCKSIZE MEMBERS ARCHIV STATUS     FIRST_CHANGE# FIRST_TIME          NEXT_CHANGE# NEXT_TIME
------ ------ ---------- ---------------------------------------------------- ------ ------ ------- --------- ----------- --------- ------- ------ ---------- ------------- ------------------- ------------ -------------------
     1        ONLINE     /ade/b/2232964209/oracle/oradata/seeddata/redo01.log NO          1       1        70    52428800       512       1 NO     INACTIVE          889458 2013-08-24 12:03:35       894960 2013-08-24 12:03:36
     2        ONLINE     /ade/b/2232964209/oracle/oradata/seeddata/redo02.log NO          2       1        71    52428800       512       1 NO     INACTIVE          894960 2013-08-24 12:03:36       920281 2013-08-24 12:04:15
     3        ONLINE     /ade/b/2232964209/oracle/oradata/seeddata/redo03.log NO          3       1        72    52428800       512       1 NO     CURRENT           920281 2013-08-24 12:04:15 2.814750E+14

--//是一个不存在的路径,需要rename到/u01/app/oracle/oradata/ora11g/路径。
alter database rename file '/ade/b/2232964209/oracle/oradata/seeddata/redo01.log' to '/u01/app/oracle/oradata/ora11g/redo01.log';
alter database rename file '/ade/b/2232964209/oracle/oradata/seeddata/redo02.log' to '/u01/app/oracle/oradata/ora11g/redo02.log';
alter database rename file '/ade/b/2232964209/oracle/oradata/seeddata/redo03.log' to '/u01/app/oracle/oradata/ora11g/redo03.log';

SYS@seeddata> @ &r/logfile
GROUP# STATUS     TYPE       MEMBER                                    IS_REC GROUP# THREAD# SEQUENCE#       BYTES BLOCKSIZE MEMBERS ARCHIV STATUS     FIRST_CHANGE# FIRST_TIME          NEXT_CHANGE# NEXT_TIME
------ ---------- ---------- ----------------------------------------- ------ ------ ------- --------- ----------- --------- ------- ------ ---------- ------------- ------------------- ------------ -------------------
     1            ONLINE     /u01/app/oracle/oradata/ora11g/redo01.log NO          1       1        70    52428800       512       1 NO     INACTIVE          889458 2013-08-24 12:03:35       894960 2013-08-24 12:03:36
     2            ONLINE     /u01/app/oracle/oradata/ora11g/redo02.log NO          2       1        71    52428800       512       1 NO     INACTIVE          894960 2013-08-24 12:03:36       920281 2013-08-24 12:04:15
     3            ONLINE     /u01/app/oracle/oradata/ora11g/redo03.log NO          3       1        72    52428800       512       1 NO     CURRENT           920281 2013-08-24 12:04:15 2.814750E+14

--OK.

3.注册数据文件备份集
--//注册备份集Seed_Database.dfb:

RMAN> catalog start with '$ORACLE_HOME/assistants/dbca/templates/Seed_Database.dfb';
searching for all files that match the pattern $ORACLE_HOME/assistants/dbca/templates/Seed_Database.dfb
List of Files Unknown to the Database
=====================================
File Name: /u01/app/oracle/product/11.2.0.4/dbhome_1/assistants/dbca/templates/Seed_Database.dfb

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done
List of Cataloged Files
=======================
File Name: /u01/app/oracle/product/11.2.0.4/dbhome_1/assistants/dbca/templates/Seed_Database.dfb

--//查看备份集,可以看到一个相同的备份集有两个copy。一个是控制文件原有的,一个是catalog新注册进去。其中原有是其实不存在
--//,可以通过crosscheck加delete去除。

RMAN> list backup ;
List of Backup Sets
===================
BS Key  Type LV Size
------- ---- -- ----------
1       Full    262.97M
  List of Datafiles in backup set 1
  File LV Type Ckp SCN    Ckp Time            Name
  ---- -- ---- ---------- ------------------- ----
  1       Full 925701     2013-08-24 12:07:43 /ade/b/2232964209/oracle/oradata/seeddata/system01.dbf
  2       Full 925701     2013-08-24 12:07:43 /ade/b/2232964209/oracle/oradata/seeddata/sysaux01.dbf
  3       Full 925701     2013-08-24 12:07:43 /ade/b/2232964209/oracle/oradata/seeddata/undotbs01.dbf
  4       Full 925701     2013-08-24 12:07:43 /ade/b/2232964209/oracle/oradata/seeddata/users01.dbf
  Backup Set Copy #1 of backup set 1
  Device Type Elapsed Time Completion Time     Compressed Tag
  ----------- ------------ ------------------- ---------- ---
  DISK        00:00:31     2013-08-24 12:08:24 YES
    List of Backup Pieces for backup set 1 Copy #1
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    1       1   AVAILABLE   /ade/b/2232964209/oracle/oradata/Seed_Database.dfb
  Backup Set Copy #2 of backup set 1
  Device Type Elapsed Time Completion Time     Compressed Tag
  ----------- ------------ ------------------- ---------- ---
  DISK        00:00:31     2017-11-23 10:47:42 YES
    List of Backup Pieces for backup set 1 Copy #2
    BP Key  Pc# Status      Piece Name
    ------- --- ----------- ----------
    2       1   AVAILABLE   /u01/app/oracle/product/11.2.0.4/dbhome_1/assistants/dbca/templates/Seed_Database.dfb

--//校验和删除expired backup
--//RMAN> crosscheck backup;
RMAN> crosscheck backup;
using channel ORA_DISK_1
crosschecked backup piece: found to be 'EXPIRED'
backup piece handle=/ade/b/2232964209/oracle/oradata/Seed_Database.dfb RECID=1 STAMP=824299673
crosschecked backup piece: found to be 'AVAILABLE'
backup piece handle=/u01/app/oracle/product/11.2.0.4/dbhome_1/assistants/dbca/templates/Seed_Database.dfb RECID=2 STAMP=960806862
Crosschecked 2 objects

--//RMAN> delete expired backup;
RMAN> delete expired backup;

using channel ORA_DISK_1

List of Backup Pieces
BP Key  BS Key  Pc# Cp# Status      Device Type Piece Name
------- ------- --- --- ----------- ----------- ----------
1       1       1   1   EXPIRED     DISK        /ade/b/2232964209/oracle/oradata/Seed_Database.dfb

Do you really want to delete the above objects (enter YES or NO)? yes
deleted backup piece
backup piece handle=/ade/b/2232964209/oracle/oradata/Seed_Database.dfb RECID=1 STAMP=824299673
Deleted 1 EXPIRED objects

--//以上步骤感觉不需要做.

--//修改数据文件路径,我注解recover database;因为这步没有归档,写不写都一样.
run{
set newname for datafile 1 to '/u01/app/oracle/oradata/ora11g/system01.dbf';
set newname for datafile 2 to '/u01/app/oracle/oradata/ora11g/sysaux01.dbf';
set newname for datafile 3 to '/u01/app/oracle/oradata/ora11g/undotbs01.dbf';
set newname for datafile 4 to '/u01/app/oracle/oradata/ora11g/users01.dbf';
restore database;
switch datafile all;
##recover database;
}

executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME
executing command: SET NEWNAME

Starting restore at 2017-11-23 10:49:53
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1409 device type=DISK

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/ora11g/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/ora11g/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/ora11g/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/ora11g/users01.dbf
channel ORA_DISK_1: reading from backup piece /ade/b/2232964209/oracle/oradata/Seed_Database.dfb
channel ORA_DISK_1: errors found reading piece handle=/ade/b/2232964209/oracle/oradata/Seed_Database.dfb
channel ORA_DISK_1: failover to piece handle=/u01/app/oracle/product/11.2.0.4/dbhome_1/assistants/dbca/templates/Seed_Database.dfb tag=NULL
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:45
Finished restore at 2017-11-23 10:50:39

datafile 1 switched to datafile copy
input datafile copy RECID=5 STAMP=960807039 file name=/u01/app/oracle/oradata/ora11g/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=6 STAMP=960807039 file name=/u01/app/oracle/oradata/ora11g/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=7 STAMP=960807039 file name=/u01/app/oracle/oradata/ora11g/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=8 STAMP=960807039 file name=/u01/app/oracle/oradata/ora11g/users01.dbf

Starting recover at 2017-11-23 10:50:39
using channel ORA_DISK_1

starting media recovery

RMAN-08187: WARNING: media recovery until SCN 925701 complete
Finished recover at 2017-11-23 10:50:41

3.打开数据库:
SYS@seeddata> alter database open read only ;
Database altered.
--// 补充测试open read only可以打开.

SYS@seeddata> alter database open ;
alter database open
*
ERROR at line 1:
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open

SYS@seeddata> alter database open NORESETLOGS;
alter database open NORESETLOGS
*
ERROR at line 1:
ORA-01588: must use RESETLOGS option for database open

SYS@seeddata> select CONTROLFILE_TYPE from v$database ;
CONTROLFILE_TY
--------------
BACKUP

4.尝试使用建立新控制文件是否可行:

SYS@seeddata> alter database backup controlfile to trace ;
Database altered.

$ cat cc.txt
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "SEEDDATA" NORESETLOGS  NOARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 '/u01/app/oracle/oradata/ora11g/redo01.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 2 '/u01/app/oracle/oradata/ora11g/redo02.log'  SIZE 50M BLOCKSIZE 512,
  GROUP 3 '/u01/app/oracle/oradata/ora11g/redo03.log'  SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
  '/u01/app/oracle/oradata/ora11g/system01.dbf',
  '/u01/app/oracle/oradata/ora11g/sysaux01.dbf',
  '/u01/app/oracle/oradata/ora11g/undotbs01.dbf',
  '/u01/app/oracle/oradata/ora11g/users01.dbf'
CHARACTER SET US7ASCII
;
--//注意这样安装的数据库字符集是US7ASCII,这也很好理解US7ASCII是所有字符集的子集.

SYS@seeddata> @ /tmp/cc.txt
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             297796488 bytes
Database Buffers          759169024 bytes
Redo Buffers                9711616 bytes
CREATE CONTROLFILE REUSE DATABASE "SEEDDATA" NORESETLOGS  NOARCHIVELOG
*
ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-01192: must have at least one enabled thread

$ oerr ora 01192
01192, 00000, "must have at least one enabled thread"
// *Cause:  You must specify at least two logfiles from at least one thread
//        at the create contolfile command line.
// *Action:  Find the missing logfiles and resubmit the command with the newly
//        found logfiles included in the command line.

--//重来!!
SYS@seeddata> alter database clear logfile group 1 ;
Database altered.

SYS@seeddata> alter database clear logfile group 2 ;
Database altered.

SYS@seeddata> alter database clear logfile group 3 ;
Database altered.

--//依旧不行.
--//安装一些文章的提示建立的控制文件只能RESETLOGS.

SYS@seeddata> alter database open RESETLOGS;
Database altered.

--//关闭数据库重新建立控制文件ok.

SYS@seeddata> @ /tmp/cc.txt
ORACLE instance started.
Total System Global Area 1068937216 bytes
Fixed Size                  2260088 bytes
Variable Size             297796488 bytes
Database Buffers          759169024 bytes
Redo Buffers                9711616 bytes
Control file created.

SYS@seeddata> alter database open ;
Database altered.

RMAN> list incarnation;

using target database control file instead of recovery catalog

List of Database Incarnations
DB Key  Inc Key DB Name  DB ID            STATUS  Reset SCN  Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1       1       SEEDDATA 4152976186       CURRENT 925702     2017-11-23 11:43:14

5.补充建立临时文件:
ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ora11g/temp01.dbf' REUSE;
--//这样建立报错.

$ touch /u01/app/oracle/oradata/ora11g/temp01.dbf
SYS@seeddata> ALTER TABLESPACE TEMP ADD TEMPFILE '/u01/app/oracle/oradata/ora11g/temp01.dbf' size 100m REUSE;
Tablespace altered.

6.最后yueli34想实现NORESETLOGS开库,而原始的控制文件本身是备份类型,如果能修改为当前,估计可以.
SYS@seeddata> select CONTROLFILE_TYPE from v$database ;
CONTROLFILE_TY
--------------
BACKUP

[20171124]手工使用Seed_Database.dfb和Seed_Database.ctl建库.txt的更多相关文章

  1. Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g

    Oracle 10g AND Oracle 11g手工建库案例--Oracle 11g 系统环境: 操作系统: RedHat EL6 Oracle:  Oracle 10g and Oracle 11 ...

  2. oracle11g手工建库

    1.设置环境变量 [oracle@HE3~]$ vi .bash_profile exportPATH exportEDITOR=vi exportORACLE_SID=orcl exportORAC ...

  3. Oracle 11g R2创建数据库之手工建库方式

    在之前的博文当中梳理了关于DBCA静默方式创建数据库的过程,本文就手工通过SQL*PLUS客户端采用CREATE DATABASE语句创建数据库.这种建库方式就是完全使用手工SQL语句创建数据库,通常 ...

  4. 静默方式安装10g数据库软件+升级patch+手工建库

    通常我们安装Oracle数据库软件,都是用OUI图形界面来完成的,但有些Unix/Linux系统中并未安装图形系统,也就无法使用图形界面来安装Oracle的产品了,对于这种场景,就只能采用静默方式来安 ...

  5. Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g

    Oracle 10g AND Oracle 11g手工建库案例--Oracle 10g 系统环境: 操作系统: RedHat EL6 Oracle:  Oracle 10g and Oracle 11 ...

  6. Oracle:手工建库

    今天学习了小布老师的手工建库视频,自己也做了一遍,下面是创建过程记录: 本地环境oracle10.2.0.1 一.前期准备工作 1.设置环境变量 [oracle@app dbs]$ vi bbk.en ...

  7. Oracle 11g 手工建库

    假设数据库软件已经安装好,现在没有图形界面无法用dbca安装数据库,那么用手工建库,数据库名为edw 创建目录 [oracle@localhost ~]$ mkdir -p /u01/app/orac ...

  8. Oracle手工建库

    环境准备 手工建库的前提是ORACLE软件已经正确安装到操作系统中,只是需要我们利用ORACLE软件提供的一些工具和脚本来创建一个数据库,创建这个数据库可以运行DBCA工具图形化创建,也可以使用CRE ...

  9. CENTOS 6.4 安装oracle 10g,手工建库及升级到10.2.0.5

    一. 数据库软件安装 参照官方手册 1.安装rpm包 注这里的yum直接用163的yum yum -y install binutils compat-libstdc++-33 compat-libs ...

随机推荐

  1. [EXP]Drupal < 8.5.11 / < 8.6.10 - RESTful Web Services unserialize() Remote Command Execution (Metasploit)

    ## # This module requires Metasploit: https://metasploit.com/download # Current source: https://gith ...

  2. “大话架构”阿里架构师分享Java程序员需要突破的技术要点

    一.源码分析 源码分析是一种临界知识,掌握了这种临界知识,能不变应万变,源码分析对于很多人来说很枯燥,生涩难懂. 源码阅读,我觉得最核心有三点:技术基础+强烈的求知欲+耐心. 我认为是阅读源码的最核心 ...

  3. .NET FileUpLoad上传文件

    一.上传扫描件到服务器,自定义创建文件夹(如果存在该文件夹,则无需创建),并判断格式以及文件大小进行保存: 首先创建一个保存按钮事件: protected void btnSave_Click(obj ...

  4. 课程三(Structuring Machine Learning Projects),第二周(ML strategy(2)) —— 0.Learning Goals

    Learning Goals Understand what multi-task learning and transfer learning are Recognize bias, varianc ...

  5. OpenMP初探

    OpenMP支持c.cpp.fortran,本文对比使用openmp和未使用openmp的效率差距和外在表现,然后讲解基础知识. 一.举例 1.使用OpenMP与未使用OpenMP的比较. OpenM ...

  6. Zabbix系列之三——部署JMX监控tomcat

    zabbix提供了一个java gateway的应用去监控jmx(Java Management Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以 ...

  7. Hadoop2源码分析-HDFS核心模块分析

    1.概述 这篇博客接着<Hadoop2源码分析-RPC机制初识>来讲述,前面我们对MapReduce.序列化.RPC进行了分析和探索,对Hadoop V2的这些模块都有了大致的了解,通过对 ...

  8. 音频标签化1:audioset与训练模型 | 音频特征样本

    随着机器学习的发展,很多"历史遗留"问题有了新的解决方案.这些遗留问题中,有一个是音频标签化,即如何智能地给一段音频打上标签的问题,标签包括"吉他"." ...

  9. CentOS7用阿里云Docker Yum源在线安装Docker

    一.参考文档 官方Docker安装文档:https://docs.docker.com/install/linux/docker-ce/centos 阿里云Docker安装文档:https://yq. ...

  10. 轻量级.NET CORE ORM框架Insql使用教程

    Insql 国人开发,是一款汲取 Mybatis 优点的.NET ORM 框架.追求简单直观,使用自由灵活等特点. 项目主页:https://rainrcn.github.io/insql 此 ORM ...