Oracle数据库迁移至CentOS的详细步骤
yum -y install gcc make binutils gcc-c++ compat-libstdc++-33 elfutils-libelf-devel ksh libaio libaio-devel sysstat unixODBC-devel pcre-devel
expdp username/password@source_db directory=data_pump_dir dumpfile=full_export.dmp logfile=expdp_full.log full=y
rman target /
RUN {
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
BACKUP AS COMPRESSED BACKUPSET DATABASE FORMAT '/u01/rman/full_%U.bak';
BACKUP CURRENT CONTROLFILE FORMAT '/u01/rman/ctl_%U.bak';
SQL 'ALTER SYSTEM ARCHIVE LOG CURRENT';
BACKUP AS COMPRESSED BACKUPSET ARCHIVELOG ALL DELETE INPUT FORMAT '/u01/rman/arch_%U.bak';
RELEASE CHANNEL c1;
}
oracle)和组(如oinstall、dba),并设置相同的UID/GID;创建Oracle安装目录(如/u01/app/oracle/product/11.2.0/db_1)和数据目录(如/u01/app/oracle/oradata),赋予正确的权限(chown -R oracle:oinstall /u01/app/oracle)。oracle用户的.bash_profile文件,添加Oracle相关环境变量:export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
执行source ~/.bash_profile使变量生效。/etc/sysctl.conf优化内核参数,提升数据库性能:kernel.shmall = 8388608
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
执行sysctl -p使参数生效。修改/etc/security/limits.conf调整用户资源限制:oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
rsync工具将源服务器的Oracle安装目录、数据目录、配置文件(如listener.ora、tnsnames.ora)同步到目标服务器。示例命令:rsync -avz -e ssh oracle@source_server:/u01/app/oracle/ /u01/app/oracle/
rsync -avz -e ssh oracle@source_server:/etc/oratab /etc/oratab
oracle用户,启动目标数据库实例:su - oracle
sqlplus / as sysdba
SQL> STARTUP;
expdp导出数据(如上述步骤)。scp或sftp传输到目标服务器的目标目录(如/u01/app/oracle/dump)。impdp导入数据,需指定目标目录对象和表空间映射(若表空间名称不同)。示例命令:impdp username/password@target_db directory=data_pump_dir dumpfile=full_export.dmp logfile=impdp_full.log remap_tablespace=source_ts:target_ts
SELECT object_type, COUNT(*) FROM all_objects GROUP BY object_type;
SGA_TARGET、PGA_AGGREGATE_TARGET)。示例:ALTER SYSTEM SET SGA_TARGET=2G SCOPE=SPFILE;
ALTER SYSTEM SET PGA_AGGREGATE_TARGET=1G SCOPE=SPFILE;
jdbc:oracle:thin:@target_server:1521:orcl)。alert_<SID>.log)和监听日志,及时排查错误。