|
传送数据库步骤:
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. 执行以下脚本,创建日志文件,修改控制文件(控制文件前后双向“采集”信息):
- SQL> recover database until cancel using backup controlfile;
复制代码- ORA-00279: ?? 1432064 (? 12/22/2019 22:28:02 ??) ???? 1 ????
- ORA-00289: ??:
- C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC
- ORA-00280: ?? 1432064 (???? 1) ??? #12 ?
- 指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
- auto
- ORA-00308: cannot open archived log
- 'C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC'
- ORA-27041: unable to open file
- OSD-04002: ????????????
- O/S-Error: (OS 2) ??????????????????????
- ORA-00308: cannot open archived log
- 'C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC'
- ORA-27041: unable to open file
- OSD-04002: ????????????
- O/S-Error: (OS 2) ??????????????????????
- SQL> recover database until cancel using backup controlfile;
- ORA-00279: ?? 1432064 (? 12/22/2019 22:28:02 ??) ???? 1 ????
- ORA-00289: ??:
- C:\APP\APPLE\FAST_RECOVERY_AREA\ORCL\ARCHIVELOG\2019_12_28\O1_MF_1_12_%U_.ARC
- ORA-00280: ?? 1432064 (???? 1) ??? #12 ?
- 指定日志: {<RET>=suggested | filename | AUTO | CANCEL}
- cancel
- 介质恢复已取消。
- SQL> alter database open resetlogs;
- 数据库已更改。
- SQL>
复制代码
----
如果有无效对象或者不通用户登录会报告警:
- SHUTDOWN IMMEDIATE
- STARTUP UPGRADE
- @@ ?/rdbms/admin/utlirp.sql
- SHUTDOWN IMMEDIATE
- STARTUP
- -- The following step will recompile all PL/SQL modules.
- -- It may take serveral hours to complete.
- @@ ?/rdbms/admin/utlrp.sql
复制代码
------------------------------------------
改名字,改ID:
- SQL> shutdown immediate
- 数据库已经关闭。
- 已经卸载数据库。
- ORACLE 例程已经关闭。
- SQL> startup mount
- ORACLE 例程已经启动。
- Total System Global Area 2137886720 bytes
- Fixed Size 2282944 bytes
- Variable Size 1224739392 bytes
- Database Buffers 905969664 bytes
- Redo Buffers 4894720 bytes
- 数据库装载完毕。
- SQL> exit
- 从 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
- With the Partitioning, OLAP, Data Mining and Real Application Testing options 断开
- c:\app\Apple>nid
- DBNEWID: Release 11.2.0.4.0 - Production on 星期六 12月 28 09:52:38 2019
- Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
- 关键字 说明 (默认值)
- ----------------------------------------------------
- TARGET 用户名/口令 (无)
- DBNAME 新的数据库名 (无)
- LOGFILE 输出日志 (无)
- REVERT 还原失败的更改 否
- SETNAME 仅设置新的数据库名 否
- APPEND 附加至输出日志 否
- HELP 显示这些消息 否
- c:\app\Apple>nid target=sys/oracle_4U dbname=linorcl
- DBNEWID: Release 11.2.0.4.0 - Production on 星期六 12月 28 09:53:40 2019
- Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
- 已连接数据库 ORCL (DBID=1554722616)
- 已连接服务器版本 11.2.0
- 数据库中的控制文件数:
- C:\APP\APPLE\ORADATA\LINORCL\CONTROL01.CTL
- C:\APP\APPLE\ORADATA\LINORCL\CONTROL02.CTL
- C:\APP\APPLE\ORADATA\LINORCL\CONTROL03.CTL
- 是否将数据库 ID 和数据库名 ORCL 更改为 LINORCL? (Y/[N]) => Y
- 操作继续进行
- 将数据库 ID 从 1554722616 更改为 2536376996
- 将数据库名从 ORCL 更改为 LINORCL
- 控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL01.CTL - 已修改
- 控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL02.CTL - 已修改
- 控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL03.CTL - 已修改
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\SYSTEM01.DB - dbid 已更改, 已写入新名称
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\SYSAUX01.DB - dbid 已更改, 已写入新名称
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\UNDOTBS1.DB - dbid 已更改, 已写入新名称
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\USERS01.DB - dbid 已更改, 已写入新名称
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS1.DB - dbid 已更改, 已写入新名称
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DB - dbid 已更改, 已写入新名称
- 数据文件 C:\APP\APPLE\ORADATA\LINORCL\TEMP01.DB - dbid 已更改, 已写入新名称
- 控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL01.CTL - dbid 已更改, 已写入新名称
- 控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL02.CTL - dbid 已更改, 已写入新名称
- 控制文件 C:\APP\APPLE\ORADATA\LINORCL\CONTROL03.CTL - dbid 已更改, 已写入新名称
- 实例关闭
- 数据库名已更改为 LINORCL。
- 修改参数文件并在重新启动前生成新的口令文件。
- 数据库 LINORCL 的数据库 ID 已更改为 2536376996。
- 此数据库的所有以前的备份和归档重做日志均不可用。
- 数据库无法识别恢复区中以前的备份和归档日志。
- 数据库已关闭, 用 RESETLOGS 选项打开数据库。
- 已成功更改数据库名和 ID。
- DBNEWID - 已成功完成。
- c:\app\Apple>
复制代码 在win上删除旧的orcl实例:
- PS C:\Windows\system32> oradim -NEW -SID linorcl
- 实例已创建。
- PS C:\Windows\system32> oradim -DELETE -SID orcl
- 实例已删除。
- PS C:\Windows\system32>
复制代码- c:\app\Apple>set ORACLE_SID=linorcl
- c:\app\Apple>sqlplus /nolog
- SQL*Plus: Release 11.2.0.4.0 Production on 星期六 12月 28 10:03:04 2019
- Copyright (c) 1982, 2013, Oracle. All rights reserved.
- SQL> conn / as sysdba
- 已连接到空闲例程。
- SQL> create spfile from pfile;
- 文件已创建。
- SQL> startup mount
- ORA-00400: invalid release value ??11.2.0.4.0?? for parameter compatible
- SQL> exit
- 已断开连接
- c:\app\Apple>sqlplus /nolog
- SQL*Plus: Release 11.2.0.4.0 Production on 星期六 12月 28 10:04:32 2019
- Copyright (c) 1982, 2013, Oracle. All rights reserved.
- SQL> conn / as sysdba
- 已连接到空闲例程。
- SQL> create spfile from pfile;
- create spfile from pfile
- *
- 第 1 行出现错误:
- ORA-01078: failure in processing system parameters
- LRM-00123: invalid character 147 found in the input file
- SQL> create spfile from pfile;
- 文件已创建。
- SQL> startup mount
- ORACLE 例程已经启动。
- Total System Global Area 2137886720 bytes
- Fixed Size 2282944 bytes
- Variable Size 1224739392 bytes
- Database Buffers 905969664 bytes
- Redo Buffers 4894720 bytes
- 数据库装载完毕。
- SQL> alter database open;
- alter database open
- *
- 第 1 行出现错误:
- ORA-01589: 要打开数据库则必须使用 RESETLOGS 或 NORESETLOGS 选项
- SQL> alter database open resetlogs;
- 数据库已更改。
- SQL> select count(*) from dba_objects where status <> 'VALID';
- COUNT(*)
- ----------
- 0
- SQL> select dbid from v$database;
- DBID
- ----------
- 2536376996
- SQL>
复制代码
|
|