Will Oracle Database 23ai
make you a better DBA or Developer?
Sandesh Rao
Vice President
AIOps and Machine Learning
@sandeshr
Russ Lowenthal
Vice President
Database Security
Are you a DBA, or a Developer?
Show us your hands, please!
Copyright © 2024, Oracle and/or its affiliates
Sandesh Rao
Vice President
AIOps and Machine Learning
Russ Lowenthal
Vice President , Database Security
Who are we?
Copyright © 2024, Oracle and/or its affiliates
Oracle Database 23ai
Next-Generation Converged Database
Over 300 major new features, plus thousands of enhancements
Available today on Exadata, ODA,
Exadata Cloud@Customer, OCI, Azure and
Free Edition – and soon on Google Cloud
Major focus on
• AI for Data features
• Developer/Analyst features
• Mission-Critical features
Latest long-term support release of Oracle’s flagship database
Copyright © 2024, Oracle and/or its affiliates
More than 300 New Features in Oracle Database 23ai
https://apex.oracle.com / database-features/
Copyright © 2024, Oracle and/or its affiliates
Make modern apps and analytics
easy to generate and run
for all use cases at any scale
With Generative AI (LLM)
Oracle Database 23ai Vision
Copyright © 2024, Oracle and/or its affiliates
How do we deliver the Vision?
Converged Database
Complete: all modern data types, workloads, and development styles
Simple: Add a SQL Statement, not a database to support any need of modern applications
Running on
Autonomous Database
Powerful: All the benefits of converged database running on Exadata
Simple: Fully-managed cloud service
Copyright © 2024, Oracle and/or its affiliates
AI Vector Search
Breakthrough technology that simplifies and
optimizes searching for documents, images,
patterns, and data that have similar semantics
Copyright © 2024, Oracle and/or its affiliates
Specialized Vector Store?
42
16
21
50
You need to send lots of business data
since you can't predict the question
Dedicated vector databases are not good at searching or securing business data
Copyright © 2024, Oracle and/or its affiliates
A better solution is to store and
search both types of data together
Copyright © 2024, Oracle and/or its affiliates
Ultra simple and powerful
Combines customer data,
product data, and AI search
in 6 lines of SQL
Fully consistent
Single integrated solution
Find houses that are similar to this picture and
match the customer’s preferred city and budget
Combine AI Vector Search with any data in your query
SELECT …
FROM house_for_sale
WHERE price <= (SELECT budget FROM customer …)
AND city in (SELECT search_city FROM customer …)
ORDER BY vector_distance(for_sale_house_vector, :input_vector)
FETCH FIRST 10 ROWS ONLY;
Copyright © 2024, Oracle and/or its affiliates
Oracle AI Vector Search improves Generative AI
by augmenting prompts with detailed private content
This helps produce better and more accurate answers to
user questions
Called: Retrieval Augmented Generation (RAG)
Copyright © 2024, Oracle and/or its affiliates
GenAI uses the question plus
the content and general
knowledge to provide an
informed answer 4
Retrieval Augmented Generation works like this
User
A user’s natural language
question is encoded as
a vector and sent to
AI Vector Search
1
AI Vector Search finds private
content such as documents
stored in the database that match
the user's question
2
GenAI
The user's question is augmented
with the content
3
Copyright © 2024, Oracle and/or its affiliates
Why did you come to OC YATRA 2024?
Copyright © 2024, Oracle and/or its affiliates
BECOMING AN AI EXPERT
Copyright © 2024, Oracle and/or its affiliates
What else is on Oracle Database 23ai?
Will it make you a better DBA or Developer?
Copyright © 2024, Oracle and/or its affiliates
Get the best of both worlds
with JSON Duality Views
Copyright © 2024, Oracle and/or its affiliates
A single database can now support both relational and document data
providing the benefits of both
{
"student" : "S3245",
"name" : "Jill",
"major" : "Math",
"schedule" :
[ {
"time" : "14:00",
"course" : "Math 201",
"room" : "A102",
"teacher" : "Adam"
},
{
"time" : "16:00",
"course" : "Science 102",
"room" : "B405",
"teacher" : "Anita"
}
]
}
S CH E D UL E FO R : J IL L
Copyright © 2024, Oracle and/or its affiliates
Using Oracle Database API for MongoDB
Easily convert your existing application with
Oracle Database API for MongoDB
Copyright © 2024, Oracle and/or its affiliates
Time 4:00 PM
Room B405
Teacher Anita
Time 2:00 PM
Room A102
Teacher Adam
Math 201 Science102
Match the needs of each app use case
Time 2:00 PM Room A312 Students 60
Time 4:00 PM Room B405 Students 90
Time 6:00 PM Room A151 Students 20
Science102
Course Science 101 Teachers Adam, Alex
Course Science 102 Teachers Anita, Anna
Course Science 201 Teachers Anita, Adam
TEACHER SCHEDULE FOR ANITA
SCIENCE DEPT
COU RSE CU RR ICULU M
FOR SCIENCE
ST UD ENT SCH ED ULE FOR JIL L
M AT H M AJOR
Never
duplicates Data
Always consistent
Copyright © 2024, Oracle and/or its affiliates
Copyright © 2024, Oracle and/or its affiliates
We have a performance problem;
we need a cache!
Copyright © 2024, Oracle and/or its affiliates
Accelerate your applications 10x
with True Cache
True Cache
Copyright © 2024, Oracle and/or its affiliates
APP
Writes
Current Reads
Reads
Light-weight (nearly) disk-less Oracle instance
Deployed as a cache
Data in True Cache instances is automatically in synch
Any SQL query can be easily directed to the cache instead
of the back-end database
Conceptually, a disk-less Data Guard
Copyright © 2024, Oracle and/or its affiliates
Quickly resolve poor performance
caused by change in execution plan
• Simplified use of SQL Plan Management
--Loads all known plans from cursor cache, AWR,
--and automatic SQL tuning sets into a SQL plan baseline.
--Use Evolve Advisor to find the best plan.
--Then mark it as accepted.
select dbms_spm.add_verified_sql_plan_baseline('<sql_id>');
Copyright © 2024, Oracle and/or its affiliates
Real-Time SQL Plan Management
Addressing
SQL performance regressions
without manual intervention
Creates SQL plan baselines automatically
Operates without manual intervention
Repairs SQL performance regressions
• Detects plan change in the foreground
• Identifies a previous reference plan and checks to see which
has the best performance
• The better plan is accepted as a SQL Plan Baseline
• The SQL statement subsequently uses the better plan
Copyright © 2024, Oracle and/or its affiliates
Copyright © 2024, Oracle and/or its affiliates
Automatically recover from
certain ORA-00600 errors
• Automatic Error Mitigation
SQL> select ... from ...
ERROR at line 1:
ORA-00600: internal error code, arguments: [...]
SQL> alter session set sql_error_mitigation = 'on';
SQL> select ... from ...
n rows returned
Copyright © 2024, Oracle and/or its affiliates
SQL> select ... from ...
ERROR at line 1:
ORA-00600: internal error code, arguments: [...]
SQL> alter session set sql_error_mitigation = 'on';
SQL> select ... from ...
n rows returned
Copyright © 2024, Oracle and/or its affiliates
Copyright © 2024, Oracle and/or its affiliates
Even wider tables ...
• Up to 4096 columns
Copyright © 2024, Oracle and/or its affiliates
SQL> alter system set max_columns=extended scope=spfile;
Copyright © 2024, Oracle and/or its affiliates
Make sure your clients are updated to 23ai
• Older clients support only up to 1000 columns
• BEWARE of row chaining
Copyright © 2024, Oracle and/or its affiliates
No more insecure
case-insensitive passwords
• 10G password verifies are no longer accepted
• Parameter SEC_CASE_SENSITIVE_LOGON does not exist in 23ai
Copyright © 2024, Oracle and/or its affiliates
Get started quickly and securely
using new developer role
• DB_DEVELOPER_ROLE
Copyright © 2024, Oracle and/or its affiliates
Grant privileges to an entire schema
in one command
• GRANT ... ON SCHEMA ... TO ...
• Inheritance
Oracle Database 23ai
Small, but useful features
Copyright © 2024, Oracle and/or its affiliates
--Regardless of whether the object exists or not,
--the DROP command don't produce an error
SQL> drop table t1;
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> drop table if exists t1 ... ;
Table dropped
Copyright © 2024, Oracle and/or its affiliates
--Regardless of whether the object exists or not,
--the CREATE command don't produce an error
SQL> create table t1 ( ... );
ERROR at line 1:
ORA-00955: name is already used by an existing object
SQL> create table if not exists t1 (c1 number);
Table created
Copyright © 2024, Oracle and/or its affiliates
--Group by expression must be written in full
--Works for HAVING clause as well
select owner, to_char(created, 'YYYYMM'), count(*)
from dba_objects
group by owner, to_char(created, 'YYYYMM');
Copyright © 2024, Oracle and/or its affiliates
--Group by expression must be written in full
--Works for HAVING clause as well
alter session set group_by_position_enabled=true;
select owner, to_char(created, 'YYYYMM'), count(*)
from dba_objects
group by 1, 2;
Copyright © 2024, Oracle and/or its affiliates
Copyright © 2024, Oracle and/or its affiliates
sqlplus appuser@alias_does_not_exist
ERROR:
ORA-12154: Cannot connect to database.
Could not find alias alias_does_not_exist in
/opt/oracle/product/23ai/dbhome_1/network/admin/tnsnames.ora
Help: https://docs.oracle.com/error-help/db/ora-12154/
Copyright © 2024, Oracle and/or its affiliates
SQL> oerr ORA-12154
Message: "Cannot connect to database. Could not find alias %s in %s."
Help: https://docs.oracle.com/error-help/db/ora-12154/
Cause: A connection to a database or other service was requested using a
connection alias but the alias specified could not be resolved into
a connect descriptor using one of the configured naming methods.
Action: Do the following:
- Check for mistakes in the connection string that you used.
- If you have a sqlnet.ora file containing a NAMES.DIRECTORY_PATH
parameter, then ensure that the parameter contains valid values.
- If you are using an alias from a tnsnames.ora file:
* Verify that the tnsnames.ora file exists, is in the proper
directory, and is accessible.
* Ensure that the alias exists in one of the tnsnames.ora files.
* Ensure that there are no syntax errors anywhere in the
tnsnames.ora file or files. Look for unmatched parentheses or
stray characters. Ensure that magic quotes are not used.
...
Copyright © 2024, Oracle and/or its affiliates
SQL> ping salesgold
Network service name mapping file:
/opt/oracle/product/23ai/dbhome_1/network/admin/tnsnames.ora
Attempting to contact: (DESCRIPTION = (CONNECT_TIMEOUT=5) (RETRY_COUNT=2) (RETRY_DELAY=3)
(TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (LOAD_BALANCE=on) (ADDRESS = (PROTOCOL =
TCP)(HOST=localhost)(PORT=1521))) (CONNECT_DATA= (SERVICE_NAME = pdb1)))
Ok (1.177 msec)
Autonomous Health Framework Insights 23ai
Copyright © 2024, Oracle and/or its affiliates
$ ahf analysis create --type insights • Simple interface
• Easy to navigate
• Less human error
• Insights and recommendations
• Knows about known issues
$ ahf analysis create --type insights
Copyright © 2024, Oracle and/or its affiliates
--Examines a BIGFILE tablespace to find objects that can be moved
--to the start of the data files. In the end, shrink the data file
--to release the space.
--Tablespace MUST be ASSM managed.
--Does not work for SYSTEM and SYSAUX.
exec dbms_space.tablespace_shrink('USERS');
Copyright © 2024, Oracle and/or its affiliates
the most
important change
Copyright © 2024, Oracle and/or its affiliates
--No longer need to select from dual
select sysdate from dual;
select sysdate;
select sysdate from dual;
Oracle Database 23ai will allow you to
become a better DBA or Developer!!
Take the chance and visit the sessions at OC YATRA to learn about
all the thrilling news in Oracle Database 23ai
Copyright © 2024, Oracle and/or its affiliates
DBAs
run the world
Oracle
Developers
And Oracle
shape it for the future
Copyright © 2024, Oracle and/or its affiliates
Thank You
Copyright © 2024, Oracle and/or its affiliates

Will Oracle 23ai make you a better DBA or Developer?

  • 1.
    Will Oracle Database23ai make you a better DBA or Developer? Sandesh Rao Vice President AIOps and Machine Learning @sandeshr Russ Lowenthal Vice President Database Security
  • 2.
    Are you aDBA, or a Developer? Show us your hands, please! Copyright © 2024, Oracle and/or its affiliates
  • 3.
    Sandesh Rao Vice President AIOpsand Machine Learning Russ Lowenthal Vice President , Database Security Who are we? Copyright © 2024, Oracle and/or its affiliates
  • 4.
    Oracle Database 23ai Next-GenerationConverged Database Over 300 major new features, plus thousands of enhancements Available today on Exadata, ODA, Exadata Cloud@Customer, OCI, Azure and Free Edition – and soon on Google Cloud Major focus on • AI for Data features • Developer/Analyst features • Mission-Critical features Latest long-term support release of Oracle’s flagship database Copyright © 2024, Oracle and/or its affiliates
  • 5.
    More than 300New Features in Oracle Database 23ai https://apex.oracle.com / database-features/ Copyright © 2024, Oracle and/or its affiliates
  • 6.
    Make modern appsand analytics easy to generate and run for all use cases at any scale With Generative AI (LLM) Oracle Database 23ai Vision Copyright © 2024, Oracle and/or its affiliates
  • 7.
    How do wedeliver the Vision? Converged Database Complete: all modern data types, workloads, and development styles Simple: Add a SQL Statement, not a database to support any need of modern applications Running on Autonomous Database Powerful: All the benefits of converged database running on Exadata Simple: Fully-managed cloud service Copyright © 2024, Oracle and/or its affiliates
  • 8.
    AI Vector Search Breakthroughtechnology that simplifies and optimizes searching for documents, images, patterns, and data that have similar semantics Copyright © 2024, Oracle and/or its affiliates
  • 9.
    Specialized Vector Store? 42 16 21 50 Youneed to send lots of business data since you can't predict the question Dedicated vector databases are not good at searching or securing business data Copyright © 2024, Oracle and/or its affiliates
  • 10.
    A better solutionis to store and search both types of data together Copyright © 2024, Oracle and/or its affiliates
  • 11.
    Ultra simple andpowerful Combines customer data, product data, and AI search in 6 lines of SQL Fully consistent Single integrated solution Find houses that are similar to this picture and match the customer’s preferred city and budget Combine AI Vector Search with any data in your query SELECT … FROM house_for_sale WHERE price <= (SELECT budget FROM customer …) AND city in (SELECT search_city FROM customer …) ORDER BY vector_distance(for_sale_house_vector, :input_vector) FETCH FIRST 10 ROWS ONLY; Copyright © 2024, Oracle and/or its affiliates
  • 12.
    Oracle AI VectorSearch improves Generative AI by augmenting prompts with detailed private content This helps produce better and more accurate answers to user questions Called: Retrieval Augmented Generation (RAG) Copyright © 2024, Oracle and/or its affiliates
  • 13.
    GenAI uses thequestion plus the content and general knowledge to provide an informed answer 4 Retrieval Augmented Generation works like this User A user’s natural language question is encoded as a vector and sent to AI Vector Search 1 AI Vector Search finds private content such as documents stored in the database that match the user's question 2 GenAI The user's question is augmented with the content 3 Copyright © 2024, Oracle and/or its affiliates
  • 14.
    Why did youcome to OC YATRA 2024? Copyright © 2024, Oracle and/or its affiliates
  • 15.
    BECOMING AN AIEXPERT Copyright © 2024, Oracle and/or its affiliates
  • 16.
    What else ison Oracle Database 23ai? Will it make you a better DBA or Developer? Copyright © 2024, Oracle and/or its affiliates
  • 17.
    Get the bestof both worlds with JSON Duality Views Copyright © 2024, Oracle and/or its affiliates
  • 18.
    A single databasecan now support both relational and document data providing the benefits of both { "student" : "S3245", "name" : "Jill", "major" : "Math", "schedule" : [ { "time" : "14:00", "course" : "Math 201", "room" : "A102", "teacher" : "Adam" }, { "time" : "16:00", "course" : "Science 102", "room" : "B405", "teacher" : "Anita" } ] } S CH E D UL E FO R : J IL L Copyright © 2024, Oracle and/or its affiliates
  • 19.
    Using Oracle DatabaseAPI for MongoDB Easily convert your existing application with Oracle Database API for MongoDB Copyright © 2024, Oracle and/or its affiliates
  • 20.
    Time 4:00 PM RoomB405 Teacher Anita Time 2:00 PM Room A102 Teacher Adam Math 201 Science102 Match the needs of each app use case Time 2:00 PM Room A312 Students 60 Time 4:00 PM Room B405 Students 90 Time 6:00 PM Room A151 Students 20 Science102 Course Science 101 Teachers Adam, Alex Course Science 102 Teachers Anita, Anna Course Science 201 Teachers Anita, Adam TEACHER SCHEDULE FOR ANITA SCIENCE DEPT COU RSE CU RR ICULU M FOR SCIENCE ST UD ENT SCH ED ULE FOR JIL L M AT H M AJOR Never duplicates Data Always consistent Copyright © 2024, Oracle and/or its affiliates
  • 21.
    Copyright © 2024,Oracle and/or its affiliates We have a performance problem; we need a cache!
  • 22.
    Copyright © 2024,Oracle and/or its affiliates Accelerate your applications 10x with True Cache
  • 23.
    True Cache Copyright ©2024, Oracle and/or its affiliates APP Writes Current Reads Reads Light-weight (nearly) disk-less Oracle instance Deployed as a cache Data in True Cache instances is automatically in synch Any SQL query can be easily directed to the cache instead of the back-end database Conceptually, a disk-less Data Guard
  • 24.
    Copyright © 2024,Oracle and/or its affiliates Quickly resolve poor performance caused by change in execution plan • Simplified use of SQL Plan Management
  • 25.
    --Loads all knownplans from cursor cache, AWR, --and automatic SQL tuning sets into a SQL plan baseline. --Use Evolve Advisor to find the best plan. --Then mark it as accepted. select dbms_spm.add_verified_sql_plan_baseline('<sql_id>'); Copyright © 2024, Oracle and/or its affiliates
  • 26.
    Real-Time SQL PlanManagement Addressing SQL performance regressions without manual intervention Creates SQL plan baselines automatically Operates without manual intervention Repairs SQL performance regressions • Detects plan change in the foreground • Identifies a previous reference plan and checks to see which has the best performance • The better plan is accepted as a SQL Plan Baseline • The SQL statement subsequently uses the better plan Copyright © 2024, Oracle and/or its affiliates
  • 27.
    Copyright © 2024,Oracle and/or its affiliates Automatically recover from certain ORA-00600 errors • Automatic Error Mitigation
  • 28.
    SQL> select ...from ... ERROR at line 1: ORA-00600: internal error code, arguments: [...] SQL> alter session set sql_error_mitigation = 'on'; SQL> select ... from ... n rows returned Copyright © 2024, Oracle and/or its affiliates
  • 29.
    SQL> select ...from ... ERROR at line 1: ORA-00600: internal error code, arguments: [...] SQL> alter session set sql_error_mitigation = 'on'; SQL> select ... from ... n rows returned Copyright © 2024, Oracle and/or its affiliates
  • 30.
    Copyright © 2024,Oracle and/or its affiliates Even wider tables ... • Up to 4096 columns
  • 31.
    Copyright © 2024,Oracle and/or its affiliates SQL> alter system set max_columns=extended scope=spfile;
  • 32.
    Copyright © 2024,Oracle and/or its affiliates Make sure your clients are updated to 23ai • Older clients support only up to 1000 columns • BEWARE of row chaining
  • 33.
    Copyright © 2024,Oracle and/or its affiliates No more insecure case-insensitive passwords • 10G password verifies are no longer accepted • Parameter SEC_CASE_SENSITIVE_LOGON does not exist in 23ai
  • 34.
    Copyright © 2024,Oracle and/or its affiliates Get started quickly and securely using new developer role • DB_DEVELOPER_ROLE
  • 35.
    Copyright © 2024,Oracle and/or its affiliates Grant privileges to an entire schema in one command • GRANT ... ON SCHEMA ... TO ... • Inheritance
  • 36.
    Oracle Database 23ai Small,but useful features Copyright © 2024, Oracle and/or its affiliates
  • 37.
    --Regardless of whetherthe object exists or not, --the DROP command don't produce an error SQL> drop table t1; ERROR at line 1: ORA-00942: table or view does not exist SQL> drop table if exists t1 ... ; Table dropped Copyright © 2024, Oracle and/or its affiliates
  • 38.
    --Regardless of whetherthe object exists or not, --the CREATE command don't produce an error SQL> create table t1 ( ... ); ERROR at line 1: ORA-00955: name is already used by an existing object SQL> create table if not exists t1 (c1 number); Table created Copyright © 2024, Oracle and/or its affiliates
  • 39.
    --Group by expressionmust be written in full --Works for HAVING clause as well select owner, to_char(created, 'YYYYMM'), count(*) from dba_objects group by owner, to_char(created, 'YYYYMM'); Copyright © 2024, Oracle and/or its affiliates
  • 40.
    --Group by expressionmust be written in full --Works for HAVING clause as well alter session set group_by_position_enabled=true; select owner, to_char(created, 'YYYYMM'), count(*) from dba_objects group by 1, 2; Copyright © 2024, Oracle and/or its affiliates
  • 41.
    Copyright © 2024,Oracle and/or its affiliates sqlplus appuser@alias_does_not_exist ERROR: ORA-12154: Cannot connect to database. Could not find alias alias_does_not_exist in /opt/oracle/product/23ai/dbhome_1/network/admin/tnsnames.ora Help: https://docs.oracle.com/error-help/db/ora-12154/
  • 42.
    Copyright © 2024,Oracle and/or its affiliates SQL> oerr ORA-12154 Message: "Cannot connect to database. Could not find alias %s in %s." Help: https://docs.oracle.com/error-help/db/ora-12154/ Cause: A connection to a database or other service was requested using a connection alias but the alias specified could not be resolved into a connect descriptor using one of the configured naming methods. Action: Do the following: - Check for mistakes in the connection string that you used. - If you have a sqlnet.ora file containing a NAMES.DIRECTORY_PATH parameter, then ensure that the parameter contains valid values. - If you are using an alias from a tnsnames.ora file: * Verify that the tnsnames.ora file exists, is in the proper directory, and is accessible. * Ensure that the alias exists in one of the tnsnames.ora files. * Ensure that there are no syntax errors anywhere in the tnsnames.ora file or files. Look for unmatched parentheses or stray characters. Ensure that magic quotes are not used. ...
  • 43.
    Copyright © 2024,Oracle and/or its affiliates SQL> ping salesgold Network service name mapping file: /opt/oracle/product/23ai/dbhome_1/network/admin/tnsnames.ora Attempting to contact: (DESCRIPTION = (CONNECT_TIMEOUT=5) (RETRY_COUNT=2) (RETRY_DELAY=3) (TRANSPORT_CONNECT_TIMEOUT=3) (ADDRESS_LIST = (LOAD_BALANCE=on) (ADDRESS = (PROTOCOL = TCP)(HOST=localhost)(PORT=1521))) (CONNECT_DATA= (SERVICE_NAME = pdb1))) Ok (1.177 msec)
  • 44.
    Autonomous Health FrameworkInsights 23ai Copyright © 2024, Oracle and/or its affiliates $ ahf analysis create --type insights • Simple interface • Easy to navigate • Less human error • Insights and recommendations • Knows about known issues $ ahf analysis create --type insights
  • 45.
    Copyright © 2024,Oracle and/or its affiliates --Examines a BIGFILE tablespace to find objects that can be moved --to the start of the data files. In the end, shrink the data file --to release the space. --Tablespace MUST be ASSM managed. --Does not work for SYSTEM and SYSAUX. exec dbms_space.tablespace_shrink('USERS');
  • 46.
    Copyright © 2024,Oracle and/or its affiliates the most important change
  • 47.
    Copyright © 2024,Oracle and/or its affiliates --No longer need to select from dual select sysdate from dual; select sysdate; select sysdate from dual;
  • 48.
    Oracle Database 23aiwill allow you to become a better DBA or Developer!! Take the chance and visit the sessions at OC YATRA to learn about all the thrilling news in Oracle Database 23ai Copyright © 2024, Oracle and/or its affiliates
  • 49.
    DBAs run the world Oracle Developers AndOracle shape it for the future Copyright © 2024, Oracle and/or its affiliates
  • 50.
    Thank You Copyright ©2024, Oracle and/or its affiliates