首先要安裝Docker Desktop。
需登入才能下載安裝檔。
安裝過程使用預設值,按OK就可以了。
安裝完成後,會詢問是否要開啟 Hyper-V的功能:
整個過程完成後,會登出。
再次登入後,Docker Desktop會自動啟動,在工具列上會出現鯨魚圖示:
待啟動完成後,點擊圖示,跳出選單。
需要登入,才能下載Oracle映像檔:
切換至Linux container,目前已經在Linux container,所以會顯示Switch to Windows Container:
Oracle官方提供了Oracle Database Enterprise Edition的映像檔,可以快速地建置Oracle。
登入後,按下Proceed to Checkout:
填寫基本資料後,按下Get Content:
就可以看到Oracle Docker映像檔的說明文件了,Copy指令:
官方提供兩種版本:
docker pull store/oracle/database-enterprise:12.2.0.1
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 Develop的左上角,新增連線:
官方預設如下:
點選測試,若成功連線,左下角狀態會顯示成功:
點選連線,就會出現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連線:
到Oracle Sample Database 下載範例資料庫。
壓縮檔有4個檔案:
ot_create_user.sql:新增OT使用者,授予權限。
請修改如下,才會正確執行:
ALTER SESSION SET "_ORACLE_SCRIPT"=TRUE;
-- create new user
CREATE USER OT IDENTIFIED BY yourpassword;
-- grant priviledges
GRANT 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。
我們可以刪除或設定欄位長度,這邊選擇設定長度:
表格 | 欄位 | 長度 |
---|---|---|
locations | location_id | 12 |
employees | employee_id | 12 |
customers | customer_id | 6 |
contacts | customer_id | 6 |
orders | salesman_id | 12 |
orders | order_id | 12 |
products | product_id | 12 |
warehouses | warehouse_id | 12 |
ALTER SESSION SET NLS_DATE_LANGUAGE='american';
成功建立範例資料庫。
接下來,我們將.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 資料庫容器並建立使用者