linux静默安装oracle11g,亲测有效!
由于在Linux上安装oracle踩了很多坑,花了好多时间才成功安装,所以记录下来,方便以后回顾。
一、安装jdk
cd /usr/local
- 上传java的tar包到/usr/local目录下,上传完成后使用
ll
命令查看。
#解压安装包
tar -zxvf jdk-linux-x64.tar.gz
#更改文件夹目录名称
mv jdk1.8.0_131 java
-
更改环境变量
vi /etc/profile
export JAVA_HOME=/usr/local/java export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
-
更新完毕之后
source
一下source /etc/profile
-
检查是否安装成功
java -version
出现以上信息代表java安装成功。
二、安装前设置
2.1 安装相关依赖
yum -y install kernel-headers* gcc-c++* numactl-devel* glibc-headers* glibc-common* binutils* unixODBC-devel* libaio* make* elfutils-libelf* elfutils-libelf-devel* sysstat* glibc-static* glibc-devel* glibc* elfutils-libelf-devel-static* libaio* gcc* libgcc* libstdc++-static* libaio-devel* libstdc++* libaio-devel* unixODBC* libstdc++-devel* compat-libstdc++* libgcc* libgomp*
还有一些补充的包
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*i686 compat-libstdc++-33*.devel compat-libstdc++-33 compat-libstdc++-33*.devel gcc gcc-c++ glibc glibc*.i686 glibc-devel glibc-devel*.i686 ksh libaio libaio*.i686 libaio-devel libaio-devel*.devel libgcc libgcc*.i686 libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.devel libXi libXi*.i686 libXtst libXtst*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686
-
安装dnf
yum -y install dnf
dnf install tzdata*
dnf install libX*
- 执行上述命令有可能遇到以下问题。
- 解决方法:升级python
yum update python*
- 再安装以下软件,就解决了
yum install dnf-data dnf-plugins-core libdnf-devel libdnf python2-dnf-plugin-migrate dnf-automatic
- dnf正常运行
2.2 用户设置
#创建组
groupadd oinstall
groupadd dba
#创建oracle用户并分配组
useradd -m -d /home/oracle -g oinstall -G dba oracle
#设置oracle用户密码
passwd oracle
2.3文件设置
-
修改内核
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 1200000000 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
#查看配置的结果 /sbin/sysctl -p
-
修改用户的限制文件
vim /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
-
修改login文件
vim /etc/pam.d/login
session required /lib64/security/pam_limits.so session required pam_limits.so
-
环境变量设置
vim /etc/profile
if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
#更改完配置文件要记得ource
source /etc/profile
-
创建安装目录、修改文件权限
mkdir -p /opt/oracle/product/11.2.0 mkdir /opt/oracle/oradata mkdir /opt/oracle/inventory mkdir /opt/oracle/fast_recovery_area chown -R oracle:oinstall /opt/oracle chmod -R 775 /opt/oracle
-
设置环境oracle变量
vim /home/oracle/.bashrc
#Oracle的安装目录 ORACLE_BASE=/opt/oracle ORACLE_HOME=$ORACLE_BASE/product/11.2.0 ORACLE_SID=orcl PATH=$PATH:$ORACLE_HOME/bin export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
-
解压oracle安装包
上传到
/opt/oracle
目录里
解压
#如果出现unzip:command_not found,执行下面命令安装
yum -y install unzip
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip
-
配置静默安装文件
vim /opt/oracle/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY ORACLE_HOSTNAME=test1 UNIX_GROUP_NAME=oinstall INVENTORY_LOCATION=/opt/oracle/inventory SELECTED_LANGUAGES=en,zh_CN ORACLE_HOME=/opt/oracle/product/11.2.0 ORACLE_BASE=/opt/oracle oracle.install.db.InstallEdition=EE oracle.install.db.DBA_GROUP=dba oracle.install.db.OPER_GROUP=dba DECLINE_SECURITY_UPDATES=true
对应着一个个填进去。
三、安装
- 切换到oracle用户
#解压完再更新下权限
chown -R oracle:oinstall /opt/oracle
su - oracle
cd /opt/oracle/database/
- 安装
./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /opt/oracle/database/response/db_install.rsp
等待一段时间,会出现安装成功的提示。
接下就进入inventory目录看看有没有orainstRoot.sh文件,执行它。
./orainstRoot.sh
然后查看11.2.0文件夹里有没有root.sh文件,执行它。
cd /opt/oracle/product/11.2.0/
./root.sh
- 配置监听
#记得切换到oracle用户下执行下面命令
netca -silent -responseFile /opt/oracle/database/response/netca.rsp
可能出现以下问题,那么
或者
export DISPLAY=192.168.3.87:0.0
export DISPLAY=“当前主机的IP地址”+“:0.0”
重新执行上述命令即可。
- 建立新库
dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp
接着输入你的oracle密码,等待初始化。
四、检验是否成功
sqlplus / as sysdba
启动数据库实例
startup
显示打不开initorcl.ora文件,进入目录查看。
发现确实没有该文件,解决方法如下:
cd /opt/oracle/admin/orcl11g/pfile
把这个init.ora.1262021105731复制到**/opt/oracle/product/11.2.0/dbs/**
cp init.ora.1262021105731 /opt/oracle/product/11.2.0/dbs/
cd /opt/oracle/product/11.2.0/dbs/
#更改命名
mv init.ora.1262021105731 initorcl.ora
#切记,由于我这一步是在root用户下执行的,更改文件所属,不然还是会显示找不到
chown oracle:oinstall initorcl.ora
- oracle用户身份进入
sqlplus /nolog
connect / as sysdba
startup
顺利的话就开启了,但我还遇到以下问题。
原因是MEMORY_TARGET的设置不能超过**/dev/shm**的大小。
df -h
可以看出分区确实有点小,加大就可以
mount -o remount,size=2G /dev/shm/
重新开启,我这里又遇到以下问题,重启一下解决。
至此,oracle11g静默安装完成。如有错漏,请指正!