程序员入职必备技能 Oracle安装+局域网服务+内网穿透

系列文章目录

Java常用Linux命令集合
程序员入职必备技能 Oracle安装+局域网服务+内网穿透
2021史上最强教你如何用Jenkins自动化部署项目(教程,从零到搭建完成)
Window下的Jenkins实战,一学就会,一看就懂

提示:本篇文章适合有一点Linux基础的同学阅读
第一部分 Linux下Oracle安装
第二部分 局域网下连接Oracle
第三部分 内网穿透,外网访问台式机Oracle数据库


文章目录

  • 系列文章目录
  • Linux下Oracle安装
    • 一 环境准备
      • 1.1 Oracle11gR2(Linux)安装包
      • 1.2 电脑环境
      • 1.3 环境检查
    • 二 基本配置
      • 2.1 修改主机名
      • 2.2 添加主机名与IP对应记录
      • 2.3 关闭Selinux
      • 2.4 创建用户和组
      • 2.5 修改系统内核
      • 2.6 修改系统资源限制
      • 2.7 修改用户验证选项
      • 2.8 修改用户配置文件
      • 2.9 创建安装目录并分配权限
    • 三 Oracle设置
      • 3.1 Oracle环境变量
      • 3.2 安装依赖
      • 3.3 安装oracle
      • 3.4 修改参数
      • 3.5 开始安装
      • 3.6 配置监听
      • 3.7 静默dbca建库
      • 3.8 启动数据库
      • 3.9 配置开机自动启动监听、启动Oracle
      • 3.10 开放端口
    • 四 问题
      • 4.1 服务未成功监听
      • 4.2 电脑关机,oracle服务关闭
  • 局域网下连接Oracle
    • 一 准备
    • 二 连接
      • 2.1 Linux电脑ip查看
      • 2.2 自己电脑cmd
      • 2.3 Navicat可视化工具连接
  • 内网穿透,外网访问台式机Oracle数据库
    • 一 环境要求
    • 二 基本介绍

Linux下Oracle安装

一 环境准备

1.1 Oracle11gR2(Linux)安装包

  • 官网下载:https://www.oracle.com/cn/downloads/
  • 百度云:链接:https://pan.baidu.com/s/1EiVO0a0obTemHntE47iysg 提取码:f9ep

1.2 电脑环境

  • 系统:CentOS 7.5 64位
  • 内存:1G(官方最低要求1G)
  • 硬盘:40G(企业版安装所需4.29G和1.7G数据文件)

1.3 环境检查

[root@oracledb /]# uname -m
x86_64
[root@oracledb /]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)

二 基本配置

2.1 修改主机名

 sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=oracledb/" /etc/sysconfig/network
 hostname oracledb

2.2 添加主机名与IP对应记录

  • 查看电脑ip地址
  • 安装vim编辑器
  • 修改ip映射
ifconfig

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第1张图片

vim /etc/hosts

在这里插入图片描述

2.3 关闭Selinux

sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config 
setenforce 0

在这里插入图片描述

2.4 创建用户和组

创建Oracle安装组oinstall,数据库管理员组dba,及oracle用户

groupadd -g 200 oinstall
groupadd -g 201 dba
useradd -u 440 -g oinstall -G dba oracle #(主组oinstall,其它组:dba)
passwd oracle   #(P)     密码自己设置,需要记住,后面会用

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第2张图片

2.5 修改系统内核

vim /etc/sysctl.conf  # 编辑 sysctl.conf,末尾处添加下面的参数

net.ipv4.ip_local_port_range= 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576

sysctl -p  # 使配置生效

2.6 修改系统资源限制

vim /etc/security/limits.conf # 编辑 limits.conf,末尾处添加下面的参数

oracle  soft  nproc  2047
oracle  hard  nproc  16384
oracle  soft  nofile  1024
oracle  hard  nofile  65536

2.7 修改用户验证选项

vim /etc/pam.d/login
找到这一行:session    required   pam_namespace.so ,
在其下一行添加一条pam_limits.so
session    required     pam_limits.so

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第3张图片

2.8 修改用户配置文件

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

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第4张图片

2.9 创建安装目录并分配权限

mkdir -p /opt/app/oracle/ 
chmod 755 /opt/app/oracle/ 
chown oracle.oinstall -R /opt/app/oracle/

三 Oracle设置

3.1 Oracle环境变量

su - oracle # 切换到 oracle 用户,输入刚才的密码
vim ~/.bash_profile # 编辑
注释掉最后两行,在末尾添加如下参数
export ORACLE_BASE=/opt/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=orcl
export ORACLE_PID=ora11g
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
#保存,退出
source ~/.bash_profile # 使配置立即生效
env | grep ORA # 查看环境变量是否完成

3.2 安装依赖

  • 需要依赖:binutils-2.23.52.0.1-12.el7.x86_64 compat-libcap1-1.10-3.el7.x86_64 compat-libstdc++-33-3.2.3-71.el7.i686 compat-libstdc++-33-3.2.3-71.el7.x86_64 gcc-4.8.2-3.el7.x86_64 gcc-c++-4.8.2-3.el7.x86_64 glibc-2.17-36.el7.i686 glibc-2.17-36.el7.x86_64 glibc-devel-2.17-36.el7.i686 glibc-devel-2.17-36.el7.x86_64 ksh libaio-0.3.109-9.el7.i686 libaio-0.3.109-9.el7.x86_64 libaio-devel-0.3.109-9.el7.i686 libaio-devel-0.3.109-9.el7.x86_64 libgcc-4.8.2-3.el7.i686 libgcc-4.8.2-3.el7.x86_64 libstdc++-4.8.2-3.el7.i686 libstdc++-4.8.2-3.el7.x86_64 libstdc++-devel-4.8.2-3.el7.i686 libstdc++-devel-4.8.2-3.el7.x86_64 libXi-1.7.2-1.el7.i686 libXi-1.7.2-1.el7.x86_64 libXtst-1.2.2-1.el7.i686 libXtst-1.2.2-1.el7.x86_64 make-3.82-19.el7.x86_64 sysstat-10.1.5-1.el7.x86_64 unixODBC-2.3.1-6.el7.x86_64 or later unixODBC-2.3.1-6.el7.i686 or later unixODBC-devel-2.3.1-6.el7.x86_64 or later unixODBC-devel-2.3.1-6.el7.i686 or later

  • 切换root用户进行安装

#安装
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
#检查是否全部安装
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel

3.3 安装oracle

  • 上传安装包到/opt
  • 解压到同一目录
yum -y install unzip # 安装unzip,如已安装请忽略
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

3.4 修改参数

cd /opt/database/response # 进入 response 目录

cp db_install.rsp db_install_copy.rsp # 将 db_install.rsp 备份一份,以免修改出错

vim db_install.rsp # 编辑

#需要修改的地方,仔细比对,耐心点
oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=oracledb

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/opt/app/oracle/oraInventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/opt/app/oracle/product/11.2.0/db_1

ORACLE_BASE=/opt/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE

oracle.install.db.config.starterdb.globalDBName=ora11g

oracle.install.db.config.starterdb.SID=ora11g

oracle.install.db.config.starterdb.memoryLimit=1500

oracle.install.db.config.starterdb.password.ALL=oracle

oracle.install.db.config.starterdb.storageType=FILE_SYSTEM_STORAGE

DECLINE_SECURITY_UPDATES=true    //一定要设为 true

#保存并退出

less /opt/database/response/db_install.rsp |grep -v "#"|grep -v "^$"

# 执行命令
xhost +

3.5 开始安装

su - oracle # 切换到 oracle 用户

cd /opt/database/ #进入/opt/database目录
# 安装命令
./runInstaller -silent -force -responseFile /opt/database/response/db_install.rsp
#当出现 Successfully Setup Software. 证明已经安装成功,然后根据提示以 root 用户执行脚本
sh /opt/app/oracle/oraInventory/orainstRoot.sh

sh /opt/app/oracle/product/11.2.0/db_1/root.sh

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第5张图片

3.6 配置监听

su - oracle # 切换到 oracle 用户

$ORACLE_HOME/bin/netca /silent /responseFile /opt/database/response/netca.rsp # 配置监听

lsnrctl status # 查看舰艇状态

3.7 静默dbca建库

su - root # 切换到 root 用户vim /opt/database/response/dbca.rsp

GDBNAME = "orcl" # 78 行

SID="orcl" # 149行

CHARACTERSET="AL32UTF8" # 415行

NATIONALCHARACTERSET="UTF8" # 425行

su - oracle # 切换到 oracle 用户

$ORACLE_HOME/bin/dbca -silent -responseFile /opt/database/response/dbca.rsp # 建库

#执行完后会先清屏,清屏之后没有提示,直接输入oracle用户的密码,回车,再输入一次,再回车。

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第6张图片

3.8 启动数据库

[oracle@oracledb ~]$ sqlplus / as sysdba

SQL*Plus: Release 11.2.0.1.0 Production on Mon Feb 16 14:26:57 2015Copyright (c) 1982, 2009, Oracle.  All rights reserved.Connected to an idle instance.SQL> startSP2-1506: START, @ or @@ command has no argumentsSQL> startupORACLE instance started. Total System Global Area 3290345472 bytesFixed Size                  2217832 bytesVariable Size            1795164312 bytesDatabase Buffers         1476395008 bytesRedo Buffers               16568320 bytesDatabase mounted.Database opened.SQL>

# 使用 show parameter;或者 select table_name from dba_tables 看看是否正常

3.9 配置开机自动启动监听、启动Oracle

su - root # 切换到 root 用户

vim /etc/oratab # 编辑

*:/home/oracle/oracle92:N

这一行中 * 改为数据库的SID orcl, 第三段的N改为Y

# 保存并退出

vim /etc/rc.local # 编辑

在文件末尾增加如下内容

su - oracle -c 'dbstart' su - oracle -c 'lsnrctl start'

#保存并退出

chmod +x /etc/rc.local # 配置文件权限

3.10 开放端口

查看端口是否开放:firewall-cmd --query-port=1521/tcp

永久开放1521端口号:firewall-cmd --permanent --zone=public --add-port=1521/tcp

重启防火墙: systemctl restart firewalld.service

查看防火墙状态

systemctl status firewalld.service

四 问题

4.1 服务未成功监听

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第7张图片

  • 解决办法
# oracle用户下
cd/opt/app/oracle/product/11.2.0/db_1/network/admin

vim listener.ora

#增加配置
 (SID_LIST =

              (SID_DESC =

              (GLOBAL_DBNAME = orcl)

              (ORACLE_HOME = /opt/app/oracle/product/11.2.0/db_1)

              (SID_NAME = orcl)

      )

)
# 重启监听
lsnrctl reload

# 查看监听
lsnrctl status

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第8张图片

4.2 电脑关机,oracle服务关闭

source ~/.bash_profile # 使配置立即生效
[oracle@oracledb ~]$ sqlplus / as sysdba
#执行sql语句
startup

局域网下连接Oracle

一 准备

  • Oracle环境安装好
  • 需要连接的电脑在同一个局域网内

二 连接

2.1 Linux电脑ip查看

ifconfig

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第9张图片

2.2 自己电脑cmd

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第10张图片

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第11张图片

连接成功

2.3 Navicat可视化工具连接

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第12张图片

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第13张图片

内网穿透,外网访问台式机Oracle数据库

一 环境要求

  • 一台阿里云服务器 centos7.6 x86
  • 一台联网的linux版本的oracle的电脑 centos7.5 x86

二 基本介绍

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第14张图片

  • 下载工具:frps下载地址: https://github.com/fatedier/frp/releases/tag/v0.33.0
  • 注意版本一致
  • 分别在阿里云服务器和电脑上创建一个文件夹,将安装包上传

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第15张图片

阿里云服务器配置

#解压
tar zxvf frp_0.33.0_linux_amd64.tar.gz

cd frp_0.33.0_linux_amd64

# 执行命令
nohup ./frps -c frps.ini &

#查看日志
tail -f nohup.out

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第16张图片

Linux电脑配置

#解压
tar zxvf frp_0.33.0_linux_amd64.tar.gz

cd frp_0.33.0_linux_amd64

#编辑 vim
vim frpc.ini

#修改
[common]
server_addr = 自己的服务器地址
server_port = 7000

[ssh]
type = tcp
local_ip =自己电脑的ip地址
local_port =1521
remote_port = 6000

#保存
#注意阿里云服务器需要开放:7000,6000端口

# 执行命令
nohup ./frpc -c frpc.ini &

#查看日志
tail -f nohup.out

外网电脑测试cmd中

telnet 阿里云地址 6000

Navicat可视化工具连接

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第17张图片

程序员入职必备技能 Oracle安装+局域网服务+内网穿透_第18张图片

到此,我们就可以在家中访问公司电脑上的数据库了

你可能感兴趣的:(#,Linux,数据库,linux,centos,运维)