Oracle数据库文件路径变更

环境:RHEL 6.4 + Oracle 11.2.0.3

情景一:只是部分普通数据文件迁移,可以在线操作。

1.将对应表空间offline,移动数据文件到新路径

2.数据文件alter database rename file ‘‘ to ‘‘;

3.再将表空间online

情景二:所有数据文件迁移。

本文是针对情景二的实验,需求:主机/oradata挂节点变更为/usr2.在/usr2建立oradata文件夹来存放之前/oradata的所有文件。

操作步骤:

1.查看当前数据库的数据文件,临时文件,日志文件,控制文件,参数文件等信息。

2.根据当前spfile创建pfile文件,正常关闭数据库,移动源数据库文件到新的存储路径。

3.修改数据库参数文件,更改控制文件路径为新的存储路径,用改好的pfile文件启动数据库到mount状态。

4.重定向数据库的所有数据文件、日志文件路径,然后正常打开数据库。

5.核查各文件路径没有问题,根据当前pfile创建spfile,重启数据库实例。

1.查看当前数据库的数据文件,临时文件,日志文件,控制文件,参数文件等信息。

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/oradata/sysdata/jingyu/system01.dbf
/oradata/sysdata/jingyu/sysaux01.dbf
/oradata/sysdata/jingyu/undotbs01.dbf
/oradata/sysdata/jingyu/users01.dbf

SQL> select name from v$tempfile; 

NAME
--------------------------------------------------------------------------------
/oradata/sysdata/jingyu/temp01.dbf

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/oradata/sysdata/jingyu/redo03.log
/oradata/sysdata/jingyu/redo02.log
/oradata/sysdata/jingyu/redo01.log

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/oradata/sysdata/jingyu/control01.ctl
/opt/app/oracle/fast_recovery_area/jingyu/control02.ctl

SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string      /opt/app/oracle/product/11.2.0
                                                 /dbhome_1/dbs/spfilejingyu.ora

2.根据当前spfile创建pfile文件,正常关闭数据库,移动源数据库文件到新的存储路径。

SQL> create pfile from spfile;

File created.
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

--移动源数据库文件到新的存储路径:
a.建立/usr2。
b./etc/fstab配置,更改/oradata为/usr2。
c.mount /usr2
d./usr2下建立oradata文件夹。
e./usr2下文件移动到/usr2/oradata下。
f.处理相关目录权限。
g.umount -l /oradata

3.修改数据库参数文件,更改控制文件路径为新的存储路径,用改好的pfile文件启动数据库到mount状态。

[[email protected] /]$ cd $ORACLE_HOME/dbs
[[email protected] dbs]$ more initjingyu.ora
jingyu.__db_cache_size=6677331968
jingyu.__java_pool_size=33554432
jingyu.__large_pool_size=33554432
jingyu.__oracle_base=‘/opt/app/oracle‘#ORACLE_BASE set from environment
jingyu.__pga_aggregate_target=5402263552
jingyu.__sga_target=8086618112
jingyu.__shared_io_pool_size=0
jingyu.__shared_pool_size=1275068416
jingyu.__streams_pool_size=0
*.audit_file_dest=‘/opt/app/oracle/admin/jingyu/adump‘
*.audit_trail=‘db‘
*.compatible=‘11.2.0.0.0‘
*.control_files=‘/oradata/sysdata/jingyu/control01.ctl‘,‘/opt/app/oracle/fast_recovery_area/jingyu/control02.ctl‘
*.db_block_size=8192
*.db_domain=‘‘
*.db_name=‘jingyu‘
*.db_recovery_file_dest=‘/opt/app/oracle/fast_recovery_area‘
*.db_recovery_file_dest_size=10737418240
*.diagnostic_dest=‘/opt/app/oracle‘
*.dispatchers=‘(PROTOCOL=TCP) (SERVICE=jingyuXDB)‘
*.memory_target=13459521536
*.open_cursors=1000
*.processes=1500
*.remote_login_passwordfile=‘EXCLUSIVE‘
*.sessions=1655
*.undo_tablespace=‘UNDOTBS1‘

SQL> startup pfile=‘$ORACLE_HOME/dbs/initjingyu.ora‘ nomount
ORACLE instance started.

Total System Global Area 1.3429E+10 bytes
Fixed Size                  2241064 bytes
Variable Size            6744444376 bytes
Database Buffers         6677331968 bytes
Redo Buffers                4636672 bytes
SQL> alter database mount;

Database altered.

4.重定向数据库的所有数据文件、日志文件路径,然后正常打开数据库。

SQL> alter database rename file ‘/oradata/sysdata/jingyu/system01.dbf‘ to ‘/usr2/oradata/sysdata/jingyu/system01.dbf‘;

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/sysaux01.dbf‘ to ‘/usr2/oradata/sysdata/jingyu/sysaux01.dbf‘;

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/undotbs01.dbf‘ to ‘/usr2/oradata/sysdata/jingyu/undotbs01.dbf‘;   

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/temp01.dbf‘ to ‘/usr2/oradata/sysdata/jingyu/temp01.dbf‘;

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/users01.dbf‘ to ‘/usr2/oradata/sysdata/jingyu/users01.dbf‘;

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/redo01.log‘ to ‘/usr2/oradata/sysdata/jingyu/redo01.log‘;

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/redo02.log‘ to ‘/usr2/oradata/sysdata/jingyu/redo02.log‘;

Database altered.

SQL> alter database rename file ‘/oradata/sysdata/jingyu/redo03.log‘ to ‘/usr2/oradata/sysdata/jingyu/redo03.log‘;

Database altered.

SQL> alter database open;

Database altered.

5.核查各文件路径没有问题,根据当前pfile创建spfile,重启数据库实例。

SQL> select name from v$datafile;

NAME
--------------------------------------------------------------------------------
/usr2/oradata/sysdata/jingyu/system01.dbf
/usr2/oradata/sysdata/jingyu/sysaux01.dbf
/usr2/oradata/sysdata/jingyu/undotbs01.dbf
/usr2/oradata/sysdata/jingyu/users01.dbf

SQL> select name from v$tempfile; 

NAME
--------------------------------------------------------------------------------
/usr2/oradata/sysdata/jingyu/temp01.dbf

SQL> select member from v$logfile;

MEMBER
--------------------------------------------------------------------------------
/usr2/oradata/sysdata/jingyu/redo03.log
/usr2/oradata/sysdata/jingyu/redo02.log
/usr2/oradata/sysdata/jingyu/redo01.log

SQL> select name from v$controlfile;

NAME
--------------------------------------------------------------------------------
/usr2/oradata/sysdata/jingyu/control01.ctl
/opt/app/oracle/fast_recovery_area/jingyu/control02.ctl

SQL> show parameter pfile

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
spfile                               string
SQL> create spfile from pfile;

File created.

SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.

SQL> startup
ORACLE instance started.

Total System Global Area 1.3429E+10 bytes
Fixed Size                  2241064 bytes
Variable Size            6744444376 bytes
Database Buffers         6677331968 bytes
Redo Buffers                4636672 bytes
Database mounted.
Database opened.
时间: 2024-10-13 07:22:49

Oracle数据库文件路径变更的相关文章

案例:Oracle数据库文件删除 extundelete工具挖掘恢复删除的数据库文件

Oracle数据库文件被删除,通过extundelete恢复Linux被删除数据文件 今天群中有个朋友的客户闲着没事rm掉了数据文件,然后讨论到使用extundelete进行了恢复,抢救了部分未被覆盖的数据文件.该软件官方地址:http://extundelete.sourceforge.net/ 1.安装extundelete工具 [[email protected] tmp]# bunzip2 extundelete-0.2.0.tar.bz2 [[email protected] tmp]

Mysql数据库文件路径重置

今天突然发现服务器的系统盘存储空间几乎所剩无几,这台服务器上只有mysql数据库在用系统盘.因为当初安装mysql时采用的是mysql安装软件的默认位置.随着时间变化数据库的data files及log files都再不断的增长,故想将mysql库数据文件路径改为非系统盘.于是从网上找了相关的资料研究了一下,发现mysql在programdata文件夹的my.ini文件中有项如下参数: # Path to the database rootdatadir=C:/ProgramData/MySQL

如何使用impdp导入oracle数据库文件

1.首先,安装好oracle数据库. 2.使用sqlplus进入sysdba权限,sqlplus "/as sysdba", 例如: 3.创建用户framework,例如: CREATE USER framework PROFILE DEFAULT IDENTIFIED BY framework DEFAULT TABLESPACE USERS TEMPORARY TABLESPACE temp ACCOUNT UNLOCK; GRANT UNLIMITED TABLESPACE TO

ORACLE数据库文件丢失后的恢复测试

一.测试环境 数据库版本是11GR2,在做完一份完全备份之后,关机,做一份快照,每一次开机之后都执行数次alter system switch logfile以产生归档日志. 之后的测试都是基于这么一个完全备份来恢复. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/backup/%F'; backup incremental level 0 format '/backup/%T_%f' database; 二.

迁移ORACLE数据库文件到ASM

迁移数据文件到ASM 数据库一致性情况下迁移:将数据库启动到mount状态,生成rman copy 语句,然后在rman中执行: SQL> startup mount SQL> select q'(copy datafile ')'||name||q'(' to '+oradata';)' from v$datafile; Q'(COPYDATAFILE')'||NAME||Q'('TO'+ORADATA';)' ----------------------------------------

sp 获取数据库文件路径,用于暴力迁移服务器

ALTER PROCEDURE [dbo].[usp_ShowAllFileName] AS BEGIN DECLARE @px INT = 0 DECLARE @dbname VARCHAR(30) DECLARE @sql VARCHAR(MAX) IF OBJECT_ID('tempdb..#dbs', 'U') IS NOT NULL DROP TABLE #dbs IF OBJECT_ID('tempdb..#tbfname', 'U') IS NOT NULL DROP TABLE

拷贝数据库文件到路径

NSFileManager *fileManager = [NSFileManager defaultManager]; NSError *error; //复制本地数据库文件到安装目录 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documentDirectory = [paths objectAtIndex:0]; //A

修改 MYSQL 数据库文件存储路径

1,默认安装文件路径 为 C:\Program Files\MySQL\MySQL Server 5.5 2,默认安装数据库文件路径为 C:\ProgramData\MySQL\MySQL Server 5.5\data 3,停止MYSQL服务 4,在 C:\Program Files\MySQL\MySQL Server 5.5 下找到my.ini ,然后再找到 #Path to the database rootdatadir="C:/ProgramData/MySQL/MySQL Serv

Oracle数据库的结构

Oracle数据库的体系结构包括四个方面:数据库的物理结构.逻辑结构.内存结构及进程. 1. 物理结构 物理数据库结构是由构成数据库的操作系统文件所决定,Oracle数据库文件包括: 数据文件(Data File) 数据文件用来存储数据库中的全部数据,例如数据库表中的数据和索引数据.通常以为*.dbf格式,例如:userCIMS.dbf . 日志文件(Redo Log File) 日志文件用于记录数据库所做的全部变更(如增加.删除.修改).以便在系统发生故障时,用它对数据库进行恢复.名字通常为L