1.移动控制文件
控制文件(Control Files)是 Oracle 数据库中至关重要的文件之一,它记录了数据库的结构和状态信息。控制文件具有以下作用:
1.标识数据库:控制文件指定了数据库的名称和标识,允许 Oracle 实例与正确的数据库连接。
2.确定数据文件和日志文件的位置:控制文件中包含了数据库中所有数据文件和日志文件的位置信息,包括数据文件的名称、路径和大小,以及日志文件的名称和路径。
3.记录数据库的结构信息:控制文件记录了数据库实例中的表空间、数据文件、日志文件、控制文件自身的信息等,以及这些文件的关系和状态。
4.恢复数据库:控制文件是数据库恢复的关键组成部分。在数据库损坏或崩溃时,通过控制文件中的信息,可以确定数据库的一致性,并进行恢复操作。
5.添加和删除数据文件和日志文件:通过修改控制文件,可以添加或删除数据库中的数据文件和日志文件。
1.1查看控制文件位置
SELECT * FROM V$CONTROLFILE;
1.2创建两个新的文件夹
//在自己记住的位置创建两个文件夹,我是在u01,和u02创建的
mkdir -p ./oradata/epps
1.3检查是否以spfile启动
show parameter spfile;
1.4修改控制文件位置
alter system set control_files=
'/u01/oradata/epps/control01.ctl',
'/u02/oradata/epps/control02.ctl'
scope=spfile;
1.5关闭数据库实例
shutdown immediate;
1.6移动控制文件
查询控制文件在1.1
mv /u01/app/oracle/oradata/orcl/control01.ctl /u01/oradata/epps
mv /u01/app/oracle/flash_recovery_area/orcl/control02.ctl /u02/oradata/epps
1.7启动数据库
startup
1.8查看控制文件是否移动
SELECT * FROM V$CONTROLFILE;
ok至此控制文件移动ok 能启动数据库,啥都能干就ojk
2.移动重做日志文件
重做日志文件(Redo Log Files)是 Oracle 数据库中用于记录事务操作的关键组件。它们用于确保数据库的一致性和持久性。
重做日志文件以循环方式组织成多个日志组(Log Group),每个日志组包含一个或多个成员(Member)。当执行数据更改操作(例如插入、更新或删除)时,这些操作将首先写入重做日志缓冲区,然后再由后台进程将其写入重做日志文件。
2.1查看日志文件位置
SELECT group#, member FROM v$logfile;
2.2关闭实例和数据库
shutdown immediate; //先关闭实例和数据库
2.3移动日志文件位置
这里是你前面查看有几个日志文件就弄几个不是非要弄三个,这里的文件夹是我移动控制文件的文件夹,也可以再建一个文件夹
mv /u01/app/oracle/oradata/orcl/redo01.log /u01/oradata/epps
mv /u01/app/oracle/oradata/orcl/redo02.log /u01/oradata/epps
mv /u01/app/oracle/oradata/orcl/redo03.log /u01/oradata/epps
2.4打开实例但是不打开数据库
startup mount //是一个 Oracle 数据库命令,用于启动 Oracle 实例,但不打开数据库,而是将数据库挂载(mount)到实例中,以便对数据库进行管理、维护和恢复操作。
2.5修改日志文件位置
这里是你前面查看有几个日志文件就弄几个不是非要弄三个,这里的文件夹是我移动控制文件的文件夹,也可以再建一个文件夹
alter database rename file '/u01/app/oracle/oradata/orcl/redo01.log' to '/u01/oradata/epps/redo01.log';
alter database rename file '/u01/app/oracle/oradata/orcl/redo02.log' to '/u01/oradata/epps/redo02.log';
alter database rename file '/u01/app/oracle/oradata/orcl/redo03.log' to '/u01/oradata/epps/redo03.log';
2.6查看修改后的位置
select member from v$logfile;
2.7切换日志文件
alter system switch logfile;
OK了重做日志文件结束
3.移动数据文件
数据文件(Data Files)是 Oracle 数据库中存储实际数据的物理文件。它们组成了数据库的核心部分,用于存储表、索引、视图和其他数据库对象的数据。
每个 Oracle 数据库都至少包含一个数据文件,但通常会有多个数据文件。数据文件的主要作用是持久地存储数据库中的数据,以便持久化地保存用户数据和数据库对象。
以下是一些关于数据文件的重要事项和特点:
1.文件扩展名:在 Oracle 数据库中,数据文件通常没有特定的文件扩展名。它们被命名为任意的文件名,并且数据库引擎可以识别它们。
2.文件大小:每个数据文件都有一个预定义的大小,表示其能够存储的数据量。文件的大小可以在创建数据文件时指定,并且可以随着时间的推移进行调整。
3.表空间:每个数据文件都属于一个特定的表空间(Tablespace)。表空间是逻辑上的一个容器,用于组织和管理数据库对象。一个表空间可以包含一个或多个数据文件。
4.自动扩展:数据文件可以进行自动扩展,以适应数据库中新数据的存储需求。自动扩展可以通过定义增量大小或百分比来进行配置。
5.备份和恢复:数据文件是数据库备份和恢复的关键组成部分。通过备份和恢复数据文件,可以保护数据库的完整性,并在数据丢失或损坏的情况下恢复数据。
6.文件状态:数据文件可能处于在线、离线或只读等不同的状态。在线状态表示文件可以读取和写入。离线状态表示文件不可用于读取和写入。只读状态表示文件只能用于读取,而不能进行写入操作。
7.数据文件的位置:数据文件通常存储在数据库服务器的文件系统中。其确切的位置可以在数据库创建时指定,也可以在数据库运行期间进行更改。
下面用example01.dbf表为例
3.1查询表空间和数据文件的位置
select tablespace_name from dba_tablespaces; //查询表空间
select name from v$datafile; //查询数据文件的位置
3.2表空间为离线状态
具体来说,命令 alter tablespace example offline normal
会将名为 example
的表空间切换为 “离线” 模式。在这种模式下,该表空间将不再对应用程序程序提供任何写入或读取访问权限,因此,对属于该表空间内的数据的修改和查询都将被阻止。
alter tablespace example offline normal;
3.3移动数据文件
mv /u01/app/oracle/oradata/orcl/example01.dbf /u01/oradata/epps/
3.4移动数据文件的位置
alter database rename file '/u01/app/oracle/oradata/orcl/example01.dbf' to'/u01/oradata/epps/example01.dbf';
3.5 表空间为在线状态
当您需要执行一些维护操作或管理任务时,您可以使用 alter tablespace example offline normal
命令离线表空间。在完成这些操作后,必须使用 alter tablespace example online
命令将表空间切换回 “在线” 状态,以确保应用程序可以访问其中的数据
alter tablespace example online;
3.6再次查询表空间位置
select name from v$datafile;
example01.dbf 移动成功