docker mac oracle是否在本地_oracle mac docker - CSDN
精华内容
参与话题
  • 首先要搞懂oracle的性质,我最开始一直终端里面复制本地的资源,怎么都找不到。后来才想通,对啊,得先把资源拷贝到docker里面,然后在docker中才能导入sql文件,被自己蠢哭???? 2.流程 2.1先把文件拷贝到docker...

    1.oracle是一个容器

    首先要搞懂oracle的性质,我最开始一直在终端里面复制本地的资源,怎么都找不到。后来才想通,对啊,得先把资源拷贝到docker里面,然后在docker中才能导入sql文件,被自己蠢哭😭
    在这里插入图片描述

    2.流程

    2.1先把文件拷贝到docker容器中

    首先进入docker容器:获取容器ID,然后把ID粘贴到下面那一行语句。

    lldeMacBook-Pro:~ ll$ docker ps -q;
    0fc02469a814
    lldeMacBook-Pro:~ ll$ docker exec -it 0fc02469a814 /bin/bash;
    root@oracle:/# 
    

    如果这时获取不到容器ID的话就试着重启一下docker
    在这里插入图片描述

    2.2将文件从本地拷贝到docker中

    可以先pwd一下查看当前路径,然后新建一个db文件夹来放置要拷贝进来的sql文件

    root@oracle:/# pwd       
    /
    root@oracle:/# ls
    bin   dev   lib    mnt   sbin      sys  usr
    boot  etc   lib64  opt   root       srv       tmp  var
    db    home  media  proc  run       start.sh  u01
    root@oracle:/# 
    

    然后把本地中的文件拷贝进docker中

    root@oracle:/# oracle cp /Users/ll/Desktop/del_data.sql /db;
    root@oracle:/# cd db;
    root@oracle:/db# ls
    del_data.sql  hr_cre.sql  hr_popul.sql
    root@oracle:/db# 
    

    第一行语句中的文件的路径可以通过直接把文件拖进终端来获取到.

    3.1 在oracle中执行SQL文件

    首先要进入oracle数据库

    root@oracle:/db# sqlplus system/oracle
    

    显示这些就成功了

    SQL*Plus: Release 11.2.0.2.0 Production on Sun Aug 30 00:47:14 2020
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    ERROR:
    ORA-28002: the password will expire within 6 days
    
    Connected to:
    Oracle Database 11g Express Edition Release 11.2.0.2.0 - 64bit Production
    
    SQL> 
    
    

    然后执行刚刚导入到oracle中的sql 文件,在@后面写路径

    SQL> @ /db/del_data.sql;
    

    显示这些就成功了

    
    
    1 row created.
    
    
    1 row created.
    
    
    1 row created.
    
    
    1 row created.
    
    
    1 row created.
    
    
    1 row created.
    
    
    1 row created.
    
    
    Commit complete.
    
    展开全文
  • Mac通过Docker安装Oracle 11g发布版 第一步:下载Oracle oracle官网下载地址:下载地址点击这里 Oracle帐号:2696671285@qq.com Oracle密码:Oracle123 进入官网找到如下版本进行下载(这里下载时需要输入账号和密码,...

    Mac通过Docker安装Oracle 11g发布版

    第一步:下载Oracle

    oracle官网下载地址:下载地址点击这里
    Oracle帐号:2696671285@qq.com
    Oracle密码:Oracle123

    进入官网找到如下版本进行下载(这里下载时需要输入账号和密码,文章前面有临时账号提供使用):
    在这里插入图片描述
    下载完成之后将两个压缩包解压到同一个目录下并放入不含中文的文件夹中(任意文件中都可以只要不含中文):
    在这里插入图片描述

    第二步:Docker

    1.启动docker

    systemctl start docker
    

    2.拉去oracle镜像

    docker pull jaspeen/oracle-11g
    

    输入命令后等待下载完成,时间可能会有点长,耐心等待…

    3.创建容器

    下面代码中的“<本地路径>”是指第一步中下载好的oracle解压后文件的文件路径,这里注意文件路径取database目录之前就可以,如果加上database目录会报错.
    这是我的本地路径:/Users/xxxx/oracle

    docker run --privileged --name oracle -p 1521:1521 -v <本地路径>:/install jaspeen/oracle-11g
    

    现在容器已经启动好了!!!

    4.查看已经启动好的容器

    docker ps
    

    下面是我本地启动好的容器,标记的地方是该容器的ID
    在这里插入图片描述

    5.进入oracle11g容器

    docker exec -it oracle /bin/bash
    

    或者

    docker exec -it <容器ID> /bin/bash
    

    <容器ID>:通过docker ps命令查看到的id
    这两个命令都可以使用选其一.
    下面是我本地截图;
    在这里插入图片描述

    第三步:进入Oracle

    1.切换到image的oracle用户

    这里如果需要输入密码时:点击这里查看密码
    密码:install

    su - oracle
    

    在这里插入图片描述

    2.通过sqlplus进入数据库

    sqlplus / as sysdba
    

    在这里插入图片描述

    3.修改初始账号

    alter user system identified by system;
    alter user sys identified by system;
    alter user dbsnmp identified by system;
    alter user sysman identified by system;
    

    第四步:Navicat连接oracle

    数据库连接成功

    Reference:
    https://hub.docker.com/r/jaspeen/oracle-11g/
    https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

    docker安装oracle11g后导入dmp文件请点击这里进入到首页

    展开全文
  • 因为学校的Database Management课环境用的是Oracle+sql developper, 但是我自己是macOS的环境, 无法直接在本地Oracle数据库, 因为不想装虚拟机所以选择了Docker, 比虚拟机更快而且占用资源少, 只是没想到配置...

    因为学校的Database Management课环境用的是Oracle+sql developper, 但是我自己是macOS的环境, 无法直接在本地装Oracle数据库, 因为不想装虚拟机所以选择了Docker, 比虚拟机更快而且占用资源少, 只是没想到在配置过程中遇到了不少问题, 花了一个晚上才完成配置, 现在贴上配置过程:

    我的laptop是macbookPro2017
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7jVDLxAx-1585270865145)(https://ws1.sinaimg.cn/large/006tNbRwgy1fwbxg8bg5nj30ee09aabc.jpg)]

    首先上几篇我在安装过程中参考的博客:
    在MAC上安装docker并部署oracle12.2
    在Mac上通过Docker部署Oracle Database 12.2版本
    在Mac上通过Docker部署Oracle Database 11.2.0版本

    首先下载Docker的客户端, 可以直接去官网下载, 我选择了上面一篇博文里提供的稳定版本:
    https://download.docker.com/mac/stable/Docker.dmg
    然后安装docker的环境, 登陆, 会在右上角看到小海豚的图标
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zaiwUioL-1585270865146)(https://ws3.sinaimg.cn/large/006tNbRwgy1fwbvdzz9tlj319s0rck4w.jpg)]
    然后去Github上下载Oracle的Docker Image文件(下载之后的文件是 docker-images-master.zip)
    https://github.com/oracle/docker-images
    把它解压到一个路径下, 我新建了一个folder叫Docker;
    然后去Oracle官网上下载Oracle的镜像文件
    https://www.oracle.com/technetwork/database/database-technologies/express-edition/downloads/index.html
    选这个版本
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oh3kFUFk-1585270865147)(https://ws2.sinaimg.cn/large/006tNbRwgy1fwbukooiqej30w40mmq7m.jpg)]
    得到一个文件oracle-xe-11.2.0-1.0.x86_64.rpm
    然后把这个文件移动到一个新的位置:
    打开之前解压的那个文件, 然后把它移动到之前的安装目录
    /Users/NameOfMac/Docker/docker-images-master/OracleDatabase/SingleInstance/dockerfiles/11.2.0.2/oracle-xe-11.2.0-1.0.x86_64.rpm
    这里注意一下, 在要把oracle的文件放到对应版本的文件夹里; 比如我下载的11.2版本, 就要放到11.2文件夹里~

    然后在此目录下的终端中执行命令:

    docker run --name oracle --shm-size=1GB -p 1521:1521 -p 5500:5500 -v /Users/oracle/u02/oradata:/opt/oracle/oradata oracle/database:11.2.0.2-xe
    

    这个命令有几个主要参数:-p 指定端口映射,主机到Docker的端口对应;-shm-size:/dev/shm的大小,不指定,默认是64M,会报错。-v 指定数据库的对应存储路径,我指定了一个Docker之外的本地存储,将数据库独立出来。

    完成这个命令,会在本地完成数据库的构建并启动数据库,同时输出告警日志的监控。
    会输出很多信息, 当你看到这个红框中的DATABASE IS READY TO USE这个时候就成功了;

    千万要注意, 在最上面类似这样的, 有一行, 是自动生成的密码, 千万不能忘了;

    ORACLE PASSWORD FOR SYS AND SYSTEM: 093b6723f505ca8a
    

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FXDtXetV-1585270865148)(https://ws4.sinaimg.cn/large/006tNbRwgy1fwbvogg78aj317q11sx6q.jpg)]

    然后这个时候你可以关掉这个终端了, 然后你可以在命令行中使用docker stop oracle来关闭oracle数据库, 然后使用docker start oracle来开启数据库;
    可以用docker logs oracle来获取数据库日志;

    到这里我已经长舒一口气感觉差不多完成了, 然鹅到这里我基本都没遇到什么bug, 真正操蛋的事情都在后面:

    然后这里就已经基本完成了在docker上的Oracle数据库配置, 首先我们进入sqlplus测试一下:
    我们使用命令:
    docker ps
    查看信息:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-y3s9YJZx-1585270865148)(https://ws4.sinaimg.cn/large/006tNbRwgy1fwbwjqyv0gj31ha05o7ka.jpg)]
    这里我们可以看到CONTAINER ID是6396a54c0ced
    然后使用命令:
    docker exec -it 6396a54c0ced /bin/bash
    要注意每个人的CONTAINER ID是不一样的, 自行替换成自己的;

    然后这时进入了bash
    输入命令sqlplus, 提示输入用户名和密码

    然后可以使用navicat这种软件来连接, 配置类似这样:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MMfdWvhy-1585270865149)(https://i.loli.net/2019/03/08/5c817cf7087fc.jpg)]
    用户名是sys, 密码是上面提到的, 我的是093b6723f505ca8a
    这个大家是不一样的

    然后使用这样来进入sqlplus中:

    docker exec -ti oracle sqlplus /nolog
    

    在你成功进入数据库之后, 你可以使用
    SELECT username,PROFILE FROM dba_users;
    这个命令来查询当前的用户, 可以发现之前的那个sys用户是在的
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ljvDKKif-1585270865149)(https://ws2.sinaimg.cn/large/006tNbRwgy1fwbx00e6snj31cw0fkwja.jpg)]

    不过问题不大, 假设你已经进来了,看到了这些用户, 这时候你可以使用下面的命令创建一个新的用户, 名为scott, 密码是tiger:

    CREATE USER  scott IDENTIFIED  BY tiger;
    

    然后你可以用下面的命令给你的这个scott用户提权:

    SQL GRANT CONNECT ,RESOURCE ,DBA TO scott;
    

    然后这时候你就会发现自己的用户库中多了一个scott用户了, 然后你可以使用sql developpe 或者navicat来管理数据库了;

    我建议你使用navicat, 因为sql developper容易出问题, 而且还有一个深坑, 我等会儿说:
    先上一下navicat的连接设置图:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KzYXKjb0-1585270865150)(https://ws4.sinaimg.cn/large/006tNbRwgy1fwbx3yrxrhj314010sdky.jpg)]
    我就是这样链接的, 只要你成功登入了, 以后就算sqlplus在抽风, 你还是能正常访问数据库的,嘻嘻;
    当然第一次连接一定要是sqlplus也正常的时候;
    如果按我这样的设置不成功的话, 相信我一定是玄学了, 请多试几次, 主不会抛弃你的!

    然后就是关于sql developper的问题, 这个软件是很多学校推荐用的, 也是我们学校上课使用的软件, 在windows和linux上都很好用, 但是在mac上可谓是惨绝人寰;

    首先安装之后, 第一次打开就可能出现问题, 会提示你Java版本必须要是8以上, 而且不能高于9, 真是脑残, 我电脑的Java环境是

    [23:20] (ノ>ω<)ノ ~ $ java -version
    java version "10.0.2" 2018-07-17
    Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
    Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
    
    

    显然是不支持的, 所以我很愤怒, 解决方法很暴力:
    在application中, 右键选择sqldevelopper点击show package contents
    然后进入目录/Applications/SQLDeveloper.app/Contents/MacOS/sqldeveloper.sh
    编辑这个文件sqldeveloper.sh
    然后把TMP_PATH后面的路径改成你自己的Java的安装路径;
    大概是这样的:

    #!/bin/bash 
    TMP_PATH=`/usr/libexec/java_home -F -v 1.8`
    if [ -z "$TMP_PATH" ] ; then
    	TMP_PATH=`/usr/libexec/java_home -F -v 9`
    	if [ -z "$TMP_PATH" ] ; then
    		osascript -e 'tell app "System Events" to display dialog "SQL Developer requires a minimum of Java 8. \nJava 8 can be downloaded from:\n http://www.oracle.com/technetwork/java/javase/downloads/"'
    		exit 1
    	fi
    fi
    
    export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home"
    
    if [[ -f $HOME/.sqldeveloper/18.3.0/env.sh ]]; 
    then
    		source "$HOME/.sqldeveloper/18.3.0/env.sh" >> /dev/null
    elif [[ -f $HOME/.sqldeveloper/env.sh ]]; 
    then
    	source "$HOME/.sqldeveloper/env.sh"  >> /dev/null
    fi
    
    here="${0%/*}"
    cd "${here}"
    cd ../Resources/sqldeveloper/sqldeveloper/bin
    bash ./sqldeveloper >>/dev/null
    
    

    我发现里面第一段话是一个类似于判断语句, 判断java的版本, 如果不符合就发一个Java版本不对的消息, 请不要犹豫, 直接把这段if then全部删掉;
    文件变成这样:

    #!/bin/bash 
    TMP_PATH=`/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home -F -v 1.8`
    
    
    export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home"
    
    if [[ -f $HOME/.sqldeveloper/18.3.0/env.sh ]]; 
    then
      	source "$HOME/.sqldeveloper/18.3.0/env.sh" >> /dev/null
    elif [[ -f $HOME/.sqldeveloper/env.sh ]]; 
    then
    	source "$HOME/.sqldeveloper/env.sh"  >> /dev/null
    fi
    
    here="${0%/*}"
    cd "${here}"
    cd ../Resources/sqldeveloper/sqldeveloper/bin
    bash ./sqldeveloper >>/dev/null
    
    

    这样保存就可以了, 直接打开sqldevelopper, 会提示你java版本有问题
    你可以选择无视他, 也可以勾选上"以后都别跟我提这事儿了", 这样假装自己是java8就好了;

    然后后面的配置都和navicat一样;

    祝你配置成功, 享受Docker的美妙!

    展开全文
  • 首先我们需要安装docker,此我们可以将docker理解为一个virtualbox ...Oracle是运行virtualbox上的,但是docker效率远远高于virtualbox!! 本教程以mac为例,win参考 1. docker安装教程请参考:Mac安装do...

    首先我们需要安装docker,在此我们可以将docker理解为一个virtualbox

    Oracle是运行在virtualbox上的,但是docker效率远远高于virtualbox!!

                                                               本教程以mac为例,win参考

       1.  docker安装教程请参考:Mac安装docker,win安装docker,安装成功docker之后,点击任务栏鲸鱼图标,

             点开Kitematic(docker GUI管理工具,更加方便管理docker)下载

                      

      2.打开iTerm或者Terminal之后输入下面命令可以查看docker基本信息

    docker info

     3.使用下面命令来查询oracle的images(镜像)(这步可以忽略,因为我在这下面实在没找到好用的oracle_11g的images)

    docker search oracle

    4.docker pull命令可以把镜像下载到本地,在此我们把aliyun的oracle镜像pull下来

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

    5.docker images命令可以查看本机已经有的镜像

    docker images

    6.接下来最重要的一步(创建containers,oracle运行在oracle中)

    docker run -d -p 1521:1521 --name oracle registry.aliyuncs.com/helowin/oracle_11g  //--name代表我们给containers的命名 最后面代表我们刚刚pull的images名称 注意区别images和containers概念 我们可以理解为images构成containers
    -p : 是容器内部端口绑定到指定的主机端口  
    -d : 让容器在后台运行。

     一定要使用-p命令映射端口,不然等会我们访问的只是宿主机的1521端口,而不是docker内部的1521端口

    可以在run后面添加-v 宿主机绝对目录:/home/oracle 来使宿主机和docker内部oracle目录挂载

    7.创建成功就可以启动containers(start后的oracle代表着我们刚刚run命令--name所起的名称)

    docker start oracle

    8.进入容器内部(此命令以root用户进入oracle的bash命令行界面)

    docker exec -it -u root oracle bash

    9.下面我们编辑oracle path变量来配置SID和PATH

    //首先进入vi进入profile文件内进行编辑
    
    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

    10.进行一下软件连接

    ln -s $ORACLE_HOME/bin/sqlplus /usr/bin

    11.切换到oracle用户

    su - oracle

    12.进入SQL命令行(/nolog表示无日志无登录进入 SQL命令行)

    sqlplus /nolog

    13.切换到sysdba用户下(sysdba是oracle最高权限用户)

    conn /as sysdba

    14.使用下面命令来更改sys和system用户的密码为oracle,并设置密码有效期永久

    alter user system identified by oracle;
    
    alter user sys identified by oracle;
    
    ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

    15.接下来我们可以在SQL命令行内使用sql语句,或者使用Navicat和DataGrip来管理oracle数据库 

    DataGrip连接oracle界面

    展开全文
  • MAC中安装oracle11g

    千次阅读 2018-09-10 17:55:43
    docker 中安装  步骤参考https://blog.csdn.net/qq_22481167/article/details/79951160  其中输入 docker images 列出本地主机上的镜像  此网站 菜鸟网站 有一些 docker 命令  2,默认用户是system,...
  • Docker挂载Mac本机的本地文件夹教程

    千次阅读 2018-12-26 15:42:44
    1、首先在Mac本机创建一个共享文件夹 ...2、使用 docker images 查看images名字为:alexeiled/docker-...3、进入DockerOracle容器里的目录,并/home 目录下创建一个文件夹名为withmymac root@Oracle:/# mkdir /ho...
  • docker search oracle #开始拉取oracle_xe精简版版本需一致,后面需要对他进行路径映射,否则你会发现docker一关闭,你的数据不会被持久化保存下去,嘿嘿 docker pull sath89/oracle-xe-11g ...
  • mac 下安装docker在docker下安装oracle

    千次阅读 2017-08-28 15:37:30
    阿里云里面的教程 https://cr.console.aliyun.com/#/accelerator下载安装这里的镜像也可以 http://mirrors.aliyun.com/docker-toolbox/mac/docker-toolbox/?spm=a2c1q.8351553.0.0.dn1SYR
  • Mac平台上Docker安装与使用

    万次阅读 多人点赞 2018-12-23 23:15:39
    Docker可以Linux,Windows,MacOS等平台上安装使用。我们都知道Linux有很多不同 的版本,例如Ubuntu,AIX,CentOS,Debian,Fedora,Oracle Linux,Red Hat Enterprise Linux,openSUSE and SUSE Linux Ent
  • Oracle 已经宣布支持了Docker部署,这也让我们在Mac上部署 Oracle 数据库有了多一个选择,这是我的第一个Docker应用,非常简便快速的就完成了部署,简捷是最直接的体验。
  • dockerMac系统用docker安装Oracle

    千次阅读 2018-12-25 14:45:06
     此处个人使用场景:Oracle数据库服务端不支持Mac系统,又不想本机安装虚拟机。 正文: 零、开局一张图: 本篇文章主要就是搭建了这么一个简单的容器,用以入门。 一、Mac系统安装Docker brew cask ...
  • 超级管理员:SYS(密码:change_on_install) 用户名:sys 口令:change_on_install 这样登录肯定是会报错的。 只要将口令改成:change_on_install空格as空格sysdba就可以登录了(这里的空格必须要有 ) ......
  • 前几天,笔者就遇到了“在本地上跑的好好的呀”这样的问题,因此开始研究Docker试着能否解决这个问题。 Attention : 比较尴尬的一点是当前的Docker官网仍然假设国外,因此如果需要查阅Docker的官方文档请自备梯子...
  • MAC上用Navicat连接本机Docker的Mysql8.0

    千次阅读 2018-05-27 11:26:49
    花了一点时间,在MAC上实现了用Navicat连接Docker中的Mysql,使用了最新的Mysql8.0版本。1. 下载Mysql的Docker镜像:
  • MAC下安装docker教程

    千次阅读 2015-09-21 11:24:57
    在Mac OS X 下安装 Docker 您安装的Docker需要用到Docker 工具箱,Docker 工具箱包含了以下Docker工具: 运行Docker机器的二进制工具 docker-machine运行Docker二进制Docker引擎 运行Docker二进制搬运...
  • Windows 安装 Docker

    万次阅读 2017-03-16 12:57:54
    Windows 安装 Docker...
  • 参考文章 https://www.runoob.com/docker/macos-docker-install.html ... 1.docker安装教程请参考:Mac安装docker,https://www.runoob.com/docker/macos-docker-inst...
  • 使用docker下载公共镜像的时候居然报错了 docker: Error response from daemon: unauthorized: incorrect username or password. 后来想起来自己在docker的hub改了之前的用户名密码,应该是本地的认证文件失效...
  • docker 初体验 for mac

    千次阅读 2016-05-12 15:00:53
    mac docker
  • OS X安装Docker

    万次阅读 2016-02-24 16:10:15
    Mac OS X用户使用Docker Toolbox安装Docker软件, Docker Toolbox包含了下列的Docker 工具: Docker CLI客户端, 用来运行Docker Engine,并创建镜像和容器 Docker Machine, 在Mac OS X终端运行Docker Engine命令 Docker...
1 2 3 4 5 ... 20
收藏数 1,042
精华内容 416
关键字:

docker mac oracle是否在本地