重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛

标题: Oracle数据库跨机器克隆操作指南 [打印本页]

作者: Inkcup    时间: 2026-3-15 17:58
标题: Oracle数据库跨机器克隆操作指南
环境:

数据库A,a:原本库及所在机器
数据库B,b:克隆库及所在机器

两个数据库所在的机器配置相同,操作系统版本也相同,但b为仅进行了分区配置的新系统。

通过将数据库A所在安装目录/u01整体拷贝到b中,两边机器的文件系统分区相同;

目前/u01目录及所包含文件已拷贝完毕。需要将A原样克隆到B上,包括域名也要相同,但是IP不同。

=====================================配置克隆数据库B的环境

#1.域名解析

# hostnamectl set-hostname a

# vi /etc/hosts

192.168.133.b a

#2.关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

#3.关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

#4.关闭虚拟网桥
yum remove libvirt-libs.x86_64

#5.关闭透明大页
grubby --update-kernel ALL --args transparent_hugepage=never


#6.安装依赖包

##配置本地yum源

mkdir /etc/yum.repos.d/bakrepo
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bakrepo

cat > /etc/yum.repos.d/localyum.repo<<EOF
[localyum]
name = localyum
baseurl = file:///mnt/
enabled = 1
gpgcheck = 0
EOF

#6.1#物理光驱版(默认):
mount  /dev/sr0 /mnt/

#6.2#镜像文件版:
#mount  -o loop /path/to/file.iso /mnt/

yum repolist all

##安装依赖包

yum install -y unzip binutils* compat-libcap1* compat-linstdc++* gcc gcc-c++  glibc glibc-devel* ksh libaio* libaio-devel libgcc libstdc++* libstdc++-devel libXi* libXtst make sysstat* unix0DBC-devel vim compat-libstdc++* elfutils-libelf-devel*

#7.修改Linux内核参数
cat >> /etc/sysctl.conf <<EOF
从机器a上复制粘贴
EOF

sysctl -p

#8.修改系统限制
cat >> /etc/security/limits.conf <<EOF
从机器a上复制粘贴
EOF

#9.验证登录限制
cat >> /etc/pam.d/login<<EOF
从机器a上复制粘贴
EOF

#10.修改文件数进程限制
cat >> /etc/profile<<EOF
从机器a上复制粘贴
EOF


cat >> /etc/profile<<EOF
if [ $USER = "oracle" ] || [ $USER = "grid" ]; then
        if [ $SHELL = "/bin/ksh" ]; then
              ulimit -p 16384
              ulimit -n 65536
        else
              ulimit -u 16384 -n 65536
        fi
fi
EOF

#11.创建组
groupadd dba ; groupadd oper ; groupadd oinstall

#12.创建用户
useradd -g oinstall -G dba,oper oracle
#测试环境:
#echo "oracle" | passwd --stdin oracle

#生产环境,交互输入(默认):
passwd oracle

#13.创建安装目录

由于/u01/app/oracle/product/11.2.0.4/dbhome_1 已经存在,因此仅需要修改其权限
chown -R oracle:oinstall /u01/app/
chmod -R 775 /u01/app


#14.创建下载目录
/u01已经整体拷贝过来,所以这步直接略过;


#15.设置oracle的环境变量(如果缺失这步,sqlplus程序将无法识别)


配置oracle环境变量
参照老库,将环境变量填入:

cat >> /home/oracle/.bash_profile <<EOF
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=\$ORACLE_BASE/product/11.2.0.4/dbhome_1
export ORACLE_SID=orcl
export PATH=\$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=\$ORACLE_HOME/lib:/lib:/usr/lib
EOF



vi /home/oracle/.bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib


#16.检查监听配置

将文件中的本机ip修改为b的。

#17.修改网络别名

将文件中的本机ip修改为b的。

#18.重启系统
reboot

======================================激活数据库B

su - oracle

lsnrctl start

sqlplus / as sysdba

stratup







欢迎光临 重庆思庄Oracle、KingBase、PostgreSQL、Redhat认证学习论坛 (http://bbs.cqsztech.com/) Powered by Discuz! X3.2