INTRO : Oracle Database 23ai Free container images for ARM-based Apple MacBook computers released
The M-series chips combine the CPU, GPU, and Neural Engine on a single chip, facilitating software development and AI/ML tasks. Many development tools and creative software have been optimized for the M-series, resulting in faster build times, smoother performance, and better overall efficiency. Also M-series chips are known for their long battery life. Macbook Air M1 battery lasts for 18 hours and this post is written on a Macbook Air M1. It looks like a marketing post so far.
In the Stack Overflow Developer Survey, macOS consistently ranks as second for popular operating systems among developers. Many programming languages and frameworks, including Python, Node.js, Docker, and Kubernetes now offer native support for M-series chips.
Finally announced on November 12, 2024, Oracle’s release of the 23ai database container images now enables us to create a test environment within seconds.
Two types of the image are currently available :
The Full image: supports all the database features provided by Oracle Database 23ai Free.
The Lite image: smaller image size with a stripped-down installation of the database.
The Lite image has a smaller storage footprint than the Full image (~80% image size reduction) and a substantial improvement in image pull time. This image is useful in CI/CD scenarios and for simpler use cases where advanced database features are not required.
I will provide all the steps and use the Full image. You may also refer to Oracle Database 23ai (23.5.0.0) Free Container Image Documentation for more information.
Step 1: Download the docker image from the repository.
osmandinc@192 ~ % docker pull container-registry.oracle.com/database/free:latest
latest: Pulling from database/free
6a9349137477: Download complete
335d210dc58f: Download complete
ddc1d209435d: Download complete
8972f4d06457: Download complete
186e95b32d60: Download complete
ceca1aa3cfee: Download complete
79c50cc993f3: Download complete
6abd26f61958: Download complete
ed20c3681431: Download complete
f2875f41253e: Download complete
1794616db9e5: Download complete
6a71dedb2252: Download complete
b797dddc88dc: Download complete
310b14631e65: Download complete
fbb8b5f03b65: Download complete
d9fadc2df827: Download complete
9931f5880d82: Download complete
f67b822f4157: Download complete
9bf7a78ae69f: Download complete
4bdc0b3e1a73: Download complete
06f03eeb6131: Download complete
Digest: sha256:5e32631ded5a03e42ff1e551e942b02da0a4f7e91afecd259745600c6035aa3a
Status: Downloaded newer image for container-registry.oracle.com/database/free:latest
container-registry.oracle.com/database/free:latest
Step 2: Run docker container in the background.
osmandinc@192 ~ % docker run -d -p 1426:1521 --name oracle-free -e ORACLE_PWD=InsaneDBAiscool container-registry.oracle.com/database/free:latest
0bbd6422dac928b5de6219348d306c58882c1fc9b454d498561301fb7a865184
You may also run Step 2 directly without running Step 1. With docker run command, if image is not available it will be pulled from repository.
With this command it will start an Oracle 23ai database with ORACLE_SID = FREE and with a pluggable database in it with ORACLE_PDB_SID=FREEPDB1. It will be listening on port 1521 by default. But we will mapping port 1426 on the host machine to port 1521 in the container. Since my school number is 1426, we will be using it.
If you want to use The Lite image, replace the container-registry.oracle.com/database/free:latest value with container-registry.oracle.com/database/free:latest-lite
Step 3: Download your popular Oracle Client – Oracle SQL Developer Command Line (SQLcl).
Add the downloaded directory to your PATH variable to in .zsh_profile.
osmandinc@192 ~ % cat .zprofile
export PATH=/opt/homebrew/bin:/opt/homebrew/Cellar/mongodb-community-shell/4.2.0/bin:/usr/local/bin:/Users/osmandinc/Downloads/sqlcl/bin:$PATH
...
Step 4: Check alert.log of database to make sure that everything is working fine.
osmandinc@192 ~ % docker logs oracle-free
Starting Oracle Net Listener.
Oracle Net Listener started.
Starting Oracle Database instance FREE.
Oracle Database instance FREE started.
The Oracle base remains unchanged with value /opt/oracle
SQL*Plus: Release 23.0.0.0.0 - Production on Wed Nov 27 17:40:52 2024
Version 23.5.0.24.07
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
SQL>
User altered.
SQL>
User altered.
SQL>
Session altered.
SQL>
User altered.
SQL> Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
The Oracle base remains unchanged with value /opt/oracle
#########################
DATABASE IS READY TO USE!
#########################
The following output is now a tail of the alert.log:
Dumping current patch information
===========================================================
No patches have been applied
===========================================================
2024-11-27T17:40:52.727089+00:00
FREEPDB1(3):Opening pdb with Resource Manager plan: DEFAULT_PLAN
Completed: Pluggable database FREEPDB1 opened read write
Completed: ALTER DATABASE OPEN
2024-11-27T17:40:53.180719+00:00
FREEPDB1(3):TABLE AUDSYS.AUD$UNIFIED: ADDED INTERVAL PARTITION SYS_P344 (3803) VALUES LESS THAN (TIMESTAMP' 2024-11-28 00:00:00')
2024-11-27T17:41:41.302111+00:00
TABLE SYS.WRP$_REPORTS: ADDED AUTOLIST FRAGMENT SYS_P362 (2) VALUES (( 1452480138, TO_DATE(' 2024-11-25 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_DETAILS: ADDED AUTOLIST FRAGMENT SYS_P363 (2) VALUES (( 1452480138, TO_DATE(' 2024-11-25 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
TABLE SYS.WRP$_REPORTS_TIME_BANDS: ADDED AUTOLIST FRAGMENT SYS_P366 (2) VALUES (( 1452480138, TO_DATE(' 2024-11-25 00:00:00', 'syyyy-mm-dd hh24:mi:ss', 'nls_calendar=gregorian') ))
Step 5: Connect to the database
We will connect to the database using SQLcI with the command provided below.
osmandinc@192 ~ % sql system/InsaneDBAiscool@localhost:1426/FREEPDB1
SQLcl: Release 24.3 Production on Wed Nov 27 20:43:19 2024
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Last Successful login time: Wed Nov 27 2024 20:43:20 +03:00
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
SQL> select 1923;
1923
_______
1923
Step 6: (Optional) Installing Sample Schemas in Oracle Database 23ai (HR,SH and CO)
In Oracle Database 23ai, creating sample schemas has become significantly easier compared to older versions. Order Entry(OE) and Product Media (PM) schemas has been archived.
In earlier releases of Oracle Database, setting up sample schemas like HR, SH, OE, IX, BI, and PM required additional steps. I relied on a pre-exported dump file (e.g., Sampleschemas.dmp) to import these schemas into the database. This process, while effective, involved several manual steps, including setting up directories and importing the dump file.
Oracle Database 23ai simplifies the process, making it more straightforward to create and configure these schemas. Now we have three sample schemas. HR,CO and SH. Instead of relying on an external dump file, I now use commands provided below. We will use Oracle Database 23ai Sample Schemas – Installation of Sample Schemas as a reference.
Download Sample Schemas from Github :
osmandinc@192 ~ % docker exec -it oracle-free bash
bash-4.4$ cd /home/oracle/
bash-4.4$ curl -sSL https://github.com/oracle-samples/db-sample-schemas/archive/refs/tags/v23.3.tar.gz | tar xzf -
Installing HR (Human Resources) Schema in Oracle Database 23ai :
-- Run the commands inside the docker container
bash-4.4$ export ORACLE_PDB_SID=freepdb1
bash-4.4$ export ORACLE_PWD=InsaneDBAiscool
bash-4.4$ cd /home/oracle/db-sample-schemas-23.3/human_resources
bash-4.4$ sed -i "s/ACCEPT pass PROMPT/ACCEPT pass DEFAULT "$ORACLE_PWD" PROMPT/" hr_install.sql
bash-4.4$ echo -e "\n\n\n" | /opt/oracle/product/23ai/dbhomeFree/sqlcl/bin/sql system/"$ORACLE_PWD"@FREEPDB1 @hr_install.sql
SQLcl: Release 24.1 Production on Fri Nov 29 18:56:31 2024
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Last Successful login time: Fri Nov 29 2024 18:56:31 +00:00
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
Thank you for installing the Oracle Human Resources Sample Schema.
This installation script will automatically exit your database session
at the end of the installation or if any error is encountered.
The entire installation will be logged into the 'hr_install.log' log file.
Enter a password for the user HR:
Enter a tablespace for HR [USERS]: Do you want to overwrite the schema, if it already exists? [YES|no]: ****** Creating REGIONS table ....
Table REGIONS created.
INDEX REG_ID_PK created.
Table REGIONS altered.
****** Creating COUNTRIES table ....
Table COUNTRIES created.
Table COUNTRIES altered.
****** Creating LOCATIONS table ....
Table LOCATIONS created.
INDEX LOC_ID_PK created.
Table LOCATIONS altered.
Sequence LOCATIONS_SEQ created.
****** Creating DEPARTMENTS table ....
Table DEPARTMENTS created.
INDEX DEPT_ID_PK created.
Table DEPARTMENTS altered.
Sequence DEPARTMENTS_SEQ created.
****** Creating JOBS table ....
Table JOBS created.
INDEX JOB_ID_PK created.
Table JOBS altered.
****** Creating EMPLOYEES table ....
Table EMPLOYEES created.
INDEX EMP_EMP_ID_PK created.
Table EMPLOYEES altered.
Table DEPARTMENTS altered.
Sequence EMPLOYEES_SEQ created.
****** Creating JOB_HISTORY table ....
Table JOB_HISTORY created.
INDEX JHIST_EMP_ID_ST_DATE_PK created.
Table JOB_HISTORY altered.
****** Creating EMP_DETAILS_VIEW view ...
View EMP_DETAILS_VIEW created.
****** Creating indexes ...
Index EMP_DEPARTMENT_IX created.
Index EMP_JOB_IX created.
Index EMP_MANAGER_IX created.
Index EMP_NAME_IX created.
Index DEPT_LOCATION_IX created.
Index JHIST_JOB_IX created.
Index JHIST_EMPLOYEE_IX created.
Index JHIST_DEPARTMENT_IX created.
Index LOC_CITY_IX created.
Index LOC_STATE_PROVINCE_IX created.
Index LOC_COUNTRY_IX created.
****** Adding table column comments ...
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Session altered.
****** Populating REGIONS table ....
PL/SQL procedure successfully completed.
****** Populating COUNTRIES table ....
PL/SQL procedure successfully completed.
****** Populating LOCATIONS table ....
PL/SQL procedure successfully completed.
****** Populating DEPARTMENTS table ....
Table DEPARTMENTS altered.
PL/SQL procedure successfully completed.
****** Populating JOBS table ....
PL/SQL procedure successfully completed.
****** Populating EMPLOYEES table ....
PL/SQL procedure successfully completed.
****** Populating JOB_HISTORY table ....
PL/SQL procedure successfully completed.
Commit complete.
Table DEPARTMENTS altered.
Procedure SECURE_DML compiled
Trigger SECURE_EMPLOYEES compiled
Trigger SECURE_EMPLOYEES altered.
Procedure ADD_JOB_HISTORY compiled
Trigger UPDATE_JOB_HISTORY compiled
Commit complete.
Installationverification
___________________________
Verification:
Table provided actual
______________ ___________ _________
regions 5 5
countries 25 25
departments 27 27
locations 23 23
employees 107 107
jobs 19 19
job_history 10 10
Thankyou!
___________________________________________________________
The installation of the sample schema is now finished.
Please check the installation verification output above.
You will now be disconnected from the database.
Thank you for using Oracle Database!
Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
Installing CO (Customer Orders) Schema in Oracle Database 23ai :
-- Run the commands inside the docker container
bash-4.4$ export ORACLE_PDB_SID=freepdb1
bash-4.4$ export ORACLE_PWD=InsaneDBAiscool
bash-4.4$ cd /home/oracle/db-sample-schemas-23.3/customer_orders
bash-4.4$ sed -i "s/ACCEPT pass PROMPT/ACCEPT pass DEFAULT "$ORACLE_PWD" PROMPT/" co_install.sql
bash-4.4$ echo -e "\n\n\n" | /opt/oracle/product/23ai/dbhomeFree/sqlcl/bin/sql system/"$ORACLE_PWD"@FREEPDB1 @co_install.sql
SQLcl: Release 24.1 Production on Fri Nov 29 19:13:46 2024
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Last Successful login time: Fri Nov 29 2024 19:13:47 +00:00
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
Thank you for installing the Oracle Customer Orders Sample Schema.
This installation script will automatically exit your database session
at the end of the installation or if any error is encountered.
The entire installation will be logged into the 'co_install.log' log file.
Enter a password for the user CO:
Enter a tablespace for CO [USERS]: Do you want to overwrite the schema, if it already exists? [YES|no]: ****** Creating CUSTOMERS table ....
Table CUSTOMERS created.
****** Creating STORES table ....
Table STORES created.
****** Creating PRODUCTS table ....
Table PRODUCTS created.
****** Creating ORDERS table ....
Table ORDERS created.
****** Creating SHIPMENTS table ....
Table SHIPMENTS created.
****** Creating ORDER_ITEMS table ....
Table ORDER_ITEMS created.
****** Creating INVENTORY table ....
Table INVENTORY created.
****** Create views
View CUSTOMER_ORDER_PRODUCTS created.
View STORE_ORDERS created.
View PRODUCT_REVIEWS created.
View PRODUCT_ORDERS created.
****** Creating indexes ...
Index CUSTOMERS_NAME_I created.
Index ORDERS_CUSTOMER_ID_I created.
Index ORDERS_STORE_ID_I created.
Index SHIPMENTS_STORE_ID_I created.
Index SHIPMENTS_CUSTOMER_ID_I created.
Index ORDER_ITEMS_SHIPMENT_ID_I created.
Index INVENTORY_PRODUCT_ID_I created.
****** Adding constraints to tables ...
Table CUSTOMERS altered.
Table CUSTOMERS altered.
Table STORES altered.
Table STORES altered.
Table STORES altered.
Table PRODUCTS altered.
Table PRODUCTS altered.
Table ORDERS altered.
Table ORDERS altered.
Table ORDERS altered.
Table ORDERS altered.
Table SHIPMENTS altered.
Table SHIPMENTS altered.
Table SHIPMENTS altered.
Table SHIPMENTS altered.
Table ORDER_ITEMS altered.
Table ORDER_ITEMS altered.
Table ORDER_ITEMS altered.
Table ORDER_ITEMS altered.
Table ORDER_ITEMS altered.
Table INVENTORY altered.
Table INVENTORY altered.
Table INVENTORY altered.
Table INVENTORY altered.
****** Adding table column comments ...
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Session altered.
****** Populating CUSTOMERS table ....
PL/SQL procedure successfully completed.
****** Populating PRODUCTS table ....
PL/SQL procedure successfully completed.
****** Populating STORES table ....
PL/SQL procedure successfully completed.
****** Populating ORDERS table ....
PL/SQL procedure successfully completed.
****** Populating SHIPMENTS table ....
PL/SQL procedure successfully completed.
****** Populating ORDER_ITEMS table ....
PL/SQL procedure successfully completed.
****** Populating INVENTORY table ....
PL/SQL procedure successfully completed.
Commit complete.
****** Resetting values for IDENTITY columns ....
Table PRODUCTS altered.
Table STORES altered.
Table CUSTOMERS altered.
Table ORDERS altered.
Table SHIPMENTS altered.
Table INVENTORY altered.
Installationverification
___________________________
Verification:
Table provided actual
______________ ___________ _________
customers 392 392
stores 23 23
products 46 46
orders 1950 1950
shipments 1892 1892
order_items 3914 3914
inventory 566 566
Thankyou!
___________________________________________________________
The installation of the sample schema is now finished.
Please check the installation verification output above.
You will now be disconnected from the database.
Thank you for using Oracle Database!
Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
Installing SH (Sales History) Schema in Oracle Database 23ai :
-- Run the commands inside the docker container
bash-4.4$ export ORACLE_PDB_SID=freepdb1
bash-4.4$ export ORACLE_PWD=InsaneDBAiscool
bash-4.4$ cd /home/oracle/db-sample-schemas-23.3/sales_history
bash-4.4$ sed -i "s/ACCEPT pass PROMPT/ACCEPT pass DEFAULT "$ORACLE_PWD" PROMPT/" sh_install.sql
bash-4.4$ echo -e "\n\n\n" | /opt/oracle/product/23ai/dbhomeFree/sqlcl/bin/sql system/"$ORACLE_PWD"@FREEPDB1 @sh_install.sql
SQLcl: Release 24.1 Production on Fri Nov 29 19:15:58 2024
Copyright (c) 1982, 2024, Oracle. All rights reserved.
Last Successful login time: Fri Nov 29 2024 19:15:59 +00:00
Connected to:
Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
Thank you for installing the Oracle Sales History Sample Schema.
This installation script will automatically exit your database session
at the end of the installation or if any error is encountered.
The entire installation will be logged into the 'sh_install.log' log file.
Enter a password for the user SH:
Enter a tablespace for SH [USERS]: Do you want to overwrite the schema, if it already exists? [YES|no]:
Start time: 29-NOV-24 07.16.00.306198 PM +00:00
****** Creating COUNTRIES table ....
Table COUNTRIES created.
****** Creating CUSTOMERS table ....
Table CUSTOMERS created.
****** Creating PROMOTIONS table ....
Table PROMOTIONS created.
****** Creating PRODUCTS table ....
Table PRODUCTS created.
****** Creating TIMES table ....
Table TIMES created.
****** Creating CHANNELS table ....
Table CHANNELS created.
****** Creating SALES table ....
Table SALES created.
****** Creating COSTS table ....
Table COSTS created.
****** Creating SUPPLEMENTAL_DEMOGRAPHICS table ....
Table SUPPLEMENTARY_DEMOGRAPHICS created.
****** Creating views ....
View PROFITS created.
****** Creating materialized views ....
Materialized view CAL_MONTH_SALES_MV created.
Materialized view FWEEK_PSCAT_SALES_MV created.
****** Adding comments to tables...
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Comment created.
Session altered.
****** Disabling table constraints for the load
Table SALES altered.
Table SALES altered.
Table SALES altered.
Table SALES altered.
Table SALES altered.
Table CUSTOMERS altered.
Table COSTS altered.
Table COSTS altered.
Table COSTS altered.
Table COSTS altered.
Table TIMES altered.
Table CHANNELS altered.
Table COUNTRIES altered.
Table PROMOTIONS altered.
Table PRODUCTS altered.
Table CUSTOMERS altered.
****** Populating CHANNELS table ....
PL/SQL procedure successfully completed.
****** Populating COUNTIRES table ....
PL/SQL procedure successfully completed.
****** Populating PRODUCTS table ....
PL/SQL procedure successfully completed.
Commit complete.
****** Populating COSTS table ....
Load data into table SH.COSTS
csv
column_names on
delimiter ,
enclosures ""
double
encoding UTF8
row_limit off
row_terminator default
skip_rows 0
skip_after_names
batch_rows 10000
batches_per_commit 1
clean_names transform
column_size rounded
commit on
date_format YYYY-MM-DD
errors 50
map_column_names off
method insert
timestamp_format
timestamptz_format
locale
scan_rows 100
truncate off
unknown_columns_fail on
#INFO Number of rows processed: 82,112
#INFO Number of rows in error: 0
#INFO Last row processed in final committed batch: 82,112
SUCCESS: Processed without errors
****** Populating CUSTOMERS table ....
Load data into table SH.CUSTOMERS
csv
column_names on
delimiter ,
enclosures ""
double
encoding UTF8
row_limit off
row_terminator default
skip_rows 0
skip_after_names
batch_rows 10000
batches_per_commit 1
clean_names transform
column_size rounded
commit on
date_format YYYY-MM-DD
errors 50
map_column_names off
method insert
timestamp_format
timestamptz_format
locale English United States
scan_rows 100
truncate off
unknown_columns_fail on
#INFO Number of rows processed: 55,500
#INFO Number of rows in error: 0
#INFO Last row processed in final committed batch: 55,500
SUCCESS: Processed without errors
****** Populating PROMOTIONS table ....
Load data into table SH.PROMOTIONS
csv
column_names on
delimiter ,
enclosures ""
double
encoding UTF8
row_limit off
row_terminator default
skip_rows 0
skip_after_names
batch_rows 10000
batches_per_commit 1
clean_names transform
column_size rounded
commit on
date_format YYYY-MM-DD
errors 50
map_column_names off
method insert
timestamp_format
timestamptz_format
locale English United States
scan_rows 100
truncate off
unknown_columns_fail on
#INFO Number of rows processed: 503
#INFO Number of rows in error: 0
#INFO Last row processed in final committed batch: 503
SUCCESS: Processed without errors
****** Populating SALES table ....
Load data into table SH.SALES
csv
column_names on
delimiter ,
enclosures ""
double
encoding UTF8
row_limit off
row_terminator default
skip_rows 0
skip_after_names
batch_rows 10000
batches_per_commit 1
clean_names transform
column_size rounded
commit on
date_format YYYY-MM-DD
errors 50
map_column_names off
method insert
timestamp_format
timestamptz_format
locale English United States
scan_rows 100
truncate off
unknown_columns_fail on
#INFO Number of rows processed: 918,843
#INFO Number of rows in error: 0
#INFO Last row processed in final committed batch: 918,843
SUCCESS: Processed without errors
****** Populating TIMES table ....
Load data into table SH.TIMES
csv
column_names on
delimiter ,
enclosures ""
double
encoding UTF8
row_limit off
row_terminator default
skip_rows 0
skip_after_names
batch_rows 10000
batches_per_commit 1
clean_names transform
column_size rounded
commit on
date_format YYYY-MM-DD
errors 50
map_column_names off
method insert
timestamp_format
timestamptz_format
locale English United States
scan_rows 100
truncate off
unknown_columns_fail on
#INFO Number of rows processed: 1,826
#INFO Number of rows in error: 0
#INFO Last row processed in final committed batch: 1,826
SUCCESS: Processed without errors
****** Populating SUPPLEMENTARY_DEMOGRAPHICS table ....
Load data into table SH.SUPPLEMENTARY_DEMOGRAPHICS
csv
column_names on
delimiter ,
enclosures ""
double
encoding UTF8
row_limit off
row_terminator default
skip_rows 0
skip_after_names
batch_rows 10000
batches_per_commit 1
clean_names transform
column_size rounded
commit on
date_format YYYY-MM-DD
errors 50
map_column_names off
method insert
timestamp_format
timestamptz_format
locale English United States
scan_rows 100
truncate off
unknown_columns_fail on
#INFO Number of rows processed: 4,500
#INFO Number of rows in error: 0
#INFO Last row processed in final committed batch: 4,500
SUCCESS: Processed without errors
****** Enabling table constraints
Table TIMES altered.
Table CHANNELS altered.
Table COUNTRIES altered.
Table PROMOTIONS altered.
Table PRODUCTS altered.
Table CUSTOMERS altered.
Table SALES altered.
Table SALES altered.
Table SALES altered.
Table SALES altered.
Table SALES altered.
Table CUSTOMERS altered.
Table COSTS altered.
Table COSTS altered.
Table COSTS altered.
Table COSTS altered.
****** Creating indexes for SALES table ....
INDEX SALES_PROD_BIX created.
INDEX SALES_CUST_BIX created.
INDEX SALES_TIME_BIX created.
INDEX SALES_CHANNEL_BIX created.
INDEX SALES_PROMO_BIX created.
Index SUP_TEXT_IDX created.
****** Creating indexes for COSTS table ....
INDEX COSTS_PROD_BIX created.
INDEX COSTS_TIME_BIX created.
****** Creating indexes for PRODUCTS table ....
INDEX PRODUCTS_PROD_STATUS_BIX created.
Index PRODUCTS_PROD_SUBCAT_IX created.
Index PRODUCTS_PROD_CAT_IX created.
INDEX CUSTOMERS_GENDER_BIX created.
INDEX CUSTOMERS_MARITAL_BIX created.
INDEX CUSTOMERS_YOB_BIX created.
INDEX FW_PSC_S_MV_SUBCAT_BIX created.
INDEX FW_PSC_S_MV_CHAN_BIX created.
INDEX FW_PSC_S_MV_PROMO_BIX created.
INDEX FW_PSC_S_MV_WD_BIX created.
****** Creating dimensions ....
Dimension CUSTOMERS_DIM created.
Dimension PRODUCTS_DIM created.
Dimension TIMES_DIM created.
Dimension CHANNELS_DIM created.
Dimension PROMOTIONS_DIM created.
****** Gathering statistics for schema ...
PL/SQL procedure successfully completed.
End time: 29-NOV-24 07.16.18.572880 PM +00:00
1 row selected.
Installationverification
___________________________
Verification:
Table provided actual
_____________________________ ___________ _________
channels 5 5
costs 82112 82112
countries 35 35
customers 55500 55500
products 72 72
promotions 503 503
sales 918843 918843
times 1826 1826
supplementary_demographics 4500 4500
Thankyou!
___________________________________________________________
The installation of the sample schema is now finished.
Please check the installation verification output above.
You will now be disconnected from the database.
Thank you for using Oracle Database!
Disconnected from Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free
Version 23.5.0.24.07
SQL> EXEC DBMS_STATS.gather_database_stats;
PL/SQL procedure successfully completed.
Conclusion:
With native ARM support, Mac developers can now create test environments just in seconds, taking full advantage of Oracle Database 23ai. Sample schemas like HR, SH and CO are invaluable for developers and database administrators to test features, demonstrate use cases, and experiment with various database functionalities. These schemas are pre-populated with realistic sample data to simulate real-world scenarios.
Hope it helps.


Leave your comment