一、准备工作
Oracle Software Delivery Cloud 官网
https://edelivery.oracle.com/osdc/faces/SoftwareDelivery
1、下载Oracle安装包,通过ftp工具上传到linux服务器并解压
下载完成后
此处上传目录以 /opt/software/ 为例。(建议不要放在/home文件夹下,到后续会有很多因为权限访问或者权限执行问题导致安装失败)解压后两个文件会自动放入当前路径的database目录下,执行命令如下:
如果未安装 unzip 命令,可使用 yum 安装:
yum install -y unzip zip
定位到software目录下 并解压oracle安装包
cd /opt/software/unzip V17530-01_1of2.zipunzip V17530-01_2of2.zip
2、在/etc/hosts文件中增加主机名映射,配置host文件
vim /etc/hosts192.168.31.100 oracle11g
3、关闭selinux
vim /etc/selinux/config
# 修改内容
SELINUX=disabled
#执行命令,关闭SELinux
setenforce 0
4 关闭防火墙
systemctl stop firewalldsystemctl disable firewalld.service
二、安装步骤
1、安装依赖包
yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686elfutils-libelf elfutils-libelf-devel gcc gcc-c++glibc glibc.i686 glibc-common glibc-devel glibc-devel.i686glibc-headers ksh libaio libaio.i686 libaio-devel libaio-devel.i686libgcc libgcc.i686 libstdc++ libstdc++.i686libstdc++-devel make sysstat unixODBC unixODBC-devel
2、添加oracle用户和用户组
创建oinstall组和dba组,把oracle用户加入到用户组,并设置oracle登录密码,命令如下:
groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle
# 把database文件权限给oracle:oinstall
chown -R oracle:oinstall /opt/software/database/
3、创建oracle安装目录和设置目录权限
mkdir /opt/module/oracle # oracle是数据库系统安装目录,mkdir /opt/module/oracle/oradata # oradata是数据库数据安装目录,mkdir /opt/module/oracle/oradata_back # oradata_back是数据备份目录,mkdir /opt/module/oracle/oraInventory # oraInventory是清单目录
chown -R oracle:oinstall /opt/module/oracle /opt/module/oracle/oraInventory /opt/module/oracle/oradata/ chmod -R 775 /opt/module/oracle /opt/module/oracle/oraInventory /opt/module/oracle/oradata/
4、配置oracle用户环境变量
vim /home/oracle/.bash_profile
# 在文件底部追加以下内容
export ORACLE_BASE=/opt/module/oracleexport ORACLE_SID=orcl
# 保存退出,刷新配置
source /home/oracle/.bash_profile
5、切换到root用户并授权相关文件
su - rootcd /home/oracle/mkdir etc
# 将解压后的配置文件复制过来
cp /opt/software/database/response/* /home/oracle/etc/
# 授权
chown -R oracle:oinstall /home/oracle/etcchmod 777 /home/oracle/etc/*.rsp
6、切换到oracle用户,配置数据库安装文件
su - oraclevim /home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLYORACLE_HOSTNAME=oracle11g #主机名UNIX_GROUP_NAME=oinstallINVENTORY_LOCATION=/opt/module/oracle/oraInventorySELECTED_LANGUAGES=en,zh_CN,zh_TWORACLE_HOME=/opt/module/oracle/product/11.2.0/db_1ORACLE_BASE=/opt/module/oracleoracle.install.db.InstallEdition=EEoracle.install.db.isCustomInstall=falseoracle.install.db.DBA_GROUP=dbaoracle.install.db.OPER_GROUP=oinstall#这里必须填tureDECLINE_SECURITY_UPDATES=true
7、根据响应文件安装oracle
cd /opt/software/database./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
仔细检查是否有填写正确,之前有试过忘记oracle.install.option 忘记填写了,结果报了Global database name cannot be left blank.
参数说明:
/opt/software/database 是安装包解压后的路径,此处根据安装包解压所在位置做修改,因人而异。
runInstaller 是主要安装脚本
-silent 静默模式
-force 强制安装
-ignorePrereq忽略warning直接安装。
-responseFile读取安装应答文件。
有出现上述日志说明已安装完成
8、上述程序安装完成后,按“Enter”键继续执行root脚本程序
sh /opt/module/oracle/product/11.2.0/db_1/root.sh
9、切换成oracle用户配置环境变量
su - oraclevim ~/.bash_profile
加下列配置加入配置文件中
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1export TNS_ADMIN=$ORACLE_HOME/network/adminexport PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/binexport PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/binexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/libexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JREexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/libexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlibexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlibexport LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/libexport ORACLE_OWNER=oracleexport SPFILE_PATH=$ORACLE_HOME/dbsexport ORA_NLS10=$ORACLE_HOME/nls/data
使.bash_profile文件生效:
source ~/.bash_profile
10、安装数据库实例
如果需要安装多个实例,则重复如下操作即可,但是注意dbca.rsp文件如下的配置要做对应修改
配置dbca.rsp文件:
vim /home/oracle/etc/dbca.rsp
配置如下:
GDBNAME = "orcl"SID = "orcl"SYSPASSWORD = "oracle"SYSTEMPASSWORD = "oracle"SYSMANPASSWORD = "oracle"DBSNMPPASSWORD = "oracle"DATAFILEDESTINATION =/opt/module/oracle/oradata #有默认值,可选RECOVERYAREADESTINATION = /opt/module/oracle/fast_recovery_area #有默认值,可选CHARACTERSET = "AL32UTF8"TOTALMEMORY = "40960"
注意要把配置信息写在[CREATEDATABASE]范围内,且不要删除注释掉其他的配置信息例如TEMPLATENAME (踩过坑)
参数说明:
GDBNAME="orcl" #78行 全局数据库的名字SID="orcl" #149行 SID对应的实例名字SYSPASSWORD="oracle" #190行 SYS管理员密码SYSTEMPASSWORE="oracle" #200行 SYSTEM管理员密码DATAFILEDESTINATION=/opt/module/oracle/oradata#357行 数据文件存放目录,默认值:$ORACLE_BASE/oradata,【该目录下的数据库文件是用各个数据库实例名命名的文件夹区分开来的】RECOVERYAREADESTINATION=/usr/local/oradata_back #367行 恢复数据存放目录,默认值:$ORACLE_BASE/flash_recovery_areaCHARACTERSET="AL32UTF8"#415行 字符集,重要!!!建库后一般不能更改,所以建库前要确定清楚TOTALMEMORY= "40,960" #540行 oracle内存40,960MB,建议为物理内存70%~85%,物理内存50*1024*80%
静默安装数据库命令
dbca -silent -responseFile /home/oracle/etc/dbca.rsp
实例进程检查,检查是否有实例
ps -ef | grep ora_ | grep -v grep
11、监听配置
netca /silent /responsefile /home/oracle/etc/netca.rsp
安装完成,切换回 oracle用户,使用sqlplus连接测试
sqlplus system
安装完成!
*如果出现
sqlplus: error while loading shared libraries: libnsl.so.1: cannot open shared object file: No such file or directory
应该是实例安装失败了,通过
ldd $ORACLE_HOME/bin/sqlplus
可以查到具体的出错原因
我这边是出现的是
error while loading shared libraries: libclntsh.so.11.1: cannot open shared object file: No such file or directory
ldd $ORACLE_HOME/bin/sqlplus
libclntsh.so.11.1 => not found
这是在oracle官网下载的版本与linux系统内核有不兼容导致
解决方法:删除原有的oracle目录并重新下载适配的oracle版本重新安装*