怎么做一直弹窗口网站,广州软件合作中心,怎么做网站表格,wordpress建手机网站吗Oracle 更改数据文件位置的几种常用方式
A.归档模式下 1、offline 表空间#xff1a;alter tablespace tablespace_name offline#xff1b; 2、复制数据文件到新的目录#xff1b; 3、rename 修改表空间#xff0c;并修改控制文件#xff1b; 4、online 表空间#xf…Oracle 更改数据文件位置的几种常用方式
A.归档模式下 1、offline 表空间alter tablespace tablespace_name offline 2、复制数据文件到新的目录 3、rename 修改表空间并修改控制文件 4、online 表空间
注意系统表空间只有 SYSAUX 可以采用该方式修改存储位置。
1、offline 表空间 TBS_NAME SQL select name from vdatafile; SQL alter tablespace TBS_NAME offline;
2、复制数据文件到新的目录
3、rename修改表空间数据文件为新的位置并修改控制文件 SQL alter tablespace TBS_NAME rename datafile /XXX.dbf to /XXX.dbf;
4、online表空间 SQL alter tablespace TBS_NAME online; SQL select name from vdatafile; SQL select file_name,tablespace_name from dba_data_files where tablespace_nameTBS_NAME;
修改系统表空间 SYSTEM 与 UNDO 表空间位置 shutdown immediate startup mount 移动系统表空间(SYSTEM表空间)的数据文件到新的位置然后修改表空间 SYSTEM、UNDO 数据文件路径 alter database rename file C:\APP\DB_DATA\ORCL\SYSTEM01.DBF to C:\APP\DB_DATA\UTBS\SYSTEM01.DBF; alter database rename file C:\APP\DB_DATA\ORCL\UNDOTBS01.DBF to C:\APP\DB_DATA\UTBS\UNDOTBS01.DBF; alter database open;
B.非归档模式 1、关闭数据库 2、复制数据文件到新的位置 3、启动数据库到mount状态 4、通过SQL修改数据文件位置 5、打开数据库
1、关闭数据库 SQL select name from vdatafile; SQL shutdown immediate;
2、复制数据文件到新的位置
3、启动数据库到mount状态 SQL startup mount
4、通过SQL修改数据文件位置 SQL alter database rename file /XXX.dbf to /XXX.dbf;
5、打开数据库 SQL alter database open; SQL select name from vdatafile; SQL select file_name,tablespace_name from dba_data_files where tablespace_nameTBS_NAME;
C.归档模式下通过RMAN的backup as copy来更改首选方式 1.offline datafile 2.backup as copy数据文件到指定路径 3.switch datafile to copy切换控制文件中数据文件路径 4.由于offline datafile不会做检查点所以在online之前需要recover datafile 5.online datafile
C1、利用rman copy改变数据文件的路径 SQL col file_name for a70 SQL select file_name,tablespace_name,autoextensible,bytes/1024/1024 mb from dba_data_files; 本实验目的是将 /u01/test01.dbf文件的修改为 /u01/app/oracle/oradata/orcl/test01.dbf 关闭数据库再启动到mount状态 SQL shutdown immediate SQL startup mount;
$ rman target / RMAN copy datafile /u01/test.dbf to /u01/app/oracle/oradata/orcl/test01.dbf; RMAN switch datafile /u01/test.dbf to copy;
再打开数据库查看路径已经该变 SQL alter database open; SQL col file_name for a70 SQL select file_name,tablespace_name,autoextensible,bytes/1024/1024 mb from dba_data_files;
C2、使用rman copy进行数据文件copy(不需要停机) 建议此步骤在业务空闲期间做,这样在copy期间产生的归档日志较少,最后切换数据文件的时候需要应用的日志较少,停机时间较短 使用rman进行copy,可以根据实际情况开多个通道加快copy速度. run{ allocate channel ch1 device type disk; allocate channel ch2 device type disk; allocate channel ch3 device type disk; allocate channel ch4 device type disk; backup as copy database format /u01/app/oradata/%b; }
停止数据库,修改参数文件,拷贝控制文件,恢复数据库(需要停机) 1.修改参数文件 SQL alter system set control_files/u01/app/oradata/control01.ctl,/u01/app/oradata/control02.ctl scopespfile; 2.停止数据库,拷贝控制文件 注意这里拷贝的文件名需要和上面参数文件中指定的一致 SQL shutdown immediate $ cp /u01/app/oracle/oradata/ORCL/control01.ctl /u01/app/oradata/control01.ctl $ cp /u01/app/oracle/oradata/ORCL/control02.ctl /u01/app/oradata/control02.ctl
3.使用rman恢复数据库 $ rman target / RMANstartup mount; RMANswitch database to copy; RMANrecover database; RMANalter database open;
到此,数据库迁移完成检查所有的文件目录 SQL select file_name from dba_data_files; SQL select file_name from dba_temp_files; SQL select member from v$logfile; SQL show parameter control
到这一步会发现临时文件和redo日志文件还存放在之前的目录里面 首先需要切换临时表空间数据文件目录步骤如下 先给临时表空间添加临时文件,再删除原来的临时文件: alter tablespace TEMP add tempfile /u01/app/oradata/temp01.dbf size 100m autoextend on; alter database tempfile /u01/app/oracle/oradata/ORCL/temp01.dbf drop; 检查临时文件是否到了新的目录中: SQL select file_name from dba_temp_files;
修改redo日志文件路径位置 创建过渡 redo 组并存放至新的位置 select group#,bytes/1024/1024,status from v$log; alter database add logfile group 4 /u01/app/oradata/redo04.log size 200M; alter database add logfile group 5 /u01/app/oradata/redo05.log size 200M; alter database add logfile group 6 /u01/app/oradata/redo06.log size 200M;
切换到过渡redo alter system switch logfile; alter system archive log current; alter system checkpoint;
查看是否切换到过渡的redo select group#,bytes/1024/1024,status from v$log;
删除之前位置的日志组 alter database drop logfile group 1; alter database drop logfile group 2; alter database drop logfile group 3;
通过操作系统删除老的redo01.log、redo02.log、redo03.log rm -rf redo01.log、redo02.log、redo03.log 到此所有数据文件、临时文件、日志组文件全部更换至新位置更新位置完成后验证数据库是否正常即可。
附上截取数据文件目录、数据文件名称的SQL语句如下 select substr(file_name, 1, instr(file_name, \, -1)) from dba_data_files; SELECT SUBSTR(file_name, INSTR(file_name, \, -1) 1) FROM dba_data_files;