Bo's Oracle Station

查看: 1508|回复: 0

课程第35次

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2019-12-28 09:09:07 | 显示全部楼层 |阅读模式
传送数据库步骤:
1. 从Linux上把所有文件(数据文件可以定名为linorcl....)拷贝到windows上来。
2. 在windows上oradim  -NEW -SID orcl注册服务
3. 在cmd窗口中set ORACLE_SID=orcl,启动实例,转spfile。
4. 编辑trace文件,创建控制文件。(注意compatible参数要设成11.2.0.4.0)
5. 执行以下脚本,创建日志文件,修改控制文件(控制文件前后双向“采集”信息):
  1. SQL> recover database until cancel using backup controlfile;
复制代码
  1. ORA-00279: ?? 1432064 (? 12/22/2019 22:28:02 ??) ???? 1 ????
  2. ORA-00289: ??:
  3. C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC
  4. ORA-00280: ?? 1432064 (???? 1) ??? #12 ?


  5. 指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
  6. auto
  7. ORA-00308: cannot open archived log
  8. 'C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC'
  9. ORA-27041: unable to open file
  10. OSD-04002: ????????????
  11. O/S-Error: (OS 2) ??????????????????????


  12. ORA-00308: cannot open archived log
  13. 'C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC'
  14. ORA-27041: unable to open file
  15. OSD-04002: ????????????
  16. O/S-Error: (OS 2) ??????????????????????


  17. SQL> recover database until cancel using backup controlfile;
  18. ORA-00279: ?? 1432064 (? 12/22/2019 22:28:02 ??) ???? 1 ????
  19. ORA-00289: ??:
  20. C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC
  21. ORA-00280: ?? 1432064 (???? 1) ??? #12 ?


  22. 指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
  23. cancel
  24. 介质恢复已取消。
  25. SQL> alter database open resetlogs;

  26. 数据库已更改。

  27. SQL>
复制代码

----
  1. SQL> select file_name from dba_data_files;

  2. FILE_NAME
  3. --------------------------------------------------------------------------------
  4. C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS1.DBF
  5. C:\APP\APPLE\ORADATA\LINORCL\USERS01.DBF
  6. C:\APP\APPLE\ORADATA\LINORCL\UNDOTBS1.DBF
  7. C:\APP\APPLE\ORADATA\LINORCL\SYSAUX01.DBF
  8. C:\APP\APPLE\ORADATA\LINORCL\SYSTEM01.DBF
  9. C:\APP\APPLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\MISSING00006

  10. 已选择6行。

  11. SQL> alter database rename file 'C:\APP\APPLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\MISSING00006' to 'C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF';

  12. 数据库已更改。

  13. SQL> select  file_name from dba_temp_files;

  14. 未选定行

  15. SQL> alter tablespace temp add tempfile 'C:\APP\APPLE\ORADATA\LINORCL\temp01.dbf'  size 30M ;

  16. 表空间已更改。

  17. SQL> select  name from dba_tablespaces;
  18. select  name from dba_tablespaces
  19.         *
  20. 第 1 行出现错误:
  21. ORA-00904: "NAME": ???????????????


  22. SQL> select tablespace_name from dba_tablespaces;

  23. TABLESPACE_NAME
  24. ------------------------------------------------------------
  25. SYSTEM
  26. SYSAUX
  27. UNDOTBS1
  28. TEMP
  29. USERS
  30. TBSTRANS1
  31. TBSTRANS2

  32. 已选择7行。

  33. SQL> select tablespace_name, status from dba_tablespaces;

  34. TABLESPACE_NAME                                              STATUS
  35. ------------------------------------------------------------ ------------------
  36. SYSTEM                                                       ONLINE
  37. SYSAUX                                                       ONLINE
  38. UNDOTBS1                                                     ONLINE
  39. TEMP                                                         ONLINE
  40. USERS                                                        ONLINE
  41. TBSTRANS1                                                    ONLINE
  42. TBSTRANS2                                                    READ ONLY

  43. 已选择7行。

  44. SQL> alter tablespace TBSTRANS2 read write ;
  45. alter tablespace TBSTRANS2 read write
  46. *
  47. 第 1 行出现错误:
  48. ORA-01135: DML/query ??????????????? 6 ??????????????????
  49. ORA-01110: ???????????? 6: 'C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF'


  50. SQL> recover tablespace TBSTRANS2;
  51. ORA-00283: ??????????????????????????????
  52. ORA-00264: ???????????????


  53. SQL> recover datafile 6 ;
  54. ORA-00283: ??????????????????????????????
  55. ORA-00264: ???????????????


  56. SQL> select file_name from dba_data_files;

  57. FILE_NAME
  58. --------------------------------------------------------------------------------
  59. C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS1.DBF
  60. C:\APP\APPLE\ORADATA\LINORCL\USERS01.DBF
  61. C:\APP\APPLE\ORADATA\LINORCL\UNDOTBS1.DBF
  62. C:\APP\APPLE\ORADATA\LINORCL\SYSAUX01.DBF
  63. C:\APP\APPLE\ORADATA\LINORCL\SYSTEM01.DBF
  64. C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF

  65. 已选择6行。

  66. SQL> exit
  67. 从 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  68. With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开

  69. c:\app\Apple>rman target /

  70. 恢复管理器: Release 11.2.0.4.0 - Production on 星期六 12月 28 09:34:01 2019

  71. Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

  72. 已连接到目标数据库: ORCL (DBID=1554722616)

  73. RMAN> recover tablespace tbstrans2;

  74. 启动 recover 于 28-12月-19
  75. 使用目标数据库控制文件替代恢复目录
  76. 分配的通道: ORA_DISK_1
  77. 通道 ORA_DISK_1: SID=11 设备类型=DISK

  78. 正在开始介质的恢复
  79. 介质恢复完成, 用时: 00:00:00

  80. 完成 recover 于 28-12月-19

  81. RMAN> exit


  82. 恢复管理器完成。

  83. c:\app\Apple>sqlplus /nolog

  84. SQL*Plus: Release 11.2.0.4.0 Production on 星期六 12月 28 09:34:18 2019

  85. Copyright (c) 1982, 2013, Oracle.  All rights reserved.

  86. SQL> conn / as sysdba
  87. 已连接。
  88. SQL> alter tablespace tbstrans2 read write ;
  89. alter tablespace tbstrans2 read write
  90. *
  91. 第 1 行出现错误:
  92. ORA-01135: DML/query 访问的文件 6 处于脱机状态
  93. ORA-01110: 数据文件 6: 'C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF'


  94. SQL> alter tablespace tbstran2 online ;
  95. alter tablespace tbstran2 online
  96. *
  97. 第 1 行出现错误:
  98. ORA-00959: 表空间 'TBSTRAN2' 不存在


  99. SQL> alter tablespace tbstrans2 online ;

  100. 表空间已更改。

  101. SQL> alter tablespace tbstrans2 read write ;

  102. 表空间已更改。

  103. SQL>
复制代码

如果有无效对象或者不通用户登录会报告警:
  1. SHUTDOWN IMMEDIATE
  2. STARTUP UPGRADE
  3. @@ ?/rdbms/admin/utlirp.sql
  4. SHUTDOWN IMMEDIATE
  5. STARTUP
  6. -- The following step will recompile all PL/SQL modules.
  7. -- It may take serveral hours to complete.
  8. @@ ?/rdbms/admin/utlrp.sql
复制代码

------------------------------------------
改名字,改ID:
  1. SQL> shutdown immediate
  2. 数据库已经关闭。
  3. 已经卸载数据库。
  4. ORACLE 例程已经关闭。
  5. SQL> startup mount
  6. ORACLE 例程已经启动。

  7. Total System Global Area 2137886720 bytes
  8. Fixed Size                  2282944 bytes
  9. Variable Size            1224739392 bytes
  10. Database Buffers          905969664 bytes
  11. Redo Buffers                4894720 bytes
  12. 数据库装载完毕。
  13. SQL> exit
  14. 从 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
  15. With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开

  16. c:\app\Apple>nid

  17. DBNEWID: Release 11.2.0.4.0 - Production on 星期六 12月 28 09:52:38 2019

  18. Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

  19. 关键字      说明                    (默认值)
  20. ----------------------------------------------------
  21. TARGET      用户名/口令              (无)
  22. DBNAME      新的数据库名             (无)
  23. LOGFILE     输出日志                     (无)
  24. REVERT      还原失败的更改            否
  25. SETNAME     仅设置新的数据库名        否
  26. APPEND      附加至输出日志            否
  27. HELP        显示这些消息              否


  28. c:\app\Apple>nid target=sys/oracle_4U dbname=linorcl

  29. DBNEWID: Release 11.2.0.4.0 - Production on 星期六 12月 28 09:53:40 2019

  30. Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

  31. 已连接数据库 ORCL (DBID=1554722616)

  32. 已连接服务器版本 11.2.0

  33. 数据库中的控制文件数:
  34.     C:\APP\APPLE\ORADATA\LINORCL\CONTROL01.CTL
  35.     C:\APP\APPLE\ORADATA\LINORCL\CONTROL02.CTL
  36.     C:\APP\APPLE\ORADATA\LINORCL\CONTROL03.CTL

  37. 是否将数据库 ID 和数据库名 ORCL 更改为 LINORCL? (Y/[N]) => Y

  38. 操作继续进行
  39. 将数据库 ID 从 1554722616 更改为 2536376996
  40. 将数据库名从 ORCL 更改为 LINORCL
  41.     控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL01.CTL - 已修改
  42.     控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL02.CTL - 已修改
  43.     控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL03.CTL - 已修改
  44.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\SYSTEM01.DB - dbid 已更改, 已写入新名称
  45.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\SYSAUX01.DB - dbid 已更改, 已写入新名称
  46.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\UNDOTBS1.DB - dbid 已更改, 已写入新名称
  47.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\USERS01.DB - dbid 已更改, 已写入新名称
  48.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS1.DB - dbid 已更改, 已写入新名称
  49.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DB - dbid 已更改, 已写入新名称
  50.     数据文件 C:\APP\APPLE\ORADATA\LINORCL\TEMP01.DB - dbid 已更改, 已写入新名称
  51.     控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL01.CTL - dbid 已更改, 已写入新名称
  52.     控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL02.CTL - dbid 已更改, 已写入新名称
  53.     控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL03.CTL - dbid 已更改, 已写入新名称
  54.     实例关闭

  55. 数据库名已更改为 LINORCL。
  56. 修改参数文件并在重新启动前生成新的口令文件。
  57. 数据库 LINORCL 的数据库 ID 已更改为 2536376996。
  58. 此数据库的所有以前的备份和归档重做日志均不可用。
  59. 数据库无法识别恢复区中以前的备份和归档日志。
  60. 数据库已关闭, 用 RESETLOGS 选项打开数据库。
  61. 已成功更改数据库名和 ID。
  62. DBNEWID - 已成功完成。


  63. c:\app\Apple>
复制代码
在win上删除旧的orcl实例:
  1. PS C:\Windows\system32> oradim -NEW -SID linorcl
  2. 实例已创建。
  3. PS C:\Windows\system32> oradim -DELETE -SID orcl
  4. 实例已删除。
  5. PS C:\Windows\system32>
复制代码
  1. c:\app\Apple>set ORACLE_SID=linorcl

  2. c:\app\Apple>sqlplus /nolog

  3. SQL*Plus: Release 11.2.0.4.0 Production on 星期六 12月 28 10:03:04 2019

  4. Copyright (c) 1982, 2013, Oracle.  All rights reserved.

  5. SQL> conn / as sysdba
  6. 已连接到空闲例程。
  7. SQL> create spfile from pfile;

  8. 文件已创建。

  9. SQL> startup mount
  10. ORA-00400: invalid release value ??11.2.0.4.0?? for parameter compatible
  11. SQL> exit
  12. 已断开连接

  13. c:\app\Apple>sqlplus /nolog

  14. SQL*Plus: Release 11.2.0.4.0 Production on 星期六 12月 28 10:04:32 2019

  15. Copyright (c) 1982, 2013, Oracle.  All rights reserved.

  16. SQL> conn / as sysdba
  17. 已连接到空闲例程。
  18. SQL> create spfile from pfile;
  19. create spfile from pfile
  20. *
  21. 第 1 行出现错误:
  22. ORA-01078: failure in processing system parameters
  23. LRM-00123: invalid character 147 found in the input file


  24. SQL> create spfile from pfile;

  25. 文件已创建。

  26. SQL> startup mount
  27. ORACLE 例程已经启动。

  28. Total System Global Area 2137886720 bytes
  29. Fixed Size                  2282944 bytes
  30. Variable Size            1224739392 bytes
  31. Database Buffers          905969664 bytes
  32. Redo Buffers                4894720 bytes
  33. 数据库装载完毕。
  34. SQL> alter database open;
  35. alter database open
  36. *
  37. 第 1 行出现错误:
  38. ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项


  39. SQL> alter database open resetlogs;

  40. 数据库已更改。

  41. SQL> select  count(*) from dba_objects where status <> 'VALID';

  42.   COUNT(*)
  43. ----------
  44.          0

  45. SQL> select  dbid from v$database;

  46.       DBID
  47. ----------
  48. 2536376996

  49. SQL>
复制代码






回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-5-8 22:06 , Processed in 0.097015 second(s), 24 queries .

快速回复 返回顶部 返回列表