linux系统离线安装oracle 11g

1.修改hostname(机器名根据自己的要求改)root用户

修改hostname命令:hostnamectl set-hostname node2

  重启下服务器:reboot

 

2.安装依赖 root用户

在一台有网的电脑上先下载好所需的依赖
yum install --downloadonly --downloaddir=/tmp/ compat-libstdc++-33 elfutils-libelf-devel gcc* glibc-* ksh libaio libaio-devel libstdc++-devel unixODBC unixODBC-devel sysstat -y

然后将下载的rpm全部拷贝到装oracle电脑上,我这里打包好了所有的依赖和11g的安装包,一起上传到服务器,有需要的自己下(链接:https://pan.baidu.com/s/1bUnCVSPQMcqBgFy4ESlHgA 提取码:gxrj)

解压文件并安装依赖

tar -zxvf oracle11g.tar.gz

进入到depends目录下执行

rpm -Uvh --force --nodeps *.rpm

 

 3.关闭selinux,firewalld root用户

修改selinux的配置文件
vim /etc/selinux/config
将SELINUX这一行改为SELINUX=disabled

关闭firewalld
systemctl stop firewalld
systemctl disable firewalld

 

 4.创建需要的用户和用户组 root用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle -d /home/oracle
设置oracle用户密码(需要输入两次)
passwd oracle

 

5.修改相关配置文件 root用户

修改linux内核参数
vim /etc/sysctl.conf
把下列内容放到sysctl.conf文件中
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 8388608
kernel.shmmax = 34359738368
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
使内核参数生效
sysctl -p

 

修改limits.conf文件
vim /etc/security/limits.conf
将以下内容加到limits.conf文件中
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

 

修改/etc/pam.d/login文件
vim /etc/pam.d/login
将以下内容加到login文件中
session  required   /lib64/security/pam_limits.so
session  required   pam_limits.so

 

修改/etc/profile文件
vim /etc/profile
将以下内容加到profile文件中
if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
   ulimit -p 16384
   ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
  fi
fi
使profile文件生效
source /etc/profile

 

 6.创建oracle安装目录 root用户

mkdir -p /u01/app/
chown -R oracle:oinstall /home/oracle  
chmod -R 775 /home/oracle  
chown -R oracle:oinstall /u01/app/ 
chmod -R 775 /u01/app/

 

 7.设置环境变量 oracle用户

切换到oracle用户
su - oracle
vim ~/.bash_profile 将以下内容放到.bash_profile文件中 export ORACLE_BASE=/u01/app/oracle export ORACLE_SID=orcl export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 export TNS_ADMIN=$ORACLE_HOME/network/admin export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib export ORACLE_OWNER=oracle export SPFILE_PATH=$ORACLE_HOME/dbs export ORA_NLS10=$ORACLE_HOME/nls/data

 

重新加载环境变量,使其生效(也可以重启)
source ~/.bash_profile

 

 8.解压oracle的安装包到/home/oracle/目录下 root用户

先把安装包拷贝到 /home/oracle/目录下
cp /opt/oracle11g/linux.x64_11gR2_database_* /home/oracle/

进入到/home/oracle/目录下解压安装包(先解压1在解压2,顺序一定不能搞错)
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

将response下的文件拷贝到/home/oracle/etc/下
mkdir /home/oracle/etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp

 

 9.配置数据库安装文件 root用户

vim /home/oracle/etc/db_install.rsp

按照下面配置进行修改(一个个配置项找到并赋值)
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=node2
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
#这里必须填ture
DECLINE_SECURITY_UPDATES=true

 

 10.安装oracle数据库 oracle用户

切换oracle用户
su - oracle

/home/oracle/database目录下执行安装语句
cd /home/oracle/database
./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
会卡在日志输出一段时间

 

 新开一个窗口可以查看日志

 tail -f /u01/app/oracle/oraInventory/logs/installActions2023-06-10_07-16-47AM.log

 在新开的窗口里执行脚本(一定是root用户下执行

 sh /u01/app/oracle/oraInventory/orainstRoot.sh
 sh /u01/app/oracle/product/11.2.0/db_1/root.sh

 

 11.安装数据库实例

(1)配置dbca.rsp文件(root用户
vim
/home/oracle/etc/dbca.rsp 按照下面配置进行修改(一个个配置项找到,有的需要把注释符#删除再进行配置,密码根据自己要求设置) GDBNAME = "orcl" SID = "orcl" SYSPASSWORD = "root" SYSTEMPASSWORD = "root" SYSMANPASSWORD = "root" DBSNMPPASSWORD = "root" DATAFILEDESTINATION =/u01/app/oracle/oradata RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area CHARACTERSET = "AL32UTF8" TOTALMEMORY = "1638" # 其中TOTALMEMORY = "1638" 为1638MB,物理内存2G*80%2)安装数据库实例(oracle用户) su - oracle dbca -silent -responseFile /home/oracle/etc/dbca.rsp
实例进程检查 ps
-ef | grep ora_ | grep -v grep

 

 12.配置监听 oracle用户

执行下面语句
netca /silent /responsefile /home/oracle/database/response/netca.rsp

 

查看监听状态
netstat -tnulp | grep 1521

 

 13.使用数据库连接工具连接数据库


 

 

 14.设置oracle开机自启 root用户

修改dbstart文件
vim /u01/app/oracle/product/11.2.0/db_1/bin/dbstart
将    ORACLE_HOME_LISTNER=$1 
修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME

 

修改dbshut文件
vim /u01/app/oracle/product/11.2.0/db_1/bin/dbshut
将    ORACLE_HOME_LISTNER=$1 
修改为 ORACLE_HOME_LISTNER=$ORACLE_HOME 

 

修改oratab文件
vim /etc/oratab
将 orcl:/u01/app/oracle/product/11.2.0/db_1:N 中最后的 N 改为 Y

 

切换到oracle用户执行 dbshut 和 dbstart 测试(dbshut的时候监听也同时关闭了,dbstart的时候监听也同时启动
 

 

切换到root用户添加开机启动脚本
vim /etc/rc.d/init.d/oracle
将下列内容编辑到脚本文件中
#!/bin/bash  
# oracle: Start/Stop Oracle Database 11g R2  
# chkconfig: 345 90 10  
# description: The Oracle Database is an Object-Relational Database Management System.  
#   
. /etc/rc.d/init.d/functions  
LOCKFILE=/var/lock/subsys/oracle  
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_USER=oracle  
case "$1" in  
'start')  
    if [ -f $LOCKFILE ]; then  
      echo $0 already running.  
      exit 1  
   fi   
   echo -n $"Starting Oracle Database:"  
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"  
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"  
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"  
   touch $LOCKFILE  
   ;;  
'stop')  
   if [ ! -f $LOCKFILE ]; then  
      echo $0 already stopping.  
      exit 1  
   fi   
   echo -n $"Stopping Oracle Database:"  
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"  
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"   
   su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"  
   rm -f $LOCKFILE  
   ;;   
'restart')  
   $0 stop  
   $0 start  
   ;;   
'status')  
   if [ -f $LOCKFILE ]; then  
      echo $0 started.  
      else   
      echo $0 stopped.  
   fi   
   ;;  
*)   
   echo "Usage: $0 [start|stop|status]"  
   exit 1  
esac  
exit 0

修改文件权限 chmod 755 /etc/init.d/oracle
设置开机启动执行 chkconfig oracle on
查看 chkconfig
--list oracle


执行操作以下命令进行测试
service oracle stop
service oracle restart
service oracle start

 

重启服务器,然后用工具进行连接数据库。

 

作者:zengwb  转载请注明原文链接:https://www.cnblogs.com/zengwb/p/17471739.html

 

posted @ 2023-06-10 19:53  四毛二  阅读(1494)  评论(0编辑  收藏  举报