扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
Oracle更改数据文件位置
成都创新互联公司制作网站网页找三站合一网站制作公司,专注于网页设计,网站设计、网站制作,网站设计,企业网站搭建,网站开发,建网站业务,680元做网站,已为上1000家服务,成都创新互联公司网站建设将一如既往的为我们的客户提供最优质的网站建设、网络营销推广服务!
方法一: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
迁移的话,直接导出一个库的dmp文件,之后导入到另外一个库里面就可以了(导出和导入数据库版本必须一直,否则导入可能会报错)。
迁移数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
exp system/manager@TEST file=d:\daochu.dmp full=y
2 将数据库中system用户与sys用户的表导出
exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表table1 、table2导出
exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
1、先导出旧数据库中的内容。
exp
数据库用户名/密码
full=y
file=d:\OradbBak.dmp
log=d:\OradbBak.log
2、把刚才导出的内容导入到新数据库
imp
数据库用户名/密码
full=y
file=d:\OradbBak.dmp
log=d:\OradbBak.log
3、具体命令参数可以用下面的命令来查询
exp
help=y
imp
help=y
1、安装 Oracle Solaris 操作系统
新的 SPARC 服务器上预先安装了 Oracle Solaris。对于这些系统,应确保安装了相应的 Oracle Solaris 版本,并验证打了所需的补丁。
2、安装 Oracle VM Server for SPARC 软件
新的 SPARC 服务器上也预先安装了 Oracle VM Server for SPARC 软件。对于这些系统,应确保安装了相应的 Oracle VM Server for SPARC 版本,并验证打了所有需要的补丁。
3、配置存储阵列
Sun Storage 2540-M2 存储阵列连接到控制域,控制域将两个 LUN(LUN 0 和 LUN 1)作为虚拟磁盘导出到来宾域。
4、配置控制域
安装 Oracle VM Server for SPARC 软件之后,重新配置当前系统使其成为控制域。
5、配置来宾域
配置控制域之后,创建来宾域以用作 Oracle 数据库节点。在作为源计算机的物理服务器上,仅创建一个来宾域。另一台物理服务器最终将成为目标计算机。
6、准备目标服务器
按如下方式准备目标服务器。
执行以下各节中所述的步骤来准备目标计算机:
安装 Oracle VM Server for SPARC 软件
配置控制域
确保在目标服务器上提供了供待迁移域使用的所有虚拟 I/O 服务。
确保目标服务器有权访问同一存储中的 LUN 0 和 LUN 1。
确保待迁移域中的每个虚拟网络设备在目标计算机上都有一个对应的虚拟网络交换机。
简单步骤:
1、正常关闭数据库;
2、迁移所有数据文件到新的盘;
3、启动实例到mount阶段,修改数据文件的路径;
4、启动实例到open阶段,正常使用数据库。
5、另外,如果想要迁移日志文件,比较好办,在新盘新目录下创建新的redo,删除原来盘上的redo。
6、如果想要迁移控制文件,那么:
6.1、正常关闭数据库;
6.2、迁移控制文件到新盘新目录;
6.3、启动实例到nomount阶段;
6.4、修改实例参数control_files指向新的目录;
6.4、alter database mount;
6.5、alter databse open;
如果要迁移数据库软件,那就另说了,可以先安装一套DB软件到新盘新目录,然后修改环境变量指向新的环境,重要的变量包括ORACLE_BASE、ORACLE_HOME、PATH等。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流