react 前端框架如何驱动企业数字化转型与创新发展
329
2023-12-12
文件系统怎样迁移到ASM,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
数据库全备 仅仅是一个databse的全备,没有任何额外的附加功能,仅0 级 增量备份 既是数据库的全备,又是,0级增量备份,在此基础上,可以后续执行增量备份 结论 因此推荐使用0级增量备份做数据库的全备最好是以grid用户进入asm 环境
[oracle@sink ~]$ su - grid
Password:
[grid@sink ~]$ asmcmd
做完 0 级 增量备份后的备份文件
ASMCMD> pwd
+data/sink
ASMCMD> ls
BACKUPSET/
CONTROLFILE/
DATAFILE/
PARAMETERFILE/
查看刚才做的 0级增量 备份
RMAN> list copy of database;
List ofDatafile Copies
=======================
Key File S Completion Time Ckp SCN Ckp Time
------- ---- - --------------- ---------- ---------------
9 1 A 06-JAN-18 1218041 06-JAN-18
Name: +DATA/sink/datafile/system.258.964712643
Tag: ORA_ASM_MIGRATION
8 2 A 06-JAN-18 1218040 06-JAN-18
Name: +DATA/sink/datafile/sysaux.257.964712643
Tag: ORA_ASM_MIGRATION
4 3 A 06-JAN-18 1218045 06-JAN-18
Name: +DATA/sink/datafile/undotbs1.261.964712645
Tag: ORA_ASM_MIGRATION
6 4 A 06-JAN-18 1218050 06-JAN-18
Name: +DATA/sink/datafile/users.263.964712657
Tag: ORA_ASM_MIGRATION
7 5 A 06-JAN-18 1218043 06-JAN-18
Name: +DATA/sink/datafile/example.260.964712643
Tag:ORA_ASM_MIGRATION
3 6 A 06-JAN-18 1218042 06-JAN-18
Name: +DATA/sink/datafile/tbssss.259.964712643
Tag: ORA_ASM_MIGRATION
RMAN>
转储spfile到
RMAN> restore spfile to +DATA/spfilesink.ora;
Starting restore at 06-JAN-18
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=18 device type=DISK
channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: restoring SPFILE
output file name=+DATA/spfilesink.ora
channel ORA_DISK_1: reading from backup piece +DATA/sink/backupset/2018_01_06/nnsnn0_ora_asm_migration_0.264.964712657
channel ORA_DISK_1: piece handle=+DATA/sink/backupset/2018_01_06/nnsnn0_ora_asm_migration_0.264.964712657 tag=ORA_ASM_MIGRATION
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:04
Finished restore at 06-JAN-18
查看转储spfile参数文件后的 在ASM中的 路径状态
ASMCMD> pwd
+data
ASMCMD> ls
ASM/
SINK/
spfilesink.ora
ASMCMD>
修改并查看pfile中的内容,使其内容指向ASM中spfile的spfilesink.ora的路径,有意思!
[oracle@sink dbs]$ pwd
/u01/app/oracle/product/11.2.0/dbhome_1/dbs
[oracle@sink dbs]$ ls
afiedt.buf hc_test.dat initsink.ora lkSINK orapwsink snapcf_sink.f
hc_sink.dat init.ora inittest.ora lkTEST orapwtest spfilesink.ora
[oracle@sink dbs]$ vim initsink.ora
[oracle@sink dbs]$ cat initsink.ora
spfile=+DATA/spfilesink.ora
[oracle@sink dbs]$
再次进入SQL环境,启动到nomount,设置spfile路径指向,并查看相关参数是否操作生效!成功了!
[oracle@sink dbs]$ !sql
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 6 16:30:19 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and RealApplication Testing options
16:30:19 SYS @ sink >startup force nomount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 553651280 bytes
DatabaseBuffers 276824064 bytes
Redo Buffers 2371584 bytes
16:30:38 SYS @ sink >alter system set db_create_file_dest=+DATA;
System altered.
Elapsed: 00:00:00.01
16:31:23 SYS @ sink >show parameter create;
NAME TYPEVALUE
------------------------------------ ----------- ------------------------------
create_bitmap_area_size integer8388608
create_stored_outlines string
db_create_file_dest string +DATA
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
16:31:33 SYS @ sink >
自上一步之后,查看数据库启动状态,然后satrtup force,将他启动到opened状态
16:31:33 SYS @ sink >select status fromv$instance;
STATUS
------------
STARTED
1 row selected.
Elapsed: 00:00:00.00
16:35:24 SYS @ sink >alter database open;
alter database open
*
ERROR at line 1:
ORA-01507: database not mounted
Elapsed: 00:00:00.00
16:35:39 SYS @ sink >startup force;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 553651280 bytes
Database Buffers 276824064 bytes
Redo Buffers 2371584 bytes
Database mounted.
Database opened.
16:36:24 SYS @ sink >
oracle启动到某一状态的时候 之后启动的情况 satrtup nomountalter database mount alter database open startup mount alter database open -------------------------- startup (open) ---------------------------- -------------------------- oracle启动到某一状态之后,只能一步一步的启动,直至open状态,不能越级实行后续启动这里查询一下数据文件的file#和name,方便之后的数据文件迁移
SYS @ sink >r
1* select file#,name from v$datafile
FILE# NAME
---------- -------------------------------------------------------
1 /u01/app/oracle/oradata/sink/system01.dbf
2 /u01/app/oracle/oradata/sink/sysaux01.dbf
3 /u01/app/oracle/oradata/sink/undotbs01.dbf
4 /u01/app/oracle/oradata/sink/users01.dbf
5 /u01/app/oracle/oradata/sink/example01.dbf
6 +DATA/sink/datafile/tbssss.256.963504823
6 rowsselected.
Elapsed: 00:00:00.01
转储控制文件失败,看错误信息提示:意思是在数据库是mount或者open执行这条语句没有使用TO语句,
RMAN>restore controlfilefrom /u01/app/oracle/oradata/sink/control01.ctl;
Starting restore at 06-JAN-18
using target databasecontrolfile instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=42 device type=DISK
RMAN-00571: ===========================================================
RMAN-00569: ===============ERROR MESSAGE STACK FOLLOWS===============
RMAN-00571: ===========================================================
RMAN-03002: failure of restore command at 01/06/2018 16:45:57
RMAN-06496: must use the TOclause when thedatabase is mounted or open
这次加了to语句还是不行,后来纠结了一阵子,发现转储控制文件发现必须要oralce处于nomount状态
RMAN>restore controlfilefrom /u01/app/oracle/oradata/sink/control01.ctl to +data/;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-00558:error encountered while parsinginput commands
RMAN-01009: syntax error: found "to": expecting one of: "archivelog, channel, check, controlfile, database, datafile, device, force, from, high, preview, primary, skip readonly, spfile, standby, tablespace, to restore point, until restore point, until, validate, (, ;"
RMAN-01007:at line 1column 71 file: standard input
找到头绪之后,将数据库启动到nomount状态
[oracle@sink dbs]$ !sql
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 6 16:48:57 2018
Copyright (c) 1982, 2013, Oracle. Allrights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
Withthe Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
16:48:57 SYS @sink>select status from v$instance;
STATUS
------------
OPEN
1 row selected.
Elapsed: 00:00:00.01
16:49:10 SYS @sink>startup nomount;
ORA-01081: cannot start already-running ORACLE - shut it down first
16:49:17 SYS @ sink >startup force nomount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size2257840 bytes
Variable Size 553651280 bytes
Database Buffers 276824064 bytes
Redo Buffers 2371584 bytes
16:49:33 SYS @ sink >select status from v$instance;
STATUS
------------
STARTED
1 row selected.
Elapsed: 00:00:00.01
16:49:57 SYS @ sink >
好了,经过一翻纠结,终于成功了,控制文件转储成功!
RMAN> restore controlfile from /u01/app/oracle/oradata/sink/control01.ctl;
Starting restore at 06-JAN-18
using target database control file instead ofrecovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=23 device type=DISK
channel ORA_DISK_1:copied controlfile copy
output file name=+DATA/sink/controlfile/current.266.964717197
output file name=+DATA/sink/controlfile/current.267.964717197
Finished restore at 06-JAN-18
RMAN>
查看控制文件迁移后的效果
ASMCMD> pwd
+data/sink/controlfile
ASMCMD> ls
Backup.262.964712653
current.266.964717197
current.267.964717197
在RMAN环境中将数据库切到mount状态,switch...修改控制文件用datafile copy做当前DB的datafile使用
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN> switch database to copy;
using target database control file instead of recovery catalog
datafile 1 switchedto datafile copy "+DATA/sink/datafile/system.258.964712643"
datafile 2 switched to datafile copy "+DATA/sink/datafile/sysaux.257.964712643"
datafile 3 switched to datafile copy "+DATA/sink/datafile/undotbs1.261.964712645"
datafile 4 switched to datafile copy "+DATA/sink/datafile/users.263.964712657"
datafile 5 switchedto datafile copy "+DATA/sink/datafile/example.260.964712643"
datafile 6 switched todatafilecopy "+DATA/sink/datafile/tbssss.259.964712643"
直接exit退出rman环境,然后直接!sql进入SQL环境,注意数据库状态仍然为mount,查看dataifle的路径
RMAN> exit
Recovery Manager complete.
[oracle@sink dbs]$ !sql
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 6 17:42:31 2018
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
17:42:41 SYS @ sink >col name fora55
17:42:57 SYS @ sink >r
1* select name from v$datafile
NAME
-------------------------------------------------------
+DATA/sink/datafile/system.258.964712643
+DATA/sink/datafile/sysaux.257.964712643
+DATA/sink/datafile/undotbs1.261.964712645
+DATA/sink/datafile/users.263.964712657
+DATA/sink/datafile/example.260.964712643
+DATA/sink/datafile/tbssss.259.964712643
6 rows selected.
Elapsed: 00:00:00.01
17:42:58 SYS @ sink >
recover databse(应用 )开多个channel加快recover速度,生产DB很大,恢复时间很长,这是不错的办法
RMAN> run{
2> allocate channel dev1 device type disk;
3> allocate channel dev2 device type disk;
4> allocate channel dev3 device type disk;
5>allocate channel dev4 devicetype disk;
6> recover database;
7> }
released channel: ORA_DISK_1
allocated channel: dev1
channel dev1: SID=25 device type=DISK
allocated channel: dev2
channel dev2: SID=26 device type=DISK
allocated channel: dev3
channel dev3: SID=27 device type=DISK
allocated channel: dev4
channel dev4: SID=28 device type=DISK
Starting recover at 06-JAN-18
starting media recovery
media recovery complete, elapsed time: 00:00:00
Finishedrecover at 06-JAN-18
released channel: dev1
released channel: dev2
released channel: dev3
released channel: dev4
RMAN>
exit,进入sql环境,打开到open,看临时文件name,临时表空间name,
RMAN> exit
Recovery Manager complete.
[oracle@sink dbs]$ !sql
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 6 17:57:16 2018
Copyright(c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
17:59:16 SYS @ sink >alter database open;
Database altered.
Elapsed: 00:00:02.44
17:59:50 SYS @ sink >select name from v$tempfile;
NAME
-------------------------------------------------------
/u01/app/oracle/oradata/sink/temp01.dbf
1 row selected.
Elapsed: 00:00:00.02
18:00:05 SYS @ sink>select tablespace_name,contents from dba_tablespaces;
TABLESPACE_NAME CONTENTS
------------------------------ ---------
SYSTEM PERMANENT
SYSAUX PERMANENT
UNDOTBS1 UNDO
TEMP TEMPORARY
USERS PERMANENT
EXAMPLE PERMANENT
TBSSSS PERMANENT
7 rows selected.
Elapsed: 00:00:00.01
把临时表空间temp里面的临时文件temp01.dbf加入到ASM中的+date目录下
18:00:24 SYS @ sink >alter tablespace temp add tempfile +data;
Tablespace altered.
Elapsed: 00:00:00.11
18:01:27 SYS @ sink >select name from v$tempfile;
NAME
-------------------------------------------------------
/u01/app/oracle/oradata/sink/temp01.dbf
+DATA/sink/tempfile/temp.268.964720887
2 rows selected.
Elapsed: 00:00:00.01
因为只有一个临时表空间的一个临时文件所以无法删除,多个就能成功,一直到最后一个就不能这样删除了
18:12:22 SYS @ sink >alter tablespace temp drop tempfile /u01/app/oracle/oradata/sink/temp01.dbf;
Tablespace altered.
Elapsed: 00:00:00.12
18:13:35 SYS @ sink >select name from v$tempfile;
NAME
-------------------------------------------------------
/u01/app/oracle/oradata/sink/temp01.dbf
+DATA/sink/tempfile/temp.268.964720887
2 rowsselected.
Elapsed: 00:00:00.01
上一步中DB处于open,以上操作将临时文件删至1个的时候,就不能继续删除,得将DB置于mount状态才行
18:14:03 SYS @ sink >shutdownimmediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
18:19:51 SYS @ sink >startupmount;
ORACLE instance started.
Total System Global Area 835104768 bytes
Fixed Size 2257840 bytes
Variable Size 553651280 bytes
Database Buffers 276824064 bytes
Redo Buffers 2371584 bytes
Database mounted.
18:20:08 SYS @ sink >alter database drop tempfile /u01/app/oracle/oradata/sink/temp01.dbf;
alter database drop tempfile /u01/app/oracle/oradata/sink/temp01.dbf
*
ERROR at line 1:
ORA-01900:LOGFILE keyword expected
Elapsed: 00:00:00.00
18:21:45 SYS @ sink >edit
Wrote file afiedt.buf
1* alter database tempfile /u01/app/oracle/oradata/sink/temp01.dbf drop
18:22:16 SYS @ sink >r
1* alter database tempfile /u01/app/oracle/oradata/sink/temp01.dbf drop
Database altered.
Elapsed: 00:00:00.03
18:22:17 SYS @ sink >alter database open;
Databasealtered.
Elapsed: 00:00:02.34
18:23:19 SYS @ sink >col tablespace_name for a10
18:23:38 SYS @ sink >col file_name fora55
18:23:54 SYS @ sink >r
1* select tablespace_name,file_name from dba_temp_files
TABLESPACE FILE_NAME
---------- -------------------------------------------------------
TEMP +DATA/sink/tempfile/temp.268.964720887
1 row selected.
Elapsed: 00:00:00.00
迁移日志文件到ASM,具体细节就不多做解释了,整了这么久,累,去吃饭去了
18:23:55 SYS @ sink >select group#,status,sequence#,bytes from v$log;
GROUP# STATUS SEQUENCE# BYTES
---------- ---------------- ---------- ----------
1 INACTIVE 16 52428800
2 CURRENT 17 52428800
3 INACTIVE 15 52428800
3 rows selected.
Elapsed: 00:00:00.01
18:29:19 SYS @ sink >col member for a55
18:29:37 SYS @ sink >select group#,member from v$logfile;
GROUP# MEMBER
---------- -------------------------------------------------------
3 /u01/app/oracle/oradata/sink/redo03.log
2 /u01/app/oracle/oradata/sink/redo02.log
1 /u01/app/oracle/oradata/sink/redo01.log
3 rows selected.
Elapsed: 00:00:00.01
18:29:57 SYS @ sink >alter database add logfile +data size50m;
Database altered.
Elapsed: 00:00:01.41
18:30:32 SYS @ sink >alter database add logfile +data size 50m;
Database altered.
Elapsed: 00:00:00.62
18:30:54 SYS @ sink >select group#,member from v$logfile;
GROUP# MEMBER
---------- -------------------------------------------------------
3 /u01/app/oracle/oradata/sink/redo03.log
2 /u01/app/oracle/oradata/sink/redo02.log
1 /u01/app/oracle/oradata/sink/redo01.log
4 +DATA/sink/onlinelog/group_4.269.964722631
5 +DATA/sink/onlinelog/group_5.270.964722653
5 rows selected.
Elapsed: 00:00:00.00
18:31:13 SYS @ sink >select group#,status,sequence#,bytes from v$log;
GROUP# STATUS SEQUENCE# BYTES
---------- ---------------- ---------- ----------
1 INACTIVE 16 52428800
2 CURRENT 17 52428800
3 INACTIVE 15 52428800
4 UNUSED 0 52428800
5 UNUSED 0 52428800
5 rows selected.
Elapsed: 00:00:00.02
18:33:37 SYS @ sink >alter database drop logfile group 1;
Database altered.
Elapsed: 00:00:00.01
18:35:03 SYS@ sink >alter database drop logfile group 3;
Database altered.
Elapsed: 00:00:00.01
18:35:20 SYS @ sink >select group#,status,sequence#,bytes from v$log;
GROUP# STATUS SEQUENCE# BYTES
---------- ---------------- ---------- ----------
2 CURRENT 17 52428800
4 UNUSED 0 52428800
5 UNUSED 0 52428800
3 rows selected.
Elapsed:00:00:00.00
18:35:56 SYS @ sink >alter system switch logfile;
System altered.
Elapsed: 00:00:00.01
18:36:31 SYS@ sink >r
1* alter system switch logfile
System altered.
Elapsed: 00:00:00.01
18:36:37 SYS @ sink >select group#,status,sequence#,bytes from v$log;
GROUP# STATUS SEQUENCE# BYTES
---------- ---------------- ---------- ----------
2 ACTIVE 17 52428800
4 ACTIVE 18 52428800
5 CURRENT19 52428800
3 rows selected.
Elapsed: 00:00:00.01
18:37:00 SYS @ sink >alter system checkpoint;
System altered.
Elapsed: 00:00:00.01
18:37:35 SYS @ sink >select group#,status,sequence#,bytes from v$log;
GROUP# STATUS SEQUENCE# BYTES
---------- ---------------- ---------- ----------
2 INACTIVE 17 52428800
4 INACTIVE 18 52428800
5 CURRENT 19 52428800
3 rows selected.
Elapsed: 00:00:00.01
18:38:02 SYS @ sink >alter database drop logfile group 2;
Database altered.
Elapsed: 00:00:00.02
18:38:54 SYS @ sink >select group#,status,sequence#,bytes from v$log;
GROUP# STATUS SEQUENCE# BYTES
---------- ---------------- ---------- ----------
4 INACTIVE 18 52428800
5 CURRENT 19 52428800
2 rows selected.
Elapsed: 00:00:00.00
18:39:30 SYS@ sink >select group#,member from v$logfile;
GROUP# MEMBER
---------- -------------------------------------------------------
4 +DATA/sink/onlinelog/group_4.269.964722631
5 +DATA/sink/onlinelog/group_5.270.964722653
2 rows selected.
Elapsed: 00:00:00.00
18:40:00 SYS @ sink >alter database add logfile +data size 50m;
Database altered.
Elapsed: 00:00:00.32
18:40:36 SYS @ sink >select group#,member from v$logfile;
GROUP# MEMBER
---------- -------------------------------------------------------
1 +DATA/sink/onlinelog/group_1.271.964723237
4 +DATA/sink/onlinelog/group_4.269.964722631
5 +DATA/sink/onlinelog/group_5.270.964722653
3 rows selected.
Elapsed: 00:00:00.00
好了,所有成果的效果,数据迁移完成(参数文件,控制文件,数据文件,日志文件)
18:41:47 SYS @ sink >select name from v$datafile
18:41:59 2 union all
18:42:03 3 select name from v$controlfile
18:42:18 4 union all
18:42:21 5 select member name from v$logfile;
NAME
-------------------------------------------------------
+DATA/sink/datafile/system.258.964712643
+DATA/sink/datafile/sysaux.257.964712643
+DATA/sink/datafile/undotbs1.261.964712645
+DATA/sink/datafile/users.263.964712657
+DATA/sink/datafile/example.260.964712643
+DATA/sink/datafile/tbssss.259.964712643
+DATA/sink/controlfile/current.266.964717197
+DATA/sink/controlfile/current.267.964717197
+DATA/sink/onlinelog/group_1.271.964723237
+DATA/sink/onlinelog/group_4.269.964722631
+DATA/sink/onlinelog/group_5.270.964722653
11 rows selected.
Elapsed: 00:00:00.01
18:42:35 SYS @ sink >
这里就是迁移到ASM的效果了
ASMCMD> pwd
+data/sink/datafile
ASMCMD> ls
EXAMPLE.260.964712643
SYSAUX.257.964712643
SYSTEM.258.964712643
TBSSSS.256.963504823
TBSSSS.259.964712643
UNDOTBS1.261.964712645
USERS.263.964712657
ASMCMD> cd ../controlfile
ASMCMD> pwd
+data/sink/controlfile
ASMCMD> ls
Backup.262.964712653
current.266.964717197
current.267.964717197
ASMCMD> cd ../onlinelog
ASMCMD> pwd
+data/sink/onlinelog
ASMCMD> ls
group_1.271.964723237
group_4.269.964722631
group_5.270.964722653
ASMCMD>
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~