ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORACLE DB创建步骤-运用冷备份和RMAN

ORACLE DB创建步骤-运用冷备份和RMAN

原创 Linux操作系统 作者:ljm0211 时间:2012-06-20 16:55:39 0 删除 编辑

u  RMAN创建数据库

 

1.环境的准备

²  在新建立数据库的机器上申请在DBA组的ORACLE OWNER 用户名必须与原数据库的ORACLE OWNER 相同。

²  安装ORACLE 软件,安装的路径可以和源路径不同。

²  确保备份组同事已经使用RMAN将数据文件恢复到指定的路径。

2.数据库启动

²  由于RMAN恢复出来的数据文件并不处于同一时刻,因此需要恢复日志。

SQL> sqlplus internal

SQL> recover database using backup controlfile ;

ORA-00279: change 3078306444075 generated at 03/29/2004 22:00:19 needed for thread 1

ORA-00289: suggestion : /data3/lurept/arch/lass/lass_0000002378.arc

ORA-00280: change 3078306444075 for thread 1 is in sequence #2378

Specify log: {=suggested | filename | AUTO | CANCEL}

从报错信息中可以得到需要恢复的log sequence#,把这个数字告诉备份组同事请他们恢复log

²  Apply 归档日志

SQL> recover database using backup controlfile ;

²  Open Database

SQL> alter database open resetlogs ;

 3.数据库复制

RMAN恢复数据库后,需要将数据库复制到我们的测试环境(或其他主机)。复制方法与下面运用冷备创建数据库的方法相同。

 

 

u  运用冷备份创建数据库

 

环境的准备

²  确保备份组同事已经将冷备份文件恢复到某一台UNIX机器A上路径为PATH1并保证给予DBA用户读权限。

²  在即将建立新数据库的UNIX机器B上确保已建好ORACLE OWNER,装好ORACLE软件并配置好ORACLE OWNER的环境变量.profile 文件。

2.Copy 冷备份文件到即将建立的新库数据文件路径 

在新建数据库机器B上用ORACLE OWNER执行:

cd $HOME/oradata

mkdir $ORACLE_SID

cd $ORACLE_SID

scp UserA@UNIXA:PATH1/* .

3.创建$ORACLE_BASE下的目录

在新建数据库机器B上用ORACLE OWNER执行:

cd $ORACLE_BASE

mkdir admin

mkdir admin/$ORACLE_SID

cd admin/$ORACLE_SID

mkdir bdump cdump udump

4.配置新建数据库的init  文件

建立$ORACLE_HOME/dbs下面的init.ora文件。可以参考标准的数据库init文件配置手册来配置新建数据库的init 文件。可以copy其他数据库的init.ora文件,然后修改其中的参数。

5.(一)同名建库方法:a -> a (在不同的服务器上)

    注意mount之后需要修改数据文件路径。

    SQL>STARTUP MOUNT

SQL>ALTER DATABASE RENAME FILE *** TO ***

-> SQL>ALTER DATABASE RENAME FILE *** TO ***

 

SQL>ALTER DATABASE RENAME FILE *** TO ***

-> SQL>ALTER DATABASE RENAME FILE *** TO ***

 

SQL>ALTER DATABASE OPEN ;

SQL>SHUTDOWN IMMEDIATE

SQL>STARTUP

(二)改名建库方法,区别在于要重建 控制文件

通过重建control file修改数据库名称。

如果需要更改数据库的名称(DB_NAME),请按照如下步骤执行:

--原库

alter database backup controlfile to trace as '/tmp/cre_con1010.sql' resetlogs;

 

 

e2cs4020:ltzz8i > sqlplus /nolog

SQL> conn / as sysdba

SQL> alter database backup controlfile to trace;

――注意,这里会在udump目录下生成的 trc 文件含有控制文件生成脚本,可以在这里抽取控制文件创建脚本如下:

CREATE CONTROLFILE REUSE DATABASE "LUZZ0" NORESETLOGS NOARCHIVELOG        

    MAXLOGFILES 32                                                        

    MAXLOGMEMBERS 2                                                       

    MAXDATAFILES 254                                                      

    MAXINSTANCES 8                                                        

    MAXLOGHISTORY 2726                                                    

LOGFILE                                                                   

    GROUP 1 '/paic/8i/lbs/exp/dmpfiles/oradata/ltzz8i/redo01.log'  SIZE 30M,

    GROUP 2 '/paic/8i/lbs/exp/dmpfiles/oradata/ltzz8i/redo02.log'  SIZE 30M,

    ..............................

DATAFILE                                                                  

    '/paic/8i/lbs/exp/dmpfiles/oradata/ltzz8i/system01.dbf',                

    '/paic/8i/lbs/exp/dmpfiles/oradata/ltzz8i/tools01.dbf',                 

    '/paic/8i/lbs/exp/dmpfiles/oradata/ltzz8i/rbs01.dbf',                   

    ..........................            

     '/paic/8i/lbs/exp/dmpfiles/oradata/ltzz8i/factuser_data01.dbf'          

CHARACTER SET ZHS16GBK                                                    

;             

--SQL> shutdown immediate;

 

--在新库上操作

(1)修改参数文件 DB_NAME 参数为新的数据库名称

 

(2)将控制文件移走(最好更名保存,以备更名操作失败数据库仍轻松可用)

 

(3)从生成的控制文件闯将脚本中的一行作如下修改:

      FROM: CREATE CONTROLFILE REUSE DATABASE "olddbname" NORESETLOGS ..

TO:   CREATE CONTROLFILE SET DATABASE "newdbname"  RESETLOGS ...  

e2cs4020:ltzz8i > sqlplus /nolog

SQL> conn / as sysdba

SQL> startup nomount;

SQL> @控制文件创建脚本.sql

SQL> alter database open resetlogs;

 

 

-------------------------------------------------------------------------------------------------------  

不同名建库方法:A->B

 

At original DB:

0\ alter database backup controlfile to trace as '/tmp/cre_con1010.sql' resetlogs;

1\shutdown immediate

 

At new DB:

1\copy dbf files (scp palog@10.8.35.119:xx ./)

2\ STARTUP NOMOUNT

CREATE CONTROLFILE SET DATABASE "RETAD1" RESETLOGS  NOARCHIVELOG

ALTER DATABASE OPEN RESETLOGS;

 

 

6. 修改数据库为非归档模式

    如果原数据库为归档模式,那么复制过来之后仍未归档模式。需要修改数据库为非归档模式。

    SQL> shutdown immediate;

SQL> startup mount;

SQL> alter database noarchive log;

SQL> alter database open;

SQL> archive log list;

7. 根据需要进行数据库的初始化

   可能需要的初始化工作有:用户口令初始化、权限初始化等。根据需要进行。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11411056/viewspace-733456/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-05-14

  • 博文量
    272
  • 访问量
    436789