• 阿里云&腾讯云服务器安装oracle11g


    前言

    • 本文参考b站视频:【阿里云服务器centos7安装oracle教程-哔哩哔哩】https://b23.tv/ViSoO2R,该up主简介有CSDN博客链接,在此文基础上进行补充,毕竟找了好多文章发现都没有阿里云服务器(centos)安装的教程,或者都是有很多缺陷与问题解决不了,所以在此总结一下。
    • 之前已经安装失败了各种版本的oracle都可以不用卸载,忘掉那些不愉快的折磨吧,这个教程亲测可以无视之前的安装,稍后我也会介绍如果之前安装过了却失败了该如何关闭oracle服务后启动oracle。
    • 当你说你的linux系统中没有yum?没事,我还可以帮你解决
    • 按照想学的步骤可以查看CSDN目录树跳过如安装yum等操作

    零.linux下安装yum

    1.安装build-essential包

    apt-get install build-essential

    • 中间需要一次确认,按y就行,apt-cache depends ...是查看build-essential的依赖关系,可以不输入

    在这里插入图片描述

    2.yum的安装

    sudo apt-get install yum

    • 中间也是需要一次确认,按y就行

    在这里插入图片描述

    3.查看yum版本

    yum --version

    在这里插入图片描述

    • 这样就安装成功,如果网络通畅,我们便可以进行之后的操作了,否则还要进行网络的配置

    4.配置网络

    • 如果可以使用yum install则不需要配置
    cd /etc/yum/repos.d/
    sudo wget http://mirrors.163.com/.help/fedora-163.repo
    sudo wget http://mirrors.163.com/.help/fedora-updates-163.repo
    
    • 1
    • 2
    • 3
    • 清除缓存:yum clean all

    • 生成元数据缓存:sudo yum makecache

    • 阿里镜像源网站,找到之后可以进去下载阿里源并进行替换,https://developer.aliyun.com/mirror/

    • 顺带一提:aidlux可以安装yum但是无法配置源,会一直报错,也就是无法使用yum下载东西,本人整了一个下午才明白。并且因为”Android阉割了Linux内核中Docker所需要的cgroups和namespace等功能,因此个人版AidLux无法支持Docker。不过你可以编译一个支持Docker的内核,来在AidLux上使用Docker。“Aidlux下载通常使用aid install packagename或者apt-get install package来安装

    一.搭建Docker环境

    • 我们只是为了安装oracle,所以在此不详细介绍Docker容器技术

    1.安装DockerCE

    1.安装Docker的依赖库

    yum install -y yum-utils device-mapper-persistent-data lvm2

    2.添加Docker CE的软件信息

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-re.repo

    3.安装Docker CE

    yum makecache fast

    yum -y install docker-ce

    4.启动docker服务

    systemctl start docker

    2.配置阿里云镜像仓库(镜像加速)

    • 如果你不去配置的话,由于网络原因可能会下载失败或者很长时间

    1.登录阿里云官网

    • 这个可以自行百度,用支付宝登录

    2.找到镜像容器服务

    • 可以直接在搜索框搜索,也可以在左上角菜单栏里找到镜像服务

    在这里插入图片描述

    • 复制框选起来的内容就可以了

    在这里插入图片描述

    3.配置Docker的自定义镜像仓库地址

    • 将刚才复制的粘贴到终端即可
    #创建文件夹
    sudo mkdir -p /etc/docker
    #配置镜像地址
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ['你的加速器地址']
    }
    EOF
    #重新加载服务配置文件
    sudo systemctl daemon-reload
    #重启Docker服务
    sudo systemctl restart docker
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    二.开始拉取镜像

    docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

    • 下载好之后可以查看:

    docker images

    2.1创建docker容器

    docker run -d -p 1521:1521 --name oracle11g registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g

    • 成功之后返回容器id

    2.1.1解决端口号被占用问题

    • 此时如果你之前安装过了oracle并且没有关闭,那么端口号是被占用状态会导致创建了这个容器但是没有运行在1521端口
    • 我们使用 lsof -i:1521 查看是否为oracle占用该端口
    • 我们关闭这个oracle服务:
      • 切换为oracle账户:su - oracle
      • 关闭服务:lsnrctl stop

    2.1.2解决容器名已存在的问题

    • 此时关闭之后我们再回到创建docker容器的时候就会发现容器名已存在不能使用了要么改名要么删除之前创建的,改名简单,不过之后的教程要自己手动改,所以这里作删除
    • 查看所有docker容器:docker container ls -all
    • 删除当前容器:docker container rm mycontainer(其中mycontainer是自己的容器名)
    • 删除完成我们就可以使用创建的操作了

    2.2启动容器

    docker start oracle11g

    2.3进入镜像进行配置

    docker exec -it oracle11g bash

    三.环境配置

    1.配置环境

    • 直接进入文件:
    #先切换到docker环境下的root用户中
    su - root
    #密码:helowin,这个是容器里面的root密码,并不是你的linux根用户密码
    #注意这里还是在oracle容器里面执行,不然找不到对应文件
    #下面vim与vi都可以操作
    vim /home/oracle/.bashrc
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 在该文件的末尾追加以下命令,按字母i进入插入模式:
    #为了防止db1已经被创建,所以我们用db2,或者3-n随意一个数字
    export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2
    
    export ORACLE_SID=helowin
    
    export PATH=$ORACLE_HOME/bin:$PATH
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 使用ESC键后按:wq保存并且退出

    2.修改账号密码

    • 切换oracle用户:su - oracle,否则下面的命令会提示找不到
    • 使用命令进入sql:sqlplus /nolog,进入SQL>提示行,注意在SQL>提示行里面删除字符用的是ctrl+Backspace或者ctrl+delete
    #进入用户数据库
    conn / as sysdba
    #账号system,密码itcast,这里你也可以改成自己的密码,注意oracle规范首字符是字母不是数字,否则会有意想不到的收获
    alter user system identified by itcast
    #退出
    exit
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    四.数据库连接

    1.启动docker

    • 查看oracle的lsnrctl服务:lsnrctl status,在这里我们简单查看一些实例和实例状态就行
    • CTRL+D退出oracle,CTRL+D退出docker,一直退出到操作系统即可
    • 启动并加入开机启动:
      • systemctl start docker
      • systemctl enable docker
    • 查看安装版本:
      • docker version

    2.配置防火墙

    • 实例–>更多–>管理–>防火墙–>添加规则

    在这里插入图片描述

    在这里插入图片描述

    3.使用navicat连接数据库

    • 连接–>ORACLE

    在这里插入图片描述

    • 编辑信息:

    在这里插入图片描述

    • 这里的主机就是你的服务器公网地址,密码是你设置的,如itcast
    • 测试连接,确定就行了

    4.使用JetBrains系列(IDEA,PyCharm…)连接数据库

    • 在最后边工具栏找到数据库

    在这里插入图片描述

    • 填写相关信息,第一次测试与连接都需要下载驱动程序文件,并且下载过程中可能还会伴随有多次失败的提示,重试就好了

    在这里插入图片描述

    • 主机号是你自己服务器的公网ip,密码是之前设置的密码,如itcast,此外注意填写SID就行了,测试连接,应用

    5.使用windows的命令提示符连接数据库

    sqlplus system/yourpassword@192.168.80.10:1521/helowin

    • 其中yourpassword是你的账户密码,system是你要连接的账户,192.168.80.10替换成你的公网ip地址,注意端口号还是1521

    参考文章:

    https://chenyunzhi.blog.csdn.net/article/details/115470037

  • 相关阅读:
    【2022】年度总结
    docker系列(1) - docker环境篇
    fpm模式下读取到is_cli为何为true
    基于SSM的高速公路的智能交通管理系统
    Android-第十三节03xUtils-数据库框架(增删改查)详解
    Upstream Consistent Hash
    P2 C++变量
    android U广播详解(一)
    Apollo学习(一)了解
    更好的print :嫌弃print太单调 那么来试试这几种方法吧
  • 原文地址:https://blog.csdn.net/m0_50315078/article/details/126714955