ITPub博客

首页 > Linux操作系统 > Linux操作系统 > oracle实验记录(手动dupliacate database(2))

oracle实验记录(手动dupliacate database(2))

原创 Linux操作系统 作者:fufuh2o 时间:2009-08-27 22:15:10 0 删除 编辑

这个跟1的区别在于,没有经过中间备份,也就是,不是先备份 然后从备份位置转储到 复制位置,直接从primary database 复制到 复制库目录看看是否可行

另外对 复制库的日志也研究下
C:\>set oracle_sid=xhtest

C:\>sqlplus "/ as sysdba"
SQL> create table test (a int );

表已创建。

SQL> insert into test values(1);

已创建 1 行。

SQL> insert into test values(2);

已创建 1 行。

SQL> commit;
SQL> select sequence#,status,first_change# from v$log;

 SEQUENCE# STATUS           FIRST_CHANGE#
---------- ---------------- -------------
        62 INACTIVE                670485
        63 INACTIVE                670737
        64 CURRENT                 672738

SQL> select first_change#,next_change#,sequence# from v$archived_log

  670737       672738         63 
可以看出新建立的表test 在redo03.log中,未归档

 


C:\>oradim -new -sid xhtest5 -intpwd xh123
例程已创建。


C:\>mkdir d:\xhtest5\bdump

C:\>mkdir d:\xhtest5\cdump

C:\>mkdir d:\xhtest5\udump

C:\>mkdir d:\xhtest5\archive
参数文件配置:
*.background_dump_dest='d:\xhtest5\bdump'
*.compatible='10.1.0.2.0'
*.control_files='d:\xhtest5\control01.ctl'
*.core_dump_dest='d:\xhtest5\cdump'
*.db_block_size=8192
*.db_cache_size=25165824
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='xhtest5'
*.db_recovery_file_dest_size=2147483648
*.db_recovery_file_dest='d:\xhtest5'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=xhtestXDB)'
*.java_pool_size=50331648
*.job_queue_processes=10
*.large_pool_size=8388608
*.log_archive_dest_1='location=D:\xhtest5\archive'
*.open_cursors=300
*.pga_aggregate_target=25165824
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.shared_pool_size=200000000
*.sort_area_size=65536
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='d:\xhtest5\udump'
*.instance_name='xhtest5'
*.service_names='xhtest5'

SQL> create spfile='d:\rman复制参数\spfilexhtest5.ora' from pfile='d:\rman复制
数\initxhtest5.ora'
  2  ;

文件已创建。

 


set_oraclesid=xhtest                               回主库做脚本
C:\>sqlplus " / as sydba"


SQL> select 'host copy '||file_name||' d:\xhtest5;' from dba_data_files;

'HOSTCOPY'||FILE_NAME||'D:\XHTEST5;'
------------------------------------------------------------------------------

host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\USERS01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\SYSAUX01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\UNDOTBS01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\SYSTEM01.DBF d:\xhtest5;
host copy F:\ORACLE\PRODUCT\10.1.0\ORADATA\XHTEST\EXAMPLE01.DBF d:\xhtest5;
host copy D:\自建表空间数据文件\TESTTB.DBF d:\xhtest5;

SQL> alter database begin backup;

数据库已更改。

SQL> @D:\oracle实验脚本\os备份数据文件2.txt
已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。

已复制         1 个文件。
                                                              直接从主库复制到复制库xhtest5目录了

已复制         1 个文件。

已复制         1 个文件。

SQL> alter database end backup;

数据库已更改。

 

C:\>set oracle_sid=xhtest5

C:\>sqlplus " / as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 7月 21 11:32:44 2008           干活!!!!!

Copyright (c) 1982, 2004, Oracle.  All rights reserved.

已连接到空闲例程。

SQL> startup nomount
ORACLE 例程已经启动。

Total System Global Area  289406976 bytes
Fixed Size                   788552 bytes
Variable Size             263190456 bytes
Database Buffers           25165824 bytes
Redo Buffers                 262144 bytes
SQL>

SQL> @D:\oracle实验脚本\duplicate控制文件脚本2.txt

控制文件已创建
CREATE CONTROLFILE set DATABASE "XHTEST5" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 454
LOGFILE
  GROUP 1 'd:\xhtest5\REDO01.LOG'  SIZE 10M,
  GROUP 2 'd:\xhtest5\REDO02.LOG'  SIZE 10M,
  GROUP 3 'd:\xhtest5\REDO03.LOG'  SIZE 10M
-- STANDBY LOGFILE
DATAFILE
  'd:\xhtest5\SYSTEM01.DBF',
  'd:\xhtest5\UNDOTBS01.DBF',
  'd:\xhtest5\SYSAUX01.DBF',
  'd:\xhtest5\USERS01.DBF',
  'd:\xhtest5\EXAMPLE01.DBF',
  'd:\xhtest5\TESTTB.DBF'
CHARACTER SET ZHS16GBK
;
SQL> set logsource 'F:\归档备份'
SQL> recover database until using backup controlfile;
ORA-00277: UNTIL ???? USING ?????


SQL> recover database until cancel using backup controlfile;
ORA-00279: ?? 674746 (? 07/21/2008 11:25:19 ??) ???? 1 ????
ORA-00289: ??:
F:\F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\1

0.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1ARC00064_0660131038.001
ORA-00280: ?? 674746 (???? 1) ??? #64 ?


指定日志: {=suggested | filename | AUTO | CANCEL}
auto
ORA-00308: ????????
'F:\F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\

10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1ARC00064_0660131038.001'                            备份后     没有可以应用的归档日志
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????


ORA-00308: ????????
'F:\F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1F:\ORACLE\PRODUCT\

10.1.0\DB_1F:\ORACLE\PRODUCT\10.1.0\DB_1ARC00064_0660131038.001'
ORA-27041: ??????
OSD-04002: ????????????
O/S-Error: (OS 123) ????????????????????????????????


ORA-01547: ??: RECOVER ??? OPEN RESETLOGS ???????
ORA-01195: ?? 1 ??????????????????
ORA-01110: ???? 1: 'D:\XHTEST5\SYSTEM01.DBF'


指定日志: {=suggested | filename | AUTO | CANCEL}
F:\oracle\product\10.1.0\oradata\xhtest\redo03.log           应用了 在转储数据文件后产生的日志,在 online logfile中
已应用的日志。
完成介质恢复。
SQL>

SQL> alter database open resetlogs;

数据库已更改。

SQL> select * from test;

         A
----------
         1
         2

SQL> select first_change#,next_change#,sequence# from v$archived_log
  2  ;

未选定行

SQL> select first_change#,switch_change#,sequence# from v$loghist
  2  ;

未选定行

SQL> select sequence#,status,first_scn from v$log;
select sequence#,status,first_scn from v$log
                        *
第 1 行出现错误:
ORA-00904: "FIRST_SCN": ?????


SQL> select sequence#,status,first_change# from v$log;

 SEQUENCE# STATUS           FIRST_CHANGE#
---------- ---------------- -------------
         0 UNUSED                       0
         0 UNUSED                       0
         1 CURRENT                 675344

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
 675748

 SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\xhtest5\archive
最早的联机日志序列     0
下一个存档日志序列   1
当前日志序列           1
SQL>
 
  
  SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\xhtest5\archive
最早的联机日志序列     0
下一个存档日志序列   1
当前日志序列           1
SQL>

SQL> archive log list
数据库日志模式            存档模式
自动存档             启用
存档终点            D:\xhtest5\archive
最早的联机日志序列     0
下一个存档日志序列   1
当前日志序列           1
SQL>

C:\>sqlplus "/ as sysdba"

SQL*Plus: Release 10.1.0.2.0 - Production on 星期一 7月 21 11:42:11 2008

Copyright (c) 1982, 2004, Oracle.  All rights reserved.


连接到:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options

SQL> select current_scn from v$database;

CURRENT_SCN
-----------
     675519                                  主库的scn比复制的小

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

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

注册时间:2009-06-26

  • 博文量
    182
  • 访问量
    471646