zoukankan      html  css  js  c++  java
  • 使用docker安装oracle11g数据库,并通过navicat远程连接

    简介

    oracle数据库是甲骨文公司旗下的一款关系型数据库产品,提供完整的数据管理功能,相较于mysql、redis等轻量级数据库,oracle数据库显得有点笨重,但因其数据安全性强、稳定性强等优点,仍被很多企业公司所使用。这里是通过docker容器技术来安装oracle,并使用navicat测试连接的详细教程。

    1、拉取 docker 镜像:

    命令:docker pull registry.cn-hangzhou.aliyuncs.com/helowin/oracle_11g
     
    该镜像由阿里云提供,比较大,可能需要下载一会,等待下载即可。

    2、查看 docker 镜像:

    命令:docker images

    然后运行镜像:docker run -d -p 1521:1521 --name oracle registry.aliyuncs.com/helowin/oracle_11g

    3、查看 docker 镜像:

    命令:docker ps
    启动orcle:docker start oracle (oracle也可以写成容器的id)

    4、配置oracle:

            第一步:进入容器

            首先需要进入到oracle容器中,使用命令:docker exec -it oracle bash

            第二步:修改环境变量

            修改环境变量,切换到root:su root,密码是helowin,然后编辑文件vi /etc/profile,在文件尾部添加如下几行内容:

              export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2

              export ORACLE_SID=helowin

              export PATH=$ORACLE_HOME/bin:$PATH

           注意:按i进入编辑模式,输入上述命令后,按ESC键退出编辑模式,再输入:wq保存退出

            第三步:使修改生效

             要记住export ORACLE_SID=helowin,helowin是naivcat登录的重要选项,

             加载环境变量

            source /home/oracle/.bash_profile

             最后使用指令source /etc/profile使环境变量立即生效

    5、配置oracle system用户的账号和密码:

            使用sysdba 连接oracle

           命令:sqlplus /nolog
                      conn /as sysdba
           连接成功后,修改system用户的密码
           命令:alter user system identified by system;(修改密码为system)
                 alter user sys identified by sys;(修改密码为sys)

    7、 配置oracle网络,实现远程访问连接

    修改oracle配置,主要修改listener.ora和tnsnames.ora两个文件,首先我们需要进到这两个文件目录cd /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin,如果这个目录不对,我们可以通过这样查找find / | grep /network/admin,这样会返回所有匹配的目录路径,然后再选出我们的文件目录

    1. 使用vi listener.ora命令修改listener.ora,内容如下:
    # listener.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))  # localhost:1521
        )
      )
    ADR_BASE_LISTENER = /home/oracle/app/oracle

    在这里插入图片描述

    1. 使用vi tnsnames.ora命令修改tnsnames.ora,内容如下:
    # tnsnames.ora Network Configuration File: /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora
    # Generated by Oracle configuration tools.
    
    LISTENER_HELOWIN =
      (ADDRESS = (PROTOCOL = TCP)(HOST = loaclhost)(PORT = 1521))
    
    HELOWIN =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = helowin)  
        )
      )
    

    在这里插入图片描述

    这里需要注意的是,HOST改为localhost,PORT改为1521,SERVICE_NAME设置为helowin,这个与前面2.2 节配置oracle数据库设置的export ORACLE_SID=helowin 相同。
    当然也可以在oracle用户下通过命令lsnrctl status来查看服务是否被侦听,如果报错:lsnrctl command not found,则需要先su 密码是helowin后,再切换到su - oracle 即可,

    1. lsnrctl status  查看网络状态
    2. lsnrctl reload 重启网络
    3. lsnrctl start  开启网络
    4. lsnrctl stop  停止网络

    在这里插入图片描述
    这里的helowin和helowinXDB就是启动中的服务名,需要放在tnsnames.ora中SERVICE_NAME ,这里为保持一致,选择helowin

    一切配置好之后,执行lsnrctl reload 重启网络

     8、navicat测试连接

             需要注意几点:

             主机ip地址是个人服务器的ip地址,端口是服务器的端口号,该端口号自动映射到oracle数据库的1521端口(docker已经设好)

             服务名是helowin而不是默认的ORAL

            用户名和密码就是在oracle新建数据库的账号密码,这里是system:system

    9、使用navicat 远程创建表空间和用户

           创建表空间

        create tablespace ZJBPM

        datafile '/home/oracle/app/oracle/oradata/helowin/ZJBPM.dbf'

        size 400M autoextend on next 50M;

          创建用户

         create user zjbpm identified by  zjbpm default tablespace ZJBPM;

          给用户授权

         grant  dba  to zjbpm;

    10、使用navicat再次连接docker的oracle数据库

       1,启动镜像

          docker run -d -p 1521:1521 --name oracle registry.aliyuncs.com/helowin/oracle_11g

       2.   启动容器

         docker start oracle

        运行进入容器docker exec -it oracle bash

        加载环境变量

        source /home/oracle/.bash_profile

        使用sysdba 连接oracle

        命令:sqlplus /nolog
                   conn /as sysdba
        连接成功后,修改system用户的密码
        命令:alter user system identified by system;(修改密码为system)
    小蘑菇
  • 相关阅读:
    C++ primer plus读书笔记——第16章 string类和标准模板库
    C++ primer plus读书笔记——第15章 友元、异常和其他
    C++ primer plus读书笔记——第14章 C++中的代码重用
    C++ primer plus读书笔记——第13章 类继承
    C++ primer plus读书笔记——第12章 类和动态内存分配
    开发中常用的一些神器推荐
    收集常用的Linux常用命令
    【数据库】13种会导致索引失效语句写法
    Windows终端利器Cmder
    嵌入式操作系统的主要特点都有哪些
  • 原文地址:https://www.cnblogs.com/wang66a/p/13652229.html
Copyright © 2011-2022 走看看