centos7.3系统中安装oracle11g并使用Navicat远程连接教程

最近在阿里云上买了个轻量级服务器,centos7.3版本,在装oracle11g并实现Navicat远连的时候出现了很多bug,在网上搜的时候发现没有一篇博客是可以完全适用的,所以把这些过程整理出来,希望能帮助后面的同学少走弯路。

  1. 建立swap分区
    命令1:dd if=/dev/zero of=/home/swap bs=1024 count=2097152
    命令2:mkswap /home/swap
    命令3:swapon /home/swap
    查看分区情况,若有Swap分区则为正确
    命令4:free -m
    命令5:vim /etc/fstab
    添加一行
    /home/swap swap swap defaults 0 0
    否则重启后swap分区会失效
  2. 创建用户和用户组
    命令1:groupadd oinstall
    命令2:groupadd dba
    命令3:useradd -g oinstall -G dba -m oracle
    命令4:groups oracle
    命令5:passwd oracle
    命令6:id oracle
  3. 创建安装目录和权限
    命令1:mkdir -p /data/oracle
    命令2:mkdir -p /data/oraInventory
    命令3:mkdir -p /data/database
    命令4:cd /data
    命令5:chown -R oracle:oinstall /data/oracle
    命令6:chown -R oracle:oinstall /data/oraInventory
    命令7:chown -R oracle:oinstall /data/database
  4. 修改OS系统标识
    命令1:vim /etc/redhat-release
    修改为redhat-7
  5. 关闭防火墙和selinux(阿里云中已经关闭)
  6. 修改内核参数
    命令1:vim /etc/sysctl.conf
    增加如下内容:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1

#设置最大打开文件数
fs.file-max = 6815744
fs.aio-max-nr = 1048576
#共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmall = 2097152
#最大共享内存的段大小
kernel.shmmax = 2147483648
#整个系统共享内存端的最大数
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#可使用的IPv4端口范围
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

命令2:sysctl -p
使文件生效
命令3:vim /etc/security/limits.conf
增加如下内容:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
  1. 配置oracle用户的环境变量
    命令1:vim /home/oracle/.bash_profile
    增加如下内容
export ORACLE_BASE=/data/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
#oracle启动数据库实例名
export ORACLE_SID=orcl11g
#添加系统环境变量
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin/samples
  1. 安装需要的rpm包
    命令1:yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 glibc glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel libXtst sysstat ksh make libXi compat-libcap1
  2. 解压两个安装文件到对应的文件夹下
    命令1:yum -y install zip unzip
    命令2:unzip /opt/soft/linux.x64_11gR2_database_1of2.zip -d /data/database/
    命令3:unzip /opt/soft/linux.x64_11gR2_database_2of2.zip -d /data/database/
  3. 修改安装配置信息
    命令1:vim /data/database/database/response/db_install.rsp
    修改信息为
    https://blog.csdn.net/sinat_32998977/article/details/79437014
    中的第10步
  4. 进行安装
    命令1:su - oracle
    命令2:cd /data/database/database
    命令3:./runInstaller -silent -ignorePrereq -ignoreSysPrereqs -responseFile /data/database/database/response/db_install.rsp
  5. 另开一个终端使用root用户运行
    命令1:/data/oraInventory/orainstRoot.sh
    命令2:/data/oracle/product/11.2.0/db_1/root.sh
    执行完后第11步的终端界面会出现Successfully Setup Software,按回车即可
  6. 配置tnsnames.ora
    命令1:vim /data/oracle/product/11.2.0/db_1/network/admin/samples/tnsnames.ora
    添加如下内容:
alioracle =  
     (DESCRIPTION =   
        (ADDRESS_LIST =   
            (ADDRESS = (PROTOCOL = TCP)(HOST =0.0.0.0)(PORT = 1521))   
        )   
        (CONNECT_DATA =   
            (SERVICE_NAME = orcl)   
        )   
)
  1. 建库
    命令1:cd /data/oracle/product/11.2.0/db_1/bin
    命令2:./dbca -silent -responseFile /data/database/database/response/dbca.rsp
    这个时候xshell中会清屏,全是黑的,不要慌,随便输入点东西,回车,再随便输入点东西,在回车,就开始建库了
  2. 配置listener.ora
    命令1:vim /data/oracle/product/11.2.0/db_1/network/admin/samples/listener.ora
    添加以下内容:
LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=
      (ADDRESS=(PROTOCOL=TCP)(HOST=0.0.0.0)(PORT=1521))  
  )
)
 
SID_LIST_LISTENER= 
	(SID_LIST= 
		(SID_DESC= 
			(GLOBAL_DBNAME=orcl) 
			(SID_NAME=orcl11g) 
			(ORACLE_HOME=/data/oracle/product/11.2.0/db_1)
			 (PRESPAWN_MAX=20) 
			 (PRESPAWN_LIST= 
			 (PRESPAWN_DESC=(PROTOCOL=tcp)(POOL_SIZE=2)(TIMEOUT=1))
		)
	)
)
  1. 去阿里云控制台,找到安全组,去添加1521端口的配置规则,否则用公网ip连接不到oracle数据库,这一步很关键,否则无法用公网ip远程连接。
  2. 开启监听
    命令1:lsnrctl start
    命令1:lsnrctl stop
    命令1:lsnrctl status
    开启后可在Windows命令行界面中使用telnet 公网ip 1521来测试网络是否连通
  3. 登录sqlplus,查看实例状态
    命令1:sqlplus / as sysdba
    激活scott用户
    命令2:alter user scott account unlock;
    命令3:alter user scott identified by Tcc123456;
  4. 安装并激活Navicat for Oracle
    下载链接:http://pan.baidu.com/s/1pKJGgVh 密码:2c06
    https://blog.csdn.net/endlessseaofcrow/article/details/78226837
    此时已经可以通过Navicat远程连接oracle数据库了
  5. 修改Oracle开机启动文件
    命令1:vim /data/oracle/product/11.2.0/db_1/bin/dbstart
    把ORACLE_HOME_LISTNER=$1
    改成ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
    命令2:vim /data/oracle/product/11.2.0/db_1/bin/dbshut
    把ORACLE_HOME_LISTNER=$1
    改成ORACLE_HOME_LISTNER=/data/oracle/product/11.2.0/db_1
    命令3:vim /etc/oratab
    把orcl11g:/data/oracle/product/11.2.0/db_1:N
    改为orcl11g:/data/oracle/product/11.2.0/db_1:Y
    命令4: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.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/data/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
  1. 设置Oracle开机启动
    命令1:systemctl enable oracle
    命令2:cd /data/oracle/product/11.2.0/db_1/bin/
    命令3:chmod 6751 oracle
    命令4:cd /var/tmp
    命令5:chown -R oracle:oinstall .oracle
  2. 系统重启后需要执行的操作
    命令1:su - oracle
    命令2:lsnrctl start
    命令3:sqlplus / as sysdba
    并在SQL中执行startup即可,此时已经可以用Navicat远连了。

你可能感兴趣的:(centos7.3系统中安装oracle11g并使用Navicat远程连接教程)