迁移数据库的相关文件到存储中(目录不相同)
来源:互联网 发布:淘宝删除差评的链接 编辑:程序博客网 时间:2024/06/10 20:15
迁移所有数据文件、日志文件、控制文件到新的存储(不同目录)
将控制文件、数据文件、日志文件迁移到新的存储上
一、安装11g数据库,添加一块磁盘,作为新的存储。
添加一块8g磁盘
[root@super ~]# fdisk /dev/sdb
[root@super ~]# mkfs.ext4 /dev/sdb1
[root@super ~]# mkdir /data -p
[root@super ~]# chown oracle:oinstall /data-R
[root@super ~]# chmod 775 /data -R
[root@super ~]# mount /dev/sdb1 /data
[root@super ~]# df -h
修改/etc/fstab 添加挂载点。
以上操作模拟添加一块存储,并挂载到目录上
二、移动控制文件
1)查看当前控制文件
NAME TYPE VALUE
--------------- ----------- ------------------------------
control_files string /oradata/orcl/control01.ctl, /
oradata/orcl/control02.ctl, /o
radata/orcl/control03.ctl
控制文件有三份,放在/oradata下
2)修改control_files参数,关闭数据库。
SQL>alter system set control_files='/data/orcl/control01.ctl','/data/orcl/control02.ctl','/data/orcl/control03.ctl' scope=spfile;
3) 使用操作系统命令移动控制文件,打开数据库查看参数。
[oracle@super orcl]$ cp /oradata/orcl/*.ctl /data/orcl/ -p
三、移动数据文件
1) 查看数据文件和临时文件。
SQL> col file_name for a30
SQL> selecttablespace_name,file_id,file_name from dba_data_files;
TABLESPACE_NAME FILE_ID FILE_NAME
------------------------------ ----------------------------------------
USERS 4/oradata/orcl/users01.dbf
UNDOTBS1 3/oradata/orcl/undotbs01.dbf
SYSAUX 2/oradata/orcl/sysaux01.dbf
SYSTEM 1 /oradata/orcl/system01.dbf
2)移动systems表空间对应的数据文件
关闭数据库
SQL> shutdown immediate;
操作系统cp到指定位置
[oracle@super orcl]$ cp /oradata/orcl/system01.dbf /data/orcl/
启动到mount
SQL> startup mount;
更改数据文件在控制文件的记录
SQL> alter database rename file '/oradata/orcl/system01.dbf' to'/data/orcl/system01.dbf';
打开数据库
SQL> alter database open;
查看结果
SQL> select file_id,file_name fromdba_data_files where tablespace_name='SYSTEM';
FILE_ID FILE_NAME
---------- --------------------
1 /data/orcl/system01.
dbf
3)移动sysaux、users表空间对应数据文件
将sysaux对应的2号数据文件offline
SQL> alter database datafile 2 offline;
使用操作系统cp到相应位置
[oracle@super ~]$ cp /oradata/orcl/sysaux01.dbf /data/orcl/
更改控制文件的内容
SQL>alter database rename file '/oradata/orcl/sysaux01.dbf' to '/adata/orcl/sysaux01.dbf';
修复datafile 2;
SQL> recover datafile 2;
使2号文件online
SQL> alter database datafile 2 online;
Users等其他非undo或temp文件都用此方法实现。
4)移动undo表空间数据文件
创建新的undo表空间
SQL> create UNDO tablespace undotbs2datafile '/data/orcl/undotbs02.dbf' size50m autoextend on;
切换使用新建undo表空间
SQL> alter system set undo_tablespace=undotbs2;
删除旧的undo,如果状态是offline就drop
SQL> select tablespace_name , status ,count(*) from dba_rollback_segs group by tablespace_name , status;
TABLESPACE_NAME STATUS COUNT(*)
---------------------------------------------- ----------
UNDOTBS1 OFFLINE 10
SYSTEM ONLINE 1
UNDOTBS2 ONLINE 10
SQL> drop tablespace UNDOTBS1 includingcontents and datafiles;
5)移动临时表空间数据文件
SQL> selectfile_name,file_id,tablespace_name, (bytes)/1024/1024 MB ,autoextensible fromdba_temp_files;
FILE_NAME FILE_ID TABLESPACE_NAME MB AUT
-------------------- ------- ----------------- -------- ---
/oradata/orcl/temp01.dbf 1 TEMP 29 YES
创建新的临时表空间
SQL> CREATE TEMPORARY TABLESPACE temp01
2 TEMPFILE'/data/orcl/temp01.dbf' size 29m autoextend on ;
更改默认临时表空间
SQL> ALTER DATABASE DEFAULT TEMPORARYTABLESPACE temp01;
四、移动日志文件
查看当前日志
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/oradata/orcl/redo03.log
/oradata/orcl/redo02.log
/oradata/orcl/redo01.log
添加一组日志
alter database add logfile group 4('/data/orcl/redo04.log') size 50m;
观察日志状态,归档状态
SQL> select group#,bytes/1024/1024mb,status,archived from v$log;
GROUP# MB STATUS ARC
---------- ---------- ---------------- ---
1 50 INACTIVE YES
2 50 CURRENT NO
3 50 INACTIVE YES
4 50 UNUSED YES
第一组和第三组状态不是current和active且已经归档,删掉这两组日志
SQL> alter database drop logfile group1;
SQL> alter database drop logfile group 3;
在新位置添加日志
alter database add logfile group 1('/data/orcl/redo01.log') size 50m;
alter database add logfile group 3('/data/orcl/redo03.log') size 50m;
切换日志
SQL> alter system switch logfile;
使得日志归档
SQL> alter system checkpoint;
查看日志组状态,此时第2组第四组可以删除
SQL> alter database drop logfile group 2;
SQL> alter database drop logfile group 4;
添加第二组日志
alter database add logfile group 2('/data/orcl/redo02.log') size 50m;
- 迁移数据库的相关文件到存储中(目录不相同)
- 迁移本地数据文件、控制文件、日志文件到新的存储(挂载点目录与本地目录相同)
- 怎样复制 A目录中与B目录下文件名相同的文件到新目录?
- 单链表-----将Ha中所有值不相同的结点存储到Hb中
- 文件存储到数据库中
- 迁移数据库的文件到不同路径
- 迁移数据库的文件到不同路径
- SQLServer存储过程迁移到DB2的相关问题整理
- mk拷贝后缀相同的文件到指定目录命令
- 将文件存储到数据库中(MySQL)
- 左.右连接相关 , 将table1中数据导入到table2中(表结构不相同)
- 【python处理】把数据库中model_id相同的语音文件移动到名字为model_id的文件中
- Oracle中存储过程迁移到Mysql的问题集锦
- 提取数据库中某一列不相同的值
- 数据库迁移(二):存储过程迁移
- RedHat7.0下MySQL5.6.24数据库的安装以及数据库存储目录迁移
- 单实例文件管理的数据库迁移到RAC+ASM
- 将一个指定目录下的java文件的绝对路径,存储到一个文本中
- H5新标签 sessionStorage 以及trigger 标签
- c++实验4-百钱百鸡问题
- Maven学习总结(二)——Maven项目构建过程练习
- 文本内容溢出显示省略号,鼠标移上去会显示全部内容
- Win32 GetKeyState和getasynckeystate
- 迁移数据库的相关文件到存储中(目录不相同)
- JS冒泡事件
- 《剑指offer》java实现 输入n个数,找到其中最小的K个数
- C/C++复习:字符串的逆序输出(结合字符串的长度)
- File java的文件重命名
- uva1121 Subsequence(入门级)
- hdu5045
- int转string
- Unity3D学习笔记(9)—— 粒子光环