建立Docker
首先要安装Docker Desktop。
需登入才能下载安装档。
安装过程使用预设值,按OK就可以了。
安装完成后,会询问是否要开启 Hyper-V的功能:
整个过程完成后,会登出。
再次登入后,Docker Desktop会自动启动,在工具列上会出现鲸鱼图示:
待启动完成后,点击图示,跳出选单。
需要登入,才能下载Oracle映像档:
切换至Linux container,目前已经在Linux container,所以会显示Switch to Windows Container:
建立 Oracle 12c
Oracle官方提供了Oracle Database Enterprise Edition的映像档,可以快速地建置Oracle。
登入后,按下Proceed to Checkout:
填写基本资料后,按下Get Content:
就可以看到Oracle Docker映像档的说明文件了,Copy指令:
官方提供两种版本:
完整版docker pull store/oracle/database-enterprise:12.2.0.1
精简版<slim>docker pull store/oracle/database-enterprise:12.2.0.1-slim
下载映像档:
执行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正在运作:
下载Oracle SQL Developer
开启Oracle SQL Develop的左上角,新增连线:
官方预设如下:
使用者名称:sys密码:Oradoc_db1角色:SYSDBASID:ORCLCDB点选测试,若成功连线,左下角状态会显示成功:
点选连线,就会出现MyOracle的资料库连线:
进入看看表格的资料:
新增使用者
执行:
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点选测试成功:
点选连线,在连线栏位出现WEI连线:
建立範例资料库
到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资料库连线:
ot_schema.sql:建立tables schema。
开启WEI的SQL工作表:
另一篇文章.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。
我们可以删除或设定栏位长度,这边选择设定长度:
在汇入前要执行下方指令,更改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 资料库容器并建立使用者