使用 Docker 建立 Oracle 12c & 新增使用者建立範例资料库

建立Docker

首先要安装Docker Desktop。
需登入才能下载安装档。
安装过程使用预设值,按OK就可以了。
安装完成后,会询问是否要开启 Hyper-V的功能:
http://img2.58codes.com/2024/20112573o1LFmekrpj.png

整个过程完成后,会登出。
再次登入后,Docker Desktop会自动启动,在工具列上会出现鲸鱼图示:
http://img2.58codes.com/2024/20112573fvjq27WrGe.png

待启动完成后,点击图示,跳出选单。
需要登入,才能下载Oracle映像档:
http://img2.58codes.com/2024/20112573EKMTQWAgNI.png

切换至Linux container,目前已经在Linux container,所以会显示Switch to Windows Container:
http://img2.58codes.com/2024/201125732oUfZf44kR.png

建立 Oracle 12c

Oracle官方提供了Oracle Database Enterprise Edition的映像档,可以快速地建置Oracle。
登入后,按下Proceed to Checkout:
http://img2.58codes.com/2024/201125739a73SVXUzl.png

填写基本资料后,按下Get Content:
http://img2.58codes.com/2024/20112573G51TuBuXon.png

就可以看到Oracle Docker映像档的说明文件了,Copy指令:
http://img2.58codes.com/2024/20112573MzfpMUxcfG.png

官方提供两种版本:

完整版
docker pull store/oracle/database-enterprise:12.2.0.1
精简版<slim>
docker pull store/oracle/database-enterprise:12.2.0.1-slim

下载映像档:
http://img2.58codes.com/2024/20112573bnuw0bMI6j.png

执行Container:

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

执行docker ps,确认Oracle Container正在运作:
http://img2.58codes.com/2024/20112573R5nygKuvVE.png

下载Oracle SQL Developer

开启Oracle SQL Develop的左上角,新增连线:
http://img2.58codes.com/2024/201125737CcBruErkK.png

官方预设如下:

使用者名称:sys密码:Oradoc_db1角色:SYSDBASID:ORCLCDB

点选测试,若成功连线,左下角状态会显示成功:
http://img2.58codes.com/2024/20112573IXiWaJYfyw.png

点选连线,就会出现MyOracle的资料库连线:
http://img2.58codes.com/2024/20112573IhmVNuAgjB.png

进入看看表格的资料:
http://img2.58codes.com/2024/20112573pYca2lZB0z.png

新增使用者

执行:

ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE;CREATE USER wei IDENTIFIED BY password;GRANT CONNECT, RESOURCE, DBA TO wei;ALTER SESSION SET "_ORACLE_SCRIPT"=FALSE;

新增连线,输入相关资讯:

使用者名称:wei密码:passwordSID:ORCLCDB

点选测试成功:
http://img2.58codes.com/2024/20112573tirScGgEmX.png

点选连线,在连线栏位出现WEI连线:
http://img2.58codes.com/2024/20112573EXrsvWPXsJ.png

建立範例资料库

到Oracle Sample Database 下载範例资料库。
压缩档有4个档案:

ot_create_user.sql:新增OT使用者,授予权限。
请修改如下,才会正确执行:

ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE;-- create new userCREATE USER OT IDENTIFIED BY yourpassword;-- grant priviledgesGRANT CONNECT, RESOURCE, DBA TO OT;ALTER SESSION SET "_ORACLE_SCRIPT"=FALSE;

新增OT资料库连线:
http://img2.58codes.com/2024/20112573QE4zR7wkuk.png

ot_schema.sql:建立tables schema。
开启WEI的SQL工作表:
http://img2.58codes.com/2024/20112573ssNtCD7gKQ.png
http://img2.58codes.com/2024/20112573UQhHQ93MyA.png
另一篇文章.NET Core 3.1 with Oracle 12c会接续使用该範例资料库,我们得做些修改,不然会出现几个类似以下的错误:

The types of the properties specified for the foreign key {'LocationId'} on entity type        'Warehouses' do not match the types of the properties in the principal key {'LocationId'} on entity type 'Locations'.

这是因为PK与FK栏位的长度设定必须吻合,才能顺利产出model。

我们可以删除或设定栏位长度,这边选择设定长度:

表格栏位长度locationslocation_id12employeesemployee_id12customerscustomer_id6contactscustomer_id6orderssalesman_id12ordersorder_id12productsproduct_id12warehouseswarehouse_id12ot_data.sql:汇入资料。
在汇入前要执行下方指令,更改Date的表示语系:
ALTER SESSION SET NLS_DATE_LANGUAGE='american';
ot_drop.sql:删除所有表格。

成功建立範例资料库。
接下来,我们将.NET Core与 Oracle 整合-.NET Core 3.1 with Oracle 12c。

参考资讯:
How to Create a User and Grant Permissions in Oracle
如何快速建立 Oracle Database Server 12c R2 资料库容器并建立使用者


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章