拓扑园

  • O&M
    • Universal部署
    • PHP+VUE+Laravel相关
  • Oracle性能优化
  • Oracle项目案例
    • Oracle近期项目案例(目录)
    • Oracle实战问题解析(目录)
    • Oracle数据库名变更流程(2种方式)
    • Oracle数据库目录更换流程(使用Oracle的clone工具)
    • Oracle数据库迁移方案(目录)
    • 标准化文档系列
  • Oracle基础知识
    • LLL的Oracle培训(分类)
    • LLL的docker培训(分类)
    • 标准化文档系列--(分类)
    • Oracle核心经典分析(分类)
    • 图灵小队----(分类并包含以下文章)
    • --MySQL8.0/Oracle/Memcached/Redis等安装配置于RHEL/OL6/7/8.X系列-运行环境最优配置
    • --PG安装配置于RHEL/9X系列-运行环境最优配置
    • --自动维护任务详解-开启、关闭信息统计收集(统计信息)
    • --图灵小队—Oracle/PostgreSQL下创建一个用户测试表(自行定义数据行)
    • --图灵小队-Oracle存储过程导出表的明细_UTL_FILE(文章)
    • --图灵小队-Oracle数据库删除/卸载操作指南(文章)
    • --图灵小队-Oracle常用性能查询SQL语句(文章)
    • --图灵小队-Oracle数据库上线前检查(文章)
    • --图灵小队-Oracle常用SQL语句(文章)
    • --图灵小队—Linux/Oracle脚本/MySQL合集(持续更新)
    • --图灵小队-Oracle技巧记录(文章)
    • ADG
    • RAC
    • ASM
    • OGG
    • RMAN
    • EXPDP/IMPDP
    • 工厂数据导入导出系列
  • MySQL
    • MySQL数据库规范
    • MySQL项目案例
    • MySQL安装配置
    • MYSQL集群项目
    • MySQL常见处理
    • MySQL-Sysbench专题
    • MySQL-Percona Toolkit专题
  • Linux
    • Shell编程
    • kubernetes
    • docker
    • Linux
    • PHP
    • Nginx
    • haproxy
    • mail
    • 网站
    • 域名
    • 网址收藏
  • 数据中心
    • 新框架系统集合
    • 工作文档
    • EBS数据文件扩容
    • VMware虚拟化
    • EBS系列
    • 大数据
    • SVN
    • zabbix
    • SAP
    • 备份相关
    • FC交换机
    • SVN
  • K-Studing
    • D8-Python学习
    • Oracle/MySQl等面试题
    • LG-MySQL
    • LG-Docker/K8S
    • LG-PostgreSQL
    • LG-ORACLE_BBED
    • LG-ORACLE
    • LG-Elasticsearch(ES)+ELK
    • Oracle-19C-OCP
    • WERN_ORACLE培训
    • redis数据库
    • Nginx培训学习系列
  • 其他
    • 外研英语4年级下册-听力
    • 影视系列
    • 如何使用iTunes软件通过抓包下载旧版本的ios的app
天高任鸟飞
Oracle/MySQL数据库恢复/数据迁移/生产规范报告技术交流:TEL:18562510581(微信同号);加微信入群
  1. 首页
  2. Oracle项目案例
  3. 正文

Oracle数据库目录更换流程(使用Oracle的clone工具)

2023年5月4日 2606点热度 0人点赞 0条评论

目录

  • 一、需求
  • 二、步骤
    • 1、克隆home
    • 2、如果数据文件也在$ORACLE_HOME下,需要做如下处理
  • 三、克隆流程
    • 1、原数据库打包
      • (1)root用户操作
      • (2)oracle用户操作
    • 2、修改/etc/oratab的配置(oracle用户配置)
    • 3、修改/etc/oraInst.loc的配置(oracle用户配置)
    • 4、修改环境变量配置(oracle用户配置)
    • 5、克隆(运行runinstall进行克隆)
  • 四、数据库文件迁移
    • 1、修改参数文件
      • (1)旧的:
      • (2)新的使用pfile.ora:
      • (3)新的:创建不存在的目录:
    • 4、从pfile启动
    • 5、备份控制文件为跟踪文件
      • (1)旧的
      • (2)新的(将路径全部更改为新路径,如果原数据文件未变,则无需更改)
    • 7、重建控制文件
      • (1)创建spfile
      • (2)关库
      • (3)重建控制文件(noresetlogs方式)
    • 9、打开数据库
      • (1)如果打开时,提示需要恢复,则进行数据库恢复即可。
      • (2)恢复数据库并打开
    • 10、临时文件创建

一、需求

有一台服务器,需要进行目录更换,有原来的/u01/app更改为/oracle/app

二、步骤

1、克隆home

--原数据库打包
--修改/etc/oratab的配置
--修改/etc/oraInst.loc的配置
--修改环境变量配置
--克隆

2、如果数据文件也在$ORACLE_HOME下,需要做如下处理

--修改参数文件
--从pfile启动
--备份控制文件为跟踪文件
--获取控制文件,并作更改
--重建控制文件
--打开数据库
--临时文件创建

三、克隆流程

1、原数据库打包

(1)root用户操作

cd /u01 
tar cvf app.tar app
mkdir -p /oracle/archivelog
mv /u01/app.tar /oracle
chown -R oracle:oinstall /u01

(2)oracle用户操作

su - oracle
cd /u01
tar xvf app.tar

2、修改/etc/oratab的配置(oracle用户配置)

旧的:mesorcl:/u01/app/oracle/product/11.2.0/db_1:N
新的:mesorcl:/oracle/app/oracle/product/11.2.0/db_1:N

3、修改/etc/oraInst.loc的配置(oracle用户配置)

旧的:inventory_loc=/u01/app/oraInventory
新的:inventory_loc=/oracle/app/oraInventory

4、修改环境变量配置(oracle用户配置)

su - oracle
vi ~/.bash_profile

旧的:export ORACLE_BASE=/u01/app/oracle;
新的:export ORACLE_BASE=/oracle/app/oracle;

source ~/.bash_profile

5、克隆(运行runinstall进行克隆)

[oracle@qdmes219:/u01/app] /u01/app/oracle/product/11.2.0/db_1/oui/bin/runInstaller -clone -silent -defaultHomeName ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE_BASE=/u01/app/oracle -waitForCompletion

根据提示进行如下命令执行

[root@qdmes219 u01]# /u01/app/oracle/product/11.2.0/db_1/root.sh

注:如果克隆过程出现:

OUI-10197:Unable to create a new Oracle Home at /orahome/app/oracle/product/11.2.0/db_1. Oracle Home already exists at this location. Select another location.
SEVERE:OUI-10197:Unable to create a new Oracle Home at /orahome/app/oracle/product/11.2.0/db_1. Oracle Home already exists at this location. Select another location.

删除原来的ORACLE_HOME,或者删除新的app/oracle...目录,并重新解压。

##################################################################################################################
如果数据文件也ORACLE_HOME下,则需要做如下四迁移处理
##################################################################################################################

四、数据库文件迁移

1、修改参数文件

(1)旧的:

strings $ORACLE_HOME/dbs/spfilemesorcl.ora

(2)新的使用pfile.ora:

vi /oracle/pfile.ora

*.audit_file_dest='/oracle/app/oracle/admin/mesorcl/adump'
*.audit_trail='db'
*.compatible='11.2.0.4'
*.control_files='/oracle/app/oracle/oradata/mesorcl/control01.ctl','/oracle/app/oracle/oradata/mesorcl/control02.ctl'#Restore Controlfile
*.db_16k_cache_size=0
*.db_block_size=8192
*.db_domain=''
*.db_name='mesorcl'
*.db_recovery_file_dest_size=32212254720
*.db_recovery_file_dest='/oracle/archivelog'
*.diagnostic_dest='/oracle/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=mesorclXDB)'
*.open_cursors=300
*.pga_aggregate_target=1653604352
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=4960813056
*.undo_tablespace='UNDOTBS1'

(3)新的:创建不存在的目录:

mkdir -p /oracle/archivelog

4、从pfile启动

startup mount pfile='/oracle/pfile.ora';

5、备份控制文件为跟踪文件

SQL>alter database backup controlfile to trace as '/oracle/control_trace_noresetlogs.ctl' noresetlogs;
67、获取控制文件,并作更改
cat /oracle/control_trace_noresetlogs.ctl

(1)旧的

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "MESORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/mesorcl/redo01.log' SIZE 200M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/mesorcl/redo02.log' SIZE 200M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/mesorcl/redo03.log' SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/mesorcl/system01.dbf',
'/u01/app/oracle/oradata/mesorcl/sysaux01.dbf',
'/u01/app/oracle/oradata/mesorcl/undotbs01.dbf',
'/u01/app/oracle/oradata/mesorcl/user01.dbf',
'/u01/app/oracle/oradata/mesorcl/example01.dbf',
'/u01/app/oracle/oradata/mesorcl/test1_1.dbf',
'/u01/app/oracle/oradata/mesorcl/test2_1.dbf',
'/u01/app/oracle/oradata/mesorcl/test_tbsp01.dbf',
'/u01/app/oracle/oradata/mesorcl/test03.dbf',
'/u01/app/oracle/oradata/mesorcl/test04.dbf',
'/u01/app/oracle/oradata/mesorcl/test06.dbf',
'/u01/app/oracle/oradata/mesorcl/test07.dbf',
'/u01/app/oracle/oradata/mesorcl/test05.dbf',
'/u01/app/oracle/oradata/mesorcl/test08.dbf',
'/u01/app/oracle/oradata/mesorcl/test10.dbf',
'/u01/app/oracle/oradata/mesorcl/test082.dbf',
'/u01/app/oracle/oradata/mesorcl/test11_big.dbf'
CHARACTER SET AL32UTF8
;

(2)新的(将路径全部更改为新路径,如果原数据文件未变,则无需更改)

STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "MESORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/app/oracle/oradata/mesorcl/redo01.log' SIZE 200M BLOCKSIZE 512,
GROUP 2 '/oracle/app/oracle/oradata/mesorcl/redo02.log' SIZE 200M BLOCKSIZE 512,
GROUP 3 '/oracle/app/oracle/oradata/mesorcl/redo03.log' SIZE 200M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/oracle/app/oracle/oradata/mesorcl/system01.dbf',
'/oracle/app/oracle/oradata/mesorcl/sysaux01.dbf',
'/oracle/app/oracle/oradata/mesorcl/undotbs01.dbf',
'/oracle/app/oracle/oradata/mesorcl/user01.dbf',
'/oracle/app/oracle/oradata/mesorcl/example01.dbf',
'/oracle/app/oracle/oradata/mesorcl/test1_1.dbf',
'/oracle/app/oracle/oradata/mesorcl/test2_1.dbf',
'/oracle/app/oracle/oradata/mesorcl/test_tbsp01.dbf',
'/oracle/app/oracle/oradata/mesorcl/test03.dbf',
'/oracle/app/oracle/oradata/mesorcl/test04.dbf',
'/oracle/app/oracle/oradata/mesorcl/test06.dbf',
'/oracle/app/oracle/oradata/mesorcl/test07.dbf',
'/oracle/app/oracle/oradata/mesorcl/test05.dbf',
'/oracle/app/oracle/oradata/mesorcl/test08.dbf',
'/oracle/app/oracle/oradata/mesorcl/test10.dbf',
'/oracle/app/oracle/oradata/mesorcl/test082.dbf',
'/oracle/app/oracle/oradata/mesorcl/test11_big.dbf'
CHARACTER SET AL32UTF8
;

7、重建控制文件

(1)创建spfile

create spfile from pfile='/oracle/pfile.ora';

(2)关库

shutdown immediate;

(3)重建控制文件(noresetlogs方式)

根据7-2内容直接重建即可。

9、打开数据库

(1)如果打开时,提示需要恢复,则进行数据库恢复即可。

可能是因为关库时我进行了abort强制关库导致。

16:07:37 SYS@mesorcl>alter database open;
alter database open
*
ERROR at line 1:
ORA-01113: file 1 needs media recovery
ORA-01110: data file 1: '/oracle/app/oracle/oradata/mesorcl/system01.dbf'

(2)恢复数据库并打开

16:07:44 SYS@mesorcl>recover database;
Media recovery complete.
16:07:55 SYS@mesorcl>alter database open;

10、临时文件创建

alter tablespace temp add tempfile '/oracle/app/oracle/oradata/mesorcl/temp01.dbf';
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2023年5月5日

admin

这个人很懒,什么都没留下

打赏 点赞
< 上一篇
下一篇 >

COPYRIGHT © 2022 拓扑园. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

鲁ICP备2021020523号

鲁ICP备2021020523号