[Verification] Moving from Oracle 19c to 26ai! Can DBLINK be used? Summary of Verification Procedures

26ai_en

Have you tried the latest Oracle Database 26ai (Free) yet? While attention is focused on AI features, as on-site engineers, our main concern is “compatibility with existing assets (Oracle 19c).”

In this article, I verified “whether we can connect from Oracle 19c to 26ai and if DBLINK and the sample schema (CO) work normally.” Below is a summary of the specific procedures and results used in the verification.

🛠 Verification Step 1: Network Configuration (tnsnames.ora)

[Environment: Oracle 19c Terminal]

As preparation for verification, we will configure the client-side tnsnames.ora. Note: Please be aware that for connections to a PDB (Pluggable Database), you must specify the service name, not the SID.

1. Hostname Resolution (/etc/hosts)

Ensure that the server name 26ai-single can be resolved from the client terminal.

192.168.xx.xx  26ai-single

2. Creating tnsnames.ora

I added the following to $ORACLE_HOME/network/admin/tnsnames.ora on the client side.

FREEPDB1 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 26ai-single)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = freepdb1)
    )
  )

Verify that tnsping FREEPDB1 succeeds on the client terminal, and the preparation is complete.

[oracle@orcl19c ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora
[oracle@orcl19c ~]$ cat $ORACLE_HOME/network/admin/tnsnames.ora
FREEPDB1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 26ai-single)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = freepdb1)
)
)
[oracle@orcl19c ~]$ tnsping freepdb1

TNS Ping Utility for Linux: Version 19.0.0.0.0 - Production on 06-JAN-2026 20:49:40

Copyright (c) 1997, 2019, Oracle. All rights reserved.

Used parameter files:


Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 26ai-single)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = freepdb1)))
OK (0 msec)
[oracle@orcl19c ~]$ sqlplus co/co@freepdb1

SQL*Plus: Release 19.0.0.0.0 - Production on Tue Jan 6 20:45:01 2026
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle. All rights reserved.

Last Successful login time: Tue Jan 06 2026 20:36:30 -05:00

Connected to:
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0

SQL> select banner from v$version;

BANNER
-------------------------------------------------------------------------------------
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free


SQL> show user
USER is "CO"
SQL> show con_name

CON_NAME
------------------------------
FREEPDB1
SQL> select table_name from user_tables;

TABLE_NAME
-------------------------------------
CUSTOMERS
STORES
PRODUCTS
ORDERS
SHIPMENTS
ORDER_ITEMS
INVENTORY

7 rows selected.

📦 Verification Step 2: Installing the CO Schema

[Environment: Oracle Database 26ai Server Side]

We will prepare the verification data. This work is done on the database server (26ai) side. Install the Oracle official sample schema “Customer Orders (CO)” in advance.

1. Connect as SYS User

Execute this on the server terminal.

sqlplus sys/password@localhost:1521/freepdb1 as sysdba

2. Execute Installation Script

Run the script obtained from GitHub or other sources on the server.

@co_install.sql

Check the logs, and if it is COMMITed without errors, the installation is successful. Now, the server-side preparation is complete.

[oracle@26ai-single ~]$ sqlplus / as sysdba

SQL*Plus: Release 23.26.0.0.0 - Production on Tue Jan 6 20:27:53 2026
Version 23.26.0.0.0

Copyright (c) 1982, 2025, Oracle. All rights reserved.


Connected to:
Oracle AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0

SQL> alter session set container=freepdb1;

Session altered.

SQL> show con_name

CON_NAME
------------------------------
FREEPDB1
SQL> @/tmp/db-sample-schemas-23.3/customer_orders/co_install.sql

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]: YES
****** Creating CUSTOMERS table ....

Table created.

****** Creating STORES table ....

Table created.

:::

Table altered.


Table altered.


Installation
-------------
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

Thank you!
--------------------------------------------------------
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 AI Database 26ai Free Release 23.26.0.0.0 - Develop, Learn, and Run for Free
Version 23.26.0.0.0
[oracle@26ai-single ~]$

🔗 Verification Step 3: DBLINK Loopback Test

[Environment: Oracle 19c Terminal]

From here, we return to the client terminal for verification. “Connect from Oracle 19c to 26ai, and then throw a query via DBLINK.” If this works, it proves that 26ai can be used even in a distributed database environment. In this case, instead of preparing an external DB, I created a loopback link to itself for verification.

1. Create DBLINK (as CO User)

Connect to the CO user on the server (created earlier) from the client terminal and execute the following.

sqlplus co/password@FREEPDB1

After connecting, create a DBLINK with the following SQL.

CREATE DATABASE LINK loopback_link
  CONNECT TO co IDENTIFIED BY "password"
  USING 'FREEPDB1';

2. Operation Check SQL

-- Normal SELECT
SELECT count(*) FROM customers;

-- SELECT via DBLINK
SELECT count(*) FROM customers@loopback_link;

-- Check link vitality
SELECT sysdate FROM dual@loopback_link;

Result: Everything worked normally! There was no data loss, and sysdate returned normally.

[oracle@orcl19c ~]$ sqlplus -v

SQL*Plus: Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL> CREATE DATABASE LINK loopback_link
2 CONNECT TO co IDENTIFIED BY co
3 USING 'FREEPDB1';

Database link created.

SQL> alter session set nls_date_format='YYYY/MM/DD HH24:MI:SS';

Session altered.

SQL> SELECT sysdate FROM dual@loopback_link;

SYSDATE
-------------------
2026/01/06 20:00:00

SQL> SELECT count(*) FROM orders@loopback_link;

COUNT(*)
----------
1950

✅ Conclusion

Regarding the connection from Oracle 19c to Oracle Database 26ai and basic operations, no particular problems were found within the scope of this simple verification procedure. It seems that even if you replace only the server side with the latest 26ai while maintaining the existing client environment, basic SQL and DBLINK functions can be used.

Note: This verification uses the Oracle Database 26ai Free environment. Please note that behavior may differ in the future official release (Enterprise Edition, etc.) or when using more complex functions.

❓ FAQ (Frequently Asked Questions)

Q1. I get ORA-28040 (No matching authentication protocol) when connecting. A. Check the sqlnet.ora settings on the server side (26ai). Security requirements are higher in 26ai. If old JDBC drivers or clients are mixed, you need to lower the allowance level by adding SQLNET.ALLOWED_LOGON_VERSION_SERVER=12a or similar to sqlnet.ora on the server side. In this Oracle 19c environment, I was able to connect with the default settings.

Q2. When I look at V$VERSION, it displays “23ai”? A. Since 26ai Free is based on the 23ai release family, internal version notations like 23.x.x or 23ai may remain. Functionally, it is provided as 26ai.

Q3. Where can I get the CO schema? A. It can be downloaded from Oracle’s official GitHub repository (db-sample-schemas). It is highly recommended as it is very convenient for verifying the latest features.

📝 Article Summary

I will organize the important points found through this verification.

  • Connection compatibility is good Connection from Oracle 19c (Client) to 26ai worked without problems just by performing basic settings.
  • DBLINK also works Cross-version DBLINK also functioned normally within the scope of this verification (SELECT/sysdate retrieval).
  • Verification on Free Edition This is strictly a behavior check on the Free edition. For production migration, do not forget sufficient testing using the official version and actual applications!

Although there are some anxieties about connecting to a new database, the basic mechanisms have not changed. First, try experiencing the power of 26ai in your development environment!

[reference]
CREATE DATABASE LINK

Verification Environment: Oracle 19.3 (Linux), Oracle Database 26ai Free (Linux)

コメント

Copied title and URL