怎样更改oracle指定数据库文件位置

怎样更改oracle指定数据库文件位置,第1张

Oracle更改数据文件位置

方法一:offline表空间

1、offline表空间:alter tablespace tablespace_name offline;

2、复制数据文件到新的目录;

3、rename修改表空间,并修改控制文件;

4、online表空间;

1、offline表空间zerone

SQL>select name from v$datafile

NAME

--------------------------------------------------------------------------------

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF

已选择7行。

SQL>alter tablespace zerone offline

表空间已更改。

2、复制数据文件到新的目录

复制数据文件C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF到C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF。

3、rename修改表空间数据文件为新的位置,并修改控制文件

SQL>alter tablespace zerone rename datafile 'c:\oracle\product\10.2.0\oradata\zerone01.dbf' to 'c:\oracle\product\10.2.0\oradata\orcl\zerone01.dbf'

表空间已更改。

4、online表空间

SQL>alter tablespace zerone online

表空间已更改。

SQL>select name from v$datafile

NAME

--------------------------------------------------------------------------------

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF

已选择7行。

SQL>select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE'

FILE_NAME TABLESPACE_NAME

------------------------------------------------------------------------------------------------

ZERONE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF

方法二:SQL修改数据文件位置

1、关闭数据库

2、复制数据文件到新的位置;

3、启动数据库到mount状态;

4、通过SQL修改数据文件位置;

5、打开数据库;

1、关闭数据库

SQL>select name from v$datafile

NAME

--------------------------------------------------------------------------------

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF

已选择7行。

SQL>shutdown immediate

数据库已经关闭。

已经卸载数据库。

ORACLE 例程已经关闭。

2、复制数据文件到新的位置;

将数据文件C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\ZERONE01.DBF复制到C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF。

3、启动数据库到mount状态;

SQL>startup mount

ORACLE 例程已经启动。

Total System Global Area 167772160 bytes

Fixed Size 1247900 bytes

Variable Size 96470372 bytes

Database Buffers 67108864 bytes

Redo Buffers 2945024 bytes

数据库装载完毕。

4、通过SQL修改数据文件位置;

SQL>alter database rename file 'c:\oracle\product\10.2.0\oradata\orcl\zerone01.dbf' to 'c:\oracle\product\10.2.0\oradata\zerone01.dbf'

数据库已更改。

5、打开数据库;

SQL>alter database open

数据库已更改。

SQL>select name from v$datafile

NAME

--------------------------------------------------------------------------------

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF

C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\RMANTS.DBF

已选择7行。

SQL>select file_name,tablespace_name from dba_data_files where tablespace_name='ZERONE'

FILE_NAME TABLESPACE_NAME

-------------------------------------------------------------------------------------------------

ZERONE C:\ORACLE\PRODUCT\10.2.0\ORADATA\ZERONE01.DBF

在安装的时候会有路径选择,如图

在第一个红条处手动输入或者在浏览的地方选择输入都是可以的。

oracle数据库简介:

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的 适应高吞吐量的数据库解决方案。

ORACLE的 DIRECTORY在数据库中是个目录的路径,需要在 *** 作系统中有相应的目录与之对应;ORACLE目录的作用就是让ORACLE数据库和 *** 作系统之前进行文件的交互,最常见的就是数据泵的导入和导出。

directory对象所定义的路径可以在EM中的“管理”-“方案”-“对象目录”进行修改。或者使用SQL>create or replace directory databak as 'e:\bak'语句进行修改。

Oracle Directory(目录)可以让用户在Oracle数据库中灵活地对文件进行读写 *** 作,极大地提高了Oracle的易用性和可扩展性。

CREATE [OR REPLACE] DIRECTORY DIRECTORY AS 'PATHNAME'。

创建和删除Directory的权限为:CREATE ANY DIRECTORY、DROP ANY DIRECTORY。赋予普通用户使用Directory的权限包括READ、WRITE、EXECUTE,也可以直接写ALL,如下所示:

GRANT READ,WRITE,EXECUTE ON DIRECTORY EXP_DIR_LHR TO LHR。

GRANT ALL ON DIRECTORY EXP_DIR_LHR TO LHR。

需要注意的是,在创建Directory数据库对象时对应的路径不存在也不会报错,Oracle数据库并不会到 *** 作系统上检验路径的存在性,只有在使用时才会校验,因此在创建Directory时谨记对应的路径的真实存在性,否则可能会报ORA-29913或ORA-29400的错误。

ORACLE的 DIRECTORY在数据库中是个目录的路径,需要在 *** 作系统中有相应的目录与之对应;ORACLE目录的作用就是让ORACLE数据库和 *** 作系统之前进行文件的交互,最常见的就是数据泵的导入和导出。

DIRECTORY的管理:

1、创建:CREATE [OR REPLACE] DIRECTORY directory AS 'pathname' 。

例如:CREATE OR REPLACE DIRECTORY DIR AS 'F:\expbak'。

2、赋权:GRANT READ[,WRITE] ON DIRECTORY directory TO username。

例如:grant read, write on directory exp_dir to john。

3、查询directory的方法。

select * from dba_directories。

4、删除:drop directory DATACHK_DUMP。

5、通过数据泵导出数据到相应的目录。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9989644.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存