windows下oracle trace,记一次windows下oracle的整库移动

按客户的要求,需要把oracle库控制文件、数据文件、以及联机日志文件从本地磁盘移到存储上,为后续cluster工作做准备,为此,准备两套方案,模拟记录如下

方案一步骤如下:

1shutdownimmediate数据库

2copydatafiles、logfiles、controlfiles、tempfiles到新的目录

3startupnomount数据库

4用命令altersystemsetcontrol_files指定控制文件新位置

5startupforcemount数据库

6指定datafiles、tempfiles新位置

7指定redo日志文件新位置

8alterdatabaseopen数据库

方案二步骤如下:

1生成重建控制文件的语句

2shutdownimmediate数据库

3copydatafiles、logfiles、tempfiles、到新的位置

4用命令altersystemsetcontrol_files更改spfile文件中控制文件的指向

5重建控制文件

6为temp表空间的添加数据文件

方案1执行过程如下:

1查询当前数据文件和日志文件如下:

SQL>selectnamefromv$datafile;

NAME

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

G:\DATA\ERP\SYSTEM01.DBF

G:\DATA\ERP\SYSAUX01.DBF

G:\DATA\ERP\UNDOTBS01.DBF

G:\DATA\ERP\USERS01.DBF

SQL>selectgroup#,memberfromv$logfile;

GROUP#MEMBER

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

2G:\DATA\ERP\REDO02.LOG

1G:\DATA\ERP\REDO01.LOG

3G:\DATA\ERP\REDO03.LOG

2一致性关闭数据库:

SQL>shutdownimmediate;

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

SQL>

3拷贝数据文件、日志文件、临时数据文件、控制文件到存储目录下:

C:\Users\Administrator.ZX>copyG:\DATA\ERP\*.*E:\DATA\ERP\

G:\DATA\ERP\CONTROL01.CTL

G:\DATA\ERP\CONTROL02.CTL

G:\DATA\ERP\REDO01.LOG

G:\DATA\ERP\REDO02.LOG

G:\DATA\ERP\REDO03.LOG

G:\DATA\ERP\SYSAUX01.DBF

G:\DATA\ERP\SYSTEM01.DBF

G:\DATA\ERP\TEMP01.DBF

G:\DATA\ERP\UNDOTBS01.DBF

G:\DATA\ERP\USERS01.DBF

已复制10个文件。

4用命令altersystemsetcontrol_files指定控制文件新位置

C:\Users\Administrator.ZX>sqlplus/assysdba

SQL*Plus:Release11.2.0.1.0Productionon星期五9月2017:29:492013

Copyright(c)1982,2010,Oracle.Allrightsreserved.

已连接到空闲例程。

SQL>startupnomount;

ORACLE例程已经启动。

TotalSystemGlobalArea430075904bytes

FixedSize2176448bytes

VariableSize301992512bytes

DatabaseBuffers117440512bytes

RedoBuffers8466432bytes

SQL>showparametercontrol_files;

NAMETYPEVALUE

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

control_filesstringG:\DATA\ERP\CONTROL01.CTL,G:\

DATA\ERP\CONTROL02.CTL

SQL>altersystemsetcontrol_files='E:\DATA\ERP\CONTROL01.CTL','E:\DATA\ERP\CONTROL02.CTL'scope=spfile;

系统已更改。

SQL>startupforcemount;

ORACLE例程已经启动。

TotalSystemGlobalArea430075904bytes

FixedSize2176448bytes

VariableSize301992512bytes

DatabaseBuffers117440512bytes

RedoBuffers8466432bytes

数据库装载完毕。

SQL>showparametercontrol_files;

NAMETYPEVALUE

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

control_filesstringE:\DATA\ERP\CONTROL01.CTL,E:\

DATA\ERP\CONTROL02.CTL

SQL>

5指定数据文件和临时数据文件新位置

SQL>alterdatabaserenamefile'G:\DATA\ERP\SYSAUX01.DBF',

2'G:\DATA\ERP\SYSTEM01.DBF',

3'G:\DATA\ERP\UNDOTBS01.DBF',

4'G:\DATA\ERP\USERS01.DBF',

5'G:\DATA\ERP\TEMP01.DBF'6to'E:\DATA\ERP\SYSAUX01.DBF',

7'E:\DATA\ERP\SYSTEM01.DBF',

8'E:\DATA\ERP\UNDOTBS01.DBF',

9'E:\DATA\ERP\USERS01.DBF',

10'E:\DATA\ERP\TEMP01.DBF';

数据库已更改。

6指定日志文件新位置:

SQL>alterdatabaserenamefile'G:\DATA\ERP\REDO01.LOG',

2'G:\DATA\ERP\REDO02.LOG',

3'G:\DATA\ERP\REDO03.LOG'

4to'E:\DATA\ERP\REDO01.LOG',

5'E:\DATA\ERP\REDO02.LOG',

6'E:\DATA\ERP\REDO03.LOG';

数据库已更改。

SQL>selectfile#,name,statusfromv$datafile;

FILE#NAMESTATUS

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

1E:\DATA\ERP\SYSTEM01.DBFSYSTEM

2E:\DATA\ERP\SYSAUX01.DBFONLINE

3E:\DATA\ERP\UNDOTBS01.DBFONLINE

4E:\DATA\ERP\USERS01.DBFONLINE

SQL>selectgroup#,memberfromv$logfile;

GROUP#MEMBER

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

2E:\DATA\ERP\REDO02.LOG

1E:\DATA\ERP\REDO01.LOG

3E:\DATA\ERP\REDO03.LOG

SQL>selectname,statusfromv$tempfile;

NAMESTATUS

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

E:\DATA\ERP\TEMP01.DBFONLINE

第二种方案移库过程如下:

1生成重建控制文件的语句:

SQL>selectopen_modefromv$database;

OPEN_MODE

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

READWRITE

SQL>alterdatabasebackupcontrolfiletotrace;

数据库已更改。

SQL>oradebugsetmypid

已处理的语句

SQL>oradebugtracefile_name

c:\app\diag\rdbms\erp\erp\trace\erp_ora_2724.trc

SQL>exit

从OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProduction

WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions断开

C:\Users\Administrator.ZX>startc:\app\diag\rdbms\erp\erp\trace\erp_ora_2724.trc

打开该trace文件找到如下控制文件重建语句并保存到control.sql文件中

C:\Users\Administrator.ZX>e:

E:\>typecontrol.sql

STARTUPNOMOUNT

CREATECONTROLFILEREUSEDATABASE"ERP"NORESETLOGSARCHIVELOG

MAXLOGFILES16

MAXLOGMEMBERS3

MAXDATAFILES100

MAXINSTANCES8

MAXLOGHISTORY292

LOGFILE

GROUP1'E:\DATA\ERP\REDO01.LOG'SIZE200MBLOCKSIZE512,

GROUP2'E:\DATA\ERP\REDO02.LOG'SIZE200MBLOCKSIZE512,

GROUP3'E:\DATA\ERP\REDO03.LOG'SIZE200MBLOCKSIZE512

--STANDBYLOGFILE

DATAFILE

'E:\DATA\ERP\SYSTEM01.DBF',

'E:\DATA\ERP\SYSAUX01.DBF',

'E:\DATA\ERP\UNDOTBS01.DBF',

'E:\DATA\ERP\USERS01.DBF'

CHARACTERSETZHS16GBK

;

2一致性关闭数据库:

E:\>sqlplus/assysdba

SQL*Plus:Release11.2.0.1.0Productionon星期五9月2018:52:192013

Copyright(c)1982,2010,Oracle.Allrightsreserved.

连接到:

OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProduction

WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions

SQL>shutdownimmediate;

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

3copydatafiles、logfiles、tempfiles到新的位置

SQL>exit

从OracleDatabase11gEnterpriseEditionRelease11.2.0.1.0-64bitProduction

WiththePartitioning,OLAP,DataMiningandRealApplicationTestingoptions断开

E:\>copyE:\data\erp\*.*G:\data\erp\E:\data\erp\CONTROL01.CTL

E:\data\erp\CONTROL02.CTL

E:\data\erp\REDO01.LOG

E:\data\erp\REDO02.LOG

E:\data\erp\REDO03.LOG

E:\data\erp\SYSAUX01.DBF

E:\data\erp\SYSTEM01.DBF

E:\data\erp\TEMP01.DBF

E:\data\erp\UNDOTBS01.DBF

E:\data\erp\USERS01.DBF

已复制10个文件。

4用命令altersystemsetcontrol_files更改spfile文件中控制文件的指向

E:\>sqlplus/assysdba

SQL*Plus:Release11.2.0.1.0Productionon星期五9月2019:05:312013

Copyright(c)1982,2010,Oracle.Allrightsreserved.

已连接到空闲例程。

SQL>startupnomount;

ORACLE例程已经启动。

TotalSystemGlobalArea430075904bytes

FixedSize2176448bytes

VariableSize289409600bytes

DatabaseBuffers130023424bytes

RedoBuffers8466432bytes

SQL>showparametercontrol_files;

NAMETYPEVALUE

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

control_filesstringE:\DATA\ERP\CONTROL01.CTL,E:\

DATA\ERP\CONTROL02.CTL

SQL>altersystemsetcontrol_files='G:\DATA\ERP\CONTROL01.CTL','G:\DATA\ERP\CONTROL02.CTL'scope=spfile;

系统已更改。

5重建控制文件

SQL>shutdownabort;

ORACLE例程已经关闭。

SQL>hosttypee:\control.sql

STARTUPNOMOUNT

CREATECONTROLFILEREUSEDATABASE"ERP"NORESETLOGSARCHIVELOG

MAXLOGFILES16

MAXLOGMEMBERS3

MAXDATAFILES100

MAXINSTANCES8

MAXLOGHISTORY292

LOGFILE

GROUP1'E:\DATA\ERP\REDO01.LOG'SIZE200MBLOCKSIZE512,

GROUP2'E:\DATA\ERP\REDO02.LOG'SIZE200MBLOCKSIZE512,

GROUP3'E:\DATA\ERP\REDO03.LOG'SIZE200MBLOCKSIZE512

--STANDBYLOGFILE

DATAFILE

'E:\DATA\ERP\SYSTEM01.DBF',

'E:\DATA\ERP\SYSAUX01.DBF',

'E:\DATA\ERP\UNDOTBS01.DBF',

'E:\DATA\ERP\USERS01.DBF'

CHARACTERSETZHS16GBK

;

SQL>@e:\control.sql

ORACLE例程已经启动。

TotalSystemGlobalArea430075904bytes

FixedSize2176448bytes

VariableSize289409600bytes

DatabaseBuffers130023424bytes

RedoBuffers8466432bytes

控制文件已创建。

SQL>selectopen_modefromv$database;

OPEN_MODE

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

MOUNTED

SQL>colnamefora50

SQL>selectnamefromv$datafile;

NAME

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

E:\DATA\ERP\SYSTEM01.DBF

E:\DATA\ERP\SYSAUX01.DBF

E:\DATA\ERP\UNDOTBS01.DBF

E:\DATA\ERP\USERS01.DBF

SQL>colmemberfora50

SQL>selectmemberfromv$logfile;

MEMBER

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

E:\DATA\ERP\REDO01.LOG

E:\DATA\ERP\REDO03.LOG

E:\DATA\ERP\REDO02.LOG

SQL>selectnamefromv$tempfile;

未选定行

SQL>selectnamefromv$controlfile;

NAME

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

G:\DATA\ERP\CONTROL01.CTL

G:\DATA\ERP\CONTROL02.CTL

6给temp表空间添加数据文件temp01

SQL>alterdatabaseopen;

数据库已更改。

SQL>hostdirG:\DATA\ERP

驱动器G中的卷是erp

卷的序列号是F048-8EE6

G:\DATA\ERP的目录

2013/09/2018:56

2013/09/2018:56

2013/09/2019:1410,076,160CONTROL01.CTL

2013/09/2019:1410,076,160CONTROL02.CTL

2013/09/2018:52209,715,712REDO01.LOG

2013/09/2018:52209,715,712REDO02.LOG

2013/09/2018:52209,715,712REDO03.LOG

2013/09/2018:52503,324,672SYSAUX01.DBF

2013/09/2018:52713,039,872SYSTEM01.DBF

2013/09/2017:1830,416,896TEMP01.DBF

2013/09/2018:5273,408,512UNDOTBS01.DBF

2013/09/2018:525,251,072USERS01.DBF

10个文件1,974,740,480字节

2个目录7,482,286,080可用字节

SQL>altertablespacetempaddtempfile'G:\DATA\ERP\TEMP01.DBF';

表空间已更改。

SQL>selectnamefromv$tempfile;

NAME

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

G:\DATA\ERP\TEMP01.DBF

注意:在关闭数据移库前,检查下表空间、数据文件、日志文件的状态是否正常

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值