文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

在docker中怎么配置Oracle11g

2023-07-05 20:06

关注

这篇文章主要介绍“在docker中怎么配置Oracle11g”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“在docker中怎么配置Oracle11g”文章能帮助大家解决问题。

docker镜像拉取及相关配置

在docker打开的情况下,使用下方命令拉去镜像,大概需要下载3个G的image文件

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

启动Oracle镜像并为镜像新建容器,注意此处的oracle11g即为容器名,可以自主设置

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

由于在windows10专业版系统的docker是使用wsl作为容器内核,所以存在着一系列的内存,CPU以及交换空间的一些限制,我们可以在一个

.wslconfig文件中配置如上信息。若是在运行上语句的时候发现容器并没有正常运行,而是以一个139的错误代码退出,则说明我们的wsl的一部分限制导致了此容器不能正常运行。此时,我们可以在C:\Users\username路径下新建一个.wslconfig文件,并写入如下内容(若是文件已存在则直接添加即可)

[wsl2]kernelCommandLine = vsyscall=emulate

打开容器命令如下(针对上一步没有正常打开容器)

docker start oracle11g

进入已打开容器命令如下

docker exec -it oracle11g bash

进行环境变量的配置

使用管理员账户密码为helowin

su root

编辑profile环境变量文件

vi /etc/profile

点击i进入文件编辑模式,在文件末尾添加如下信息,按ESC键退出编辑模式,键入:wq保存文件并退出文件

export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_2export ORACLE_SID=helowinexport PATH=$ORACLE_HOME/bin:$PATH

键入exit命令退出管理员账号,回到oracle用户

exit

使用如下命令使刚设置的环境变量生效

source /etc/profile

由于Oracle是基于实例和用户的,所以我们可以新建一个用户来完成我们当前需要完成的工作

sqlplus /nolog #打开sqlplus但是不进行连接操作conn /as sysdba; #无用户、密码以最高权限登录alter user system identified by oracle; #更改system用户密码为oracleconn system/oracle; #连接system数据库create user username identified by username; #创建一个新用户,用户名可自由设置grant all privileges to username;#为新用户赋权shutdown immediate; #关闭当前数据库exit; #退出sqlplus

设置oracle支持外部连接访问

登录管理员用户,密码为helowin

su root

使用如下命令获得当前主机名

hostname

获得监听器listener.ora和tnsnames.ora文件的目录

find / | grep /network/admin

使用获得的路径编辑文件,将文件中的localhost变量用我们查询到的hostname名替代

vi /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/listener.oravi /home/oracle/app/oracle/product/11.2.0/dbhome_2/network/admin/tnsnames.ora

此时,我们需要做的配置已经全部做好了,之后只需要保持容器为运行的状态即可。

使用Nacicat连接已经配置好的数据库

首先,我们需要到Instant Client for Microsoft Windows (x64) 64-bit (oracle.com)即Oracle的官网下载数据库连接要用到的证书文件。(注意,我们需要下载与自己Oracle数据库版本对应的证书文件)

查询数据库的具体版本,需要在sqlplus中执行如下命令

select * from v$version

为Navicat配置OCI环境,Navicat选择工具--->选项--->环境--->OCI环境,选中我们解压后的证书文件夹中的oci.dll文件即可。新建连接的时候的配置如下:

在docker中怎么配置Oracle11g

使用python连接Oracle数据库

建议使用anoconda创建一个新的虚拟环境来进行新的系统任务。

首先,使用如下命令下载需要进行连接oracle数据库的包cx_Oracle

pip install cx_Oracle

其后,我们需要创建一个.py文件,并在其中输入如下代码:

import cx_Oracleconn = cx_Oracle.connect('账号','密码','数据IP:端口/数据库实例名称')cusor = conn.cursor()print('连接数据库成功!')print(cx_Oracle.__version__)

直接运行该代码是行不通的,我们需要将必要的驱动文件放到与该文件同级目录下,驱动文件在我们之前下载的证书文件压缩包中已经有了,我们需要移动的文件有oci.dll,ocijdbc11.dll,ociw32.dll,orannzsbb11.dll,oraocci11.dll,oraociei11.dll,orasql11.dll

配置好文件之后,我们运行代码得到如下输出即代表数据库连接完成

连接数据库成功!8.3.0

关于“在docker中怎么配置Oracle11g”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯