课程第35次
传送数据库步骤: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>
----
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS1.DBF
C:\APP\APPLE\ORADATA\LINORCL\USERS01.DBF
C:\APP\APPLE\ORADATA\LINORCL\UNDOTBS1.DBF
C:\APP\APPLE\ORADATA\LINORCL\SYSAUX01.DBF
C:\APP\APPLE\ORADATA\LINORCL\SYSTEM01.DBF
C:\APP\APPLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\MISSING00006
已选择6行。
SQL> alter database rename file 'C:\APP\APPLE\PRODUCT\11.2.0\DBHOME_1\DATABASE\MISSING00006' to 'C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF';
数据库已更改。
SQL> selectfile_name from dba_temp_files;
未选定行
SQL> alter tablespace temp add tempfile 'C:\APP\APPLE\ORADATA\LINORCL\temp01.dbf'size 30M ;
表空间已更改。
SQL> selectname from dba_tablespaces;
selectname from dba_tablespaces
*
第 1 行出现错误:
ORA-00904: "NAME": ???????????????
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
TBSTRANS1
TBSTRANS2
已选择7行。
SQL> select tablespace_name, status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------------------------------------ ------------------
SYSTEM ONLINE
SYSAUX ONLINE
UNDOTBS1 ONLINE
TEMP ONLINE
USERS ONLINE
TBSTRANS1 ONLINE
TBSTRANS2 READ ONLY
已选择7行。
SQL> alter tablespace TBSTRANS2 read write ;
alter tablespace TBSTRANS2 read write
*
第 1 行出现错误:
ORA-01135: DML/query ??????????????? 6 ??????????????????
ORA-01110: ???????????? 6: 'C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF'
SQL> recover tablespace TBSTRANS2;
ORA-00283: ??????????????????????????????
ORA-00264: ???????????????
SQL> recover datafile 6 ;
ORA-00283: ??????????????????????????????
ORA-00264: ???????????????
SQL> select file_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS1.DBF
C:\APP\APPLE\ORADATA\LINORCL\USERS01.DBF
C:\APP\APPLE\ORADATA\LINORCL\UNDOTBS1.DBF
C:\APP\APPLE\ORADATA\LINORCL\SYSAUX01.DBF
C:\APP\APPLE\ORADATA\LINORCL\SYSTEM01.DBF
C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF
已选择6行。
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>rman target /
恢复管理器: Release 11.2.0.4.0 - Production on 星期六 12月 28 09:34:01 2019
Copyright (c) 1982, 2011, Oracle and/or its affiliates.All rights reserved.
已连接到目标数据库: ORCL (DBID=1554722616)
RMAN> recover tablespace tbstrans2;
启动 recover 于 28-12月-19
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: SID=11 设备类型=DISK
正在开始介质的恢复
介质恢复完成, 用时: 00:00:00
完成 recover 于 28-12月-19
RMAN> exit
恢复管理器完成。
c:\app\Apple>sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on 星期六 12月 28 09:34:18 2019
Copyright (c) 1982, 2013, Oracle.All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> alter tablespace tbstrans2 read write ;
alter tablespace tbstrans2 read write
*
第 1 行出现错误:
ORA-01135: DML/query 访问的文件 6 处于脱机状态
ORA-01110: 数据文件 6: 'C:\APP\APPLE\ORADATA\LINORCL\TBSTRANS2.DBF'
SQL> alter tablespace tbstran2 online ;
alter tablespace tbstran2 online
*
第 1 行出现错误:
ORA-00959: 表空间 'TBSTRAN2' 不存在
SQL> alter tablespace tbstrans2 online ;
表空间已更改。
SQL> alter tablespace tbstrans2 read write ;
表空间已更改。
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/) => 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> selectcount(*) from dba_objects where status <> 'VALID';
COUNT(*)
----------
0
SQL> selectdbid from v$database;
DBID
----------
2536376996
SQL>
页:
[1]