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