当前位置:首页 > CN2资讯 > 正文内容

docker安装 windows docker安装windows server2012

2天前CN2资讯


为什么使用了Docker而不直接安装Oracle数据库: 为了学习完卸载方便. 同时也为了转换数据库版本或者同时安装多个数据库方便,并且最后卸载的时候方便.(Oracle在Win10上卸载的时候,需要手动删除修改注册表和服务项,非常费事)

全文步骤:

  • 安装Docker
  • 拉取Oracle 官方提供的Oracle Database Server 12c R2 镜像.
  • 在Powershell或者cmd中连接镜像登陆数据库
  • 创建表空间并添加数据
  • 拉取Oracle 官方提供的镜像.

    首先前往DockerHub上该镜像的地址: 链接 , 然后注册并登陆自己的DockerHub账号以及Oracle账号,并点击同意镜像的使用协议.

    然后在Docker桌面端启动并登陆的条件下, 选择下面两个版本中的一个:

    • Oracle Database Server 12.2.0.1 Enterprise Edition (完整版)
    • Oracle Database Server 12.2.0.1 Enterprise Edition Slim Variant (精簡版)

    Slim Variant

    然后在powershell或者cmd中执行下面的两个命令中的对应一个(第二个是精简版):



    docker pull store/oracle/database-enterprise:12.2.0.1 docker pull store/oracle/database-enterprise:12.2.0.1-slim



    最后输入下面的命令启动镜像:



    docker run -d -it --name oracle -p 1521:1521 -p 5500:5500 store/oracle/database-enterprise:12.2.0.1-slim



    另外如果你想保留本次容器執行所建立的資料庫,可以透過 docker volume mapping 做到:



    docker volume create OracleDBData docker run -d -it --name oracle -p 1521:1521 -p 5500:5500 -v OracleDBData:/ORCL store/oracle/database-enterprise:12.2.0.1-slim



    在Powershell或者其他工具连接镜像登陆数据库

    官方容器的預設帳號密碼如下:

    • SID:ORCLCDB
    • 帳號:SYS
    • 密碼:Oradoc_db1

    如果不從外部連線的話(不从其他电脑连接,只在本电脑使用),可以直接在powershell中通过 docker exec 命令從 Oracle 容器中執行 sqlplus 工具:



    docker exec -it oracle bash -c "source /home/oracle/.bashrc; sqlplus /nolog"



    接著可以透過以下 SQL 命令登入 SYS 為 SYSDBA 角色:



    CONNECT SYS/Oradoc_db1 AS SYSDBA;



    或是直接在執行 sqlplus 時就直接登入(将上面两条命令合并为一条):



    docker exec -it oracle bash -c "source /home/oracle/.bashrc; sqlplus sys/Oradoc_db1@ORCLCDB as sysdba"



    建議第一次登入就先修改 SYS 預設密碼,請參考以下命令進行修改: ALTER USER SYS IDENTIFIED BY <new-password>;

    如果要透過Oracle SQL Developer登入,可以參考以下截圖進行設定(如果使用其他数据库管理IDE,如DBviewer等,配置都类似):(如果不选SID而是选服务名的话,应该填ORCLCDB.localdomain)





    建立用户

    當 Oracle 容器完全啟動之後,悲劇也就開始發生了,因為我連一個使用者都無法建立!

    因為 Oracle 資料庫跑在容器中,有著不同的安全性架構,從 Oracle 12cR1 開始,因為新增了多租戶架構(multitenant architecture),可以讓你在一個資料庫容器中執行多個租戶資料庫(tenant databases),所以建立使用者的 SQL 命令稍微有點不一樣,而這個問題對一個不常使用 Oracle 的開發者來說也太困難了。

    如果你用傳統的 SQL 命令建立一個新用戶,就會得到這個錯誤:ORA-65096: invalid common user or role name:


    SQL> CREATE USER WILL IDENTIFIED BY yourpassword; CREATE USER WILL IDENTIFIED BY yourpassword * ERROR at line 1: ORA-65096: invalid common user or role name


    而正確建立使用者的方法,應該用以下 SQL 命令:


    ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE; CREATE USER will IDENTIFIED BY yourpassword; GRANT CONNECT, RESOURCE, DBA TO WILL; ALTER SESSION SET "_ORACLE_SCRIPT"=FALSE;


    接著就可以用新帳號登入連線:


    CONNECT WILL/yourpassword AS SYSDBA;


    刪除用户

    基本上,只要跟「使用者」相關的操作,在 Oracle 容器中都會遇到問題,所以若要刪除上一節所建立的 WILL 帳號的話,必須使用以下 SQL 命令:


    ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE; DROP USER WILL CASCADE; ALTER SESSION SET "_ORACLE_SCRIPT"=FALSE;


    建立用户并建立数据库

    首先打开Dockers中该镜像的CLI:



    然后运行下面的命令建立一个:


    mkdir /home/oracle/table


    然后回到刚刚的powershell 建立表空间Test:


    CREATE TEMPORARY TABLESPACE Test_TEMP -- 建立临时表空间 TEMPFILE '/home/oracle/table.DBF' SIZE 32M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL; CREATE TABLESPACE Test -- 建立表空间 LOGGING DATAFILE '/home/oracle/Test.DBF' SIZE 32M AUTOEXTEND ON EXTENT MANAGEMENT LOCAL;


    然后注册用户(用户test,密码123456)并配置Test表空间的权限:


    ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE; -- 注意这里 CREATE USER test IDENTIFIED BY 123456 ACCOUNT UNLOCK DEFAULT TABLESPACE Test TEMPORARY TABLESPACE Test_TEMP; GRANT CONNECT,RESOURCE TO test; GRANT DBA TO test; ALTER USER test QUOTA UNLIMITED ON test;


    然后登陆该用户并向表空间中填入数据:


    connect test/123456; create table test.student( id int not null primary key, name varchar(20) ); insert into student values(123,'张三'); commit;


    验证数据是否写入:


    SELECT * FROM student;


    参考:

    • The Will Will Web

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/28686.html

      分享给朋友:

      “docker安装 windows docker安装windows server2012” 的相关文章

      全球主机论坛:交流与学习的技术社区

      在现代社会,全球主机论坛的出现为我们提供了一个交流和学习的平台。这个论坛主要聚焦于主机领域,用户可以自由讨论主机的各种话题,分享个人经验,并获取最新的行业信息。对我而言,这样的论坛不仅是一个获取知识的地方,更是一个与全球主机用户互动的社区。 全球主机论坛的重要性毋庸置疑。它为主机使用者提供了一个集中...

      RackNerd虚拟主机服务评测:高性价比的选择与多样化方案

      RackNerd是一家相对年轻但极具潜力的虚拟主机商,自2017年成立以来,一直致力于为客户提供高性价比的服务。作为我在寻找虚拟主机时发现的一家重要供应商,他们的服务范围非常广泛,包括虚拟主机、VPS主机、独立服务器以及服务器托管等,我着实被他们多样的产品所吸引。 RackNerd不仅限于某个特定地...

      全面掌握VPS线路检测:提高网络性能的关键工具和方法

      当我们讨论VPS(虚拟专用服务器)时,线路检测是不可或缺的一部分。VPS线路检测主要是评估VPS网络性能的一个环节,涵盖了多个重要的测试方法,比如ping值测试、路由跟踪,以及下载速度测试。每一种检测方式都有其独特的功能,通过这些手段,我们能够获取到相关的网络性能数据,从而更好地了解VPS的使用状态...

      BuyVM色情网站托管服务解析 - 提升成人内容运营安全与效率

      什么是BuyVM色情服务 当我提到BuyVM的时候,可能很多人对这个名字还不太熟悉。简单来说,BuyVM是一家提供虚拟专用服务器(VPS)和网站托管服务的公司,专注于各种类型的内容,包括成人色情内容。它的历史可以追溯到多个年份前,BuyVM在业内逐渐赢得了声誉,成为不少成人网站的首选托管平台。以其可...

      搬瓦工官网是哪个?全面解析搬瓦工的官方链接和服务

      搬瓦工官网是哪个? 当我提到“搬瓦工”,很多朋友可能会想知道它的官网到底在哪儿。其实,搬瓦工的主官网地址是 bandwagonhost.com。不过,有时访问这个主域名可能会遇到点小问题。为了方便用户,搬瓦工还提供了几个官方镜像站,包括 bwh1.net、bwh8.net、bwh81.net、bwh...

      GoDaddy虚拟主机全面指南:轻松搭建您理想的网站

      GoDaddy虚拟主机概述 提到GoDaddy,很多人首先会想到它作为域名注册商的地位。但是,GoDaddy不仅限于此,提供虚拟主机服务的实力也不容小觑。对于想要在网上建立个人博客、企业站点或者电子商务平台的朋友来说,GoDaddy的虚拟主机服务是一个值得考虑的选项。它的多样性和可靠性,吸引了不少新...