在某些不兼容的操作系统上安装Oracle数据库时,经常会遇到各种问题,如果部署的是测试环境,可以通过打包其他现有环境的数据库,通过解压、配置环境变量快速完成数据库安装工作。
测试环境:
Oracle 11.2.0.4.0
OS:kylin linux v10
一:打包
将其他相同平台相同版本的oracle软件目录打包
tar -zcvf oracle.tar.gz /oracle
二:上传到目标服务器
1.拷贝oracle.tar.gz文件到目标服务器/目录下
ls -lrth
total 2.2G
-rw-r--r-- 1 root root 2.2G Nov 13 17:11 oracle.tar.gz
三.解压
cd /
tar -zxvf oracle.tar.gz
授权
chown oracle:oinstall /oracle -R
四.添加oracle用户环境变量
su - oracle
vi .bash_profile
export ORACLE_BASE=/oracle/app/oracle
export ORACLE_HOME=/oracle/app/oracle/product/11.2/db
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export ORACLE_SID=cjc
alias cdo='cd $ORACLE_HOME'
alias cdb='cd $ORACLE_HOME/dbs'
alias cdn='cd $ORACLE_HOME/network/admin'
alias cdal='cd $ORACLE_BASE/diag
source .bash_profile
五.登陆数据库
提前创建好所需要的用户和组。
如遇到如下错误
sqlplus / as sysdba
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
需要安装所需的包
yum install libnsl
登录数据库
sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Tue Nov 14 13:40:48 2023
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
可以正常打开到nomount
SQL> startup nomount
ORACLE instance started.
Total System Global Area 2254802944 bytes
Fixed Size 2255232 bytes
Variable Size 570427008 bytes
Database Buffers 1660944384 bytes
Redo Buffers 21176320 bytes
修改控制文件路径,也可以到mount,但无法open,因为没有拷贝/oradata数据文件,
此时可以通过 create database 命令新建数据库。
也可以拷贝/oradata数据文件,拷贝前需要确保原数据库正常关闭。
示例如下:
上传 oradata.tar.gz 文件到/根目录
/根目录下解压
cd /
tar -zxvf oradata.tar.gz
登录数据库
su - oracle
sqlplus / as sysdba
创建pfile
create pfile from spfile;
exit;
修改参数文件
cd /oracle/app/oracle/product/11.2/db/dbs
mv spfilecjc.ora spfilecjc.ora.bak
vi initcjc.ora
将
*.control_files='/oradata/cjc/control01.ctl','/oracle/app/oracle/fast_recovery_area/cjc/control02.ctl'
修改为
*.control_files='/oradata/cjc/control01.ctl'
保存退出 wq
再次启动数据库
sqlplus / as sysdba
startup
查询数据库状态
select name,open_mode from v$database;
exit;
文章提到的所有路径以原库实际路径为准。
###chenjuchao 20231118###
欢迎关注我的公众号《IT小Chen》