You are on page 1of 48

OpenWorld 2016

Oracle Database 12c Release 2

Penny Avril, Dominic Giles


Oracle Server Technologies
September, 2016

Copyright © 2016, Oracle and/or its affiliates. All rights reserved. | Confidential – Oracle Internal/Restricted/Highly
Restricted
Safe Harbor Statement
The following is intended to outline our general product direction. It is intended for
information purposes only, and may not be incorporated into any contract. It is not a
commitment to deliver any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and timing of any features or
functionality described for Oracle’s products remains at the sole discretion of Oracle.

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. |


Announcing Oracle Database 12c Release 2 on Oracle Cloud

• Available now
– Exadata Express Cloud Service
• Coming soon
– Database Cloud Services
– Exadata Cloud Machine

Oracle is presenting features for Oracle Database 12c Release 2 on Oracle Cloud. We will announce availability
of the On-Prem release sometime after Open World.

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | 4


Oracle Database 12c Continuous Innovation
1990s 2000s 2010s
Client-Server Internet Cloud
Oracle 5, 6, 7, 8 Oracle 8i, 9i, 10g Oracle 11g, 12c
Scalability Row Level Locking, B-tree Indexes, Real Application Clusters, Exadata, Smart Flash, In-Memory DB,
Read Consistency, Parallel Server, Automatic Storage Management, IOTs Software-in-Silicon,
Shared Cursors, Shared Server Advanced Compression, Bitmap Indexes Native Database Sharding

Availability Transactions, Ref Integrity, Online Data Guard (Active), Recovery Manager, Zero Data Loss Recovery Appliance, Edition
Backup, Point-in-Time Recovery Flashback, Clusterware, Online DDL, TAF Based Redefinition, App. Cont.

Analytics Partitions, Parallel SQL, Optimizer Analytic Function, Data Mining, OLAP, MVs SQL Pattern Match, R, Big Data Appl

Security Privileges, Roles, Auditing, Network Data Encrypt, Masking, Virtual Private DB, Label Real Application Security, DB Firewall,
Encryption, Views Security, DB Vault, Audit Vault, PKI Privilege Analysis, Redaction, Key Vault
Developers SQL, Views, PL/SQL, Triggers, LOBs, Java in DB, Native XML, Table Functions, .Net, Native JSON, REST Services, Node.js,
Object Types, Spatial, Text PHP, App Express, SQL Developer RDF Social Graph, Network Graph

Management Enterprise Manager, v$, wait event Diagnostics, Tuning, Testing, Lifecycle Packs MultiTenant, DB & Exa Cloud, DB Appl

Integration DB Links, 2PC, Replication, AQ GoldenGate, XA Transaction,External Table Big Data SQL, Big Data Analytics

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 5
Oracle Database 12c Continuous Innovation

Performance
Scalability

Availability
Availability
Performance Security Developers Management Availability Big Data Analytics
Analytics
Analytics
Security
Security

Developers
Developers

Management
Management

Big Data
Integration
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 6
Performance
Performance Security Developers Management Availability Big Data Analytics

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 7
What is Oracle Database In-Memory?
Buffer Cache New In-Memory
Format • Breakthrough: Dual Format
Database
• BOTH row and column
formats for same table
SALES SALES
Row Column • Simultaneously active and
Format Format transactionally consistent
• Analytics & reporting use new
in-memory Column format
SALES • OLTP uses proven row format

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 8
In-Memory on Active Data Guard Standby
Month Year
In-Memory In-Memory
• Enables real-time analytics on
standby with no impact on
production database
• Makes productive use of standby
database resources
• Can place different data in-memory
Production Standby on standby versus production

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 9
Faster In-Memory Joins
Example: Find total sales in outlet stores

Stores Sales • Join Group specifies columns used


Store ID is
join column to join tables
– Columns share compression dictionary
Store ID
Type

Amount
Store ID
Type=‘Outlet’ • Joins occur on dictionary rather
than data

Create Join Group store_sales_jg


(STORES (STORE_ID),SALES (STORE_ID);

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 10
In-Memory JSON Queries
Pure In-Memory Columnar • Virtual columns from JSON
objects loaded into In-Memory
Virtual Columns
• Full JSON documents loaded using
a highly optimized In-Memory
Relational In-Memory In-Memory
binary format
Virtual Columns JSON Format
• Query operations on JSON
content automatically directed to
Relational Virtual JSON In-Memory
{ • Simple queries on virtual
"Theater":"AMC 15",
"Movie":"Jurrasic World 3D", columns
"Time“:2015-11-26T18:45:00",
"Tickets":{
"Adults":2
• More complex JSON processing
}
}
using in-memory binary format

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 11
In-Memory Fast-Start
In-Memory
• IM column format persisted to storage
Buffer Cache Column Store • In-Memory column store contents
checkpointed to secure file lob on
populate
• When DB restarts, population is faster
as population process reads the
DBFILE1 SALES
TABLESPACE
DBFILE2 column format directly from storage
Index Table
Table
Table FAST START
TABLESPACE
Fast Start
Data • Faster restore (2-5x) of column store
Index
since no need to reformat data

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 12
Index Compression High
• New Index High compression enables
further compression of indexes
• Significant space savings for index heavy
1.8X applicationsIndex
(i.e. Usage
OLTP)Statistics
• Index compression
• Track can
indexalso
usageresult in I/O
4.6X improvements with
as ano overhead
higher proportion of
index can be• cached
Views provide
1.2 TB 679 GB 270 GB usage histograms
and access
No Low High
Compression Compression Compression

10,000 Indexes

13% Improvement in workload throughput (for low compression)

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 13
Security

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 14
Online Tablespace Encryption
• Exabytes of unencrypted data exist today
• Currently must export/import to encrypt
• 12.2 introduces online encryption of
existing database files
– Also supports online re-key
• Also New
Acme
Acme
10 1/2/16
3 1/3/16
SALES DF11233 U*1
$5Ha1qui %H1
– Full encryption of internal database structures
TABLESPACE
Acme
Acme
Acme
5 1/5/16
12 1/7/16
4 1/8/16
HSKQ112 A14
FASqw34 £$1
DF@£!1ah HH!
i.e. SYSTEM, SYSAUX, and UNDO tablespaces
Acme 2 1/9/16 HCM DA45S& DD1
TABLESPACE

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 15
New in 12.2 Database Vault Simulation Mode
Define and test security protection profiles through application lifecycle

Realm and Command


Rules Simulation
Rules ENFORCEDMode

HR APP

Create Index

DBA
SIMULATION LOG
HR SCHEMA

Integrated Production Activate New


Development Production
Test Test Profile

Create DV profile Regression testing Devops/Patching Trusted path factors


Protected Objects Authorized Users Authorized Tasks IPs, Users, Modules

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 16
Key Vault - Hybrid Cloud Key Management
Users

OKV END OKV END OKV END


POINT POINT POINT

Applications GATEWAY
Oracle Cloud

Users On-Premises

SSH TUNNEL
OKV END
POINT

Alerts !
OKV END
POINT
Applications Reports
OKV END
POINT

Key Vault

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics
Developers

Performance Security Developers Management Availability


Copyright © 2015, Oracle and/or Big| Data
its affiliates. All rights reserved. Public Analytics 18
Core Database Improvements

CREATE TABLE
Sales_Data_For_Online_Transactions
(Transaction_Identifier NUMBER(6),
Date_Of_Sales_Transaction DATE,
Gross_Value_of_Transaction NUMBER(3,2),
. . .

Case insensitive database Long Identifiers Globalization Support


support • Object Names for tables, columns • AL32UTF8 is the default database
• Collation can be declared on a etc. can now be 128 bytes in character set
schema, table or column level length
• Unicode 7.0 support
• Accent-insensitive is also • Allows for more expressive
supported naming of objects

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 19
More 12.2 SQL innovations

• Enhanced LISTAGG
• Band joins
• Real-time materialized views
• PL/SQL Improvements

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 20
Oracle Database 12c as a Document Store
12.2 JSON DataGuide – Automatic Schema Inference

Table containing JSON DataGuide Table enhanced with


JSON documents virtual columns
SQL> desc MOVIE_TICKETS SQL> desc MOVIE_TICKETS
NAME TYPE NAME TYPE
--------------------- ----------- DBMS_JSON.AddVC( --------------------- -----------
BOOKING_ID RAW(16) “MOVIE_TICKETS”, BOOKING_ID RAW(16)
BOOKING_TIME TIMESTAMP(6) “BOOKING_DETAILS”); BOOKING_TIME TIMESTAMP(6)
BOOKING_DETAILS VARCHAR2(4000) BOOKING_DETAILS VARCHAR2(4000)
BOOKING_DETAILS$Movie VARCHAR2(16)
BOOKING_DETAILS$Theater VARCHAR2(16)
BOOKING_DETAILS$Adults NUMBER
{ BOOKING_DETAILS$Time VARCHAR2(32)
"Theater":"AMC 15",
"Movie":"Jurrasic World 3D",
"Time“:2015-11-26T18:45:00",
"Tickets":{
"Adults":2
}
}

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 21
Oracle SODA
Simple Oracle Document Access
• JSON Document APIs for REST and Java
• Leverages native 12.2 database JSON features

• Allows developers to combine the ease of use of


document development and relational
JSON
• SQL analytics can be used on JSON documents

• Full PL/SQL API

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 22
New Oracle .NET Support
• Oracle Public Cloud
– .NET Compute
– Visual Studio deployment tools for Oracle Public Cloud
• Application Continuity for unplanned database outages
• Sharding
• Database Resident Connection Pooling
• Offline Schema Compare in Visual Studio

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Analytics
LiveSQL.oracle.com – Free
• SQL scratch pad in the Oracle Cloud
• Free service launched Oct 2015 @ OOW
• Google searchable SQL syntax
• Customers can save and share SQL examples
• Planned integration w/ Oracle documentation

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 24
Manageability

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 25
Consolidation & Isolation at Scale

• PDBs per container increased from Pricing Retail


252 to 4,096
• Memory resource prioritization in
addition to CPU and I/O
• PDBs optimized for RAC Multitenant Container
– PDB lock domain

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 26
PDB Hot Clone Snap Clone

Snap Clone
Oracle Cloud
CRM CRM Dev1 CRM Dev2
• PDB Hot Clone
– Online test master instantiation

Hot Clone Developers

Pricing Retail CRM

On-Premises
Performance Security Developers Management Availability
Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 27
PDB Refresh Snap Clone

Snap Clone
Oracle Cloud
CRM CRM Dev1 CRM Dev2
• PDB Hot Clone Cloned version no longer in sync

– Online test master instantiation


• PDB Refresh
– Incremental refresh of clone with latest Only changes copied and applied
Developers

data
Pricing Retail CRM
Changes made to database

TIME
On-Premises
Performance Security Developers Management Availability
Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 28
PDB Relocate
CRM HR
• PDB Hot Clone
– Online test master instantiation
• PDB Refresh
– Incremental refresh of clone with latest Oracle Cloud
data
• PDB Relocate Pricing Retail CRM

– Relocate with no downtime

On-Premises
Performance Security Developers Management Availability
Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 29
Application Container

• PDBs share application objects


– Code, metadata and data
• Further simplifies management
– Apply updates to application container
• Suitable for SaaS-like applications

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 30
Availability

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 31
Oracle Sharding
Linear Scalability, Fault Isolation, Global Data Distribution, Cloud Enabled
• RAC and Data Guard meet needs of over 99% of applications
while preserving application transparency
• Some Global-Scale OLTP applications prefer to shard massive
Customers Americas
databases into a farm of smaller databases
– Avoid scalability or availability edge cases of a single large
system image database
– Willing to customize data model and applications to enable
Customers Europe transactions to be automatically routed to the right shard

Customers • Native SQL for sharding tables across up to 1000 Shards


- Routing of SQL based on shard key, and cross shard queries
- Online addition and reorganization of shards
Customers Asia
One giant database partitioned into many small - Linear scalability of data, workload, users with isolation
databases (shards)

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 32
Oracle Sharding Automated Distribution
Enhanced SQL syntax for Sharding
… • SQL syntax for creating sharded tables
CREATE SHARDED TABLE Customers
• Not proprietary APIs as with NoSQL
( CustId VARCHAR2(60) NOT NULL, • Creation of a sharded table automatically
FirstName VARCHAR2(60),
LastName VARCHAR2(60),
partitions data across shards
… • Transparent resharding as data grows
PRIMARY KEY(CustId),
) • Choice of sharding methods:
PARTITION BY CONSISTENT HASH (CustId)

• System managed - consistent hash
• User defined - range, list
… • Composite - range-hash, list-hash
• Common reference data (e.g. Price List) is
… automatically duplicated on all shards
• Supports shard placement in specific
geographies to satisfy government data privacy
Performance Security Developers Management Availability
Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 33
Routing Support on Client for Highest Speed

Application
App Tier
• Clients pass sharding key (e.g. Customer ID) Server
Sharding key
to Connection pool, connection is routed to
the right shard Shard Directors
• Fast: caching key ranges on client ensures Coordinator
that most accesses go directly to the shard Routing Tier DB
• Scalable: easily scales with more clients and
shards
• Supports UCP, OCI, ODP.NET, and JDBC

Data
Tier

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 34
Sharded Schema
Customers Orders Line Items Sharded

Products

Duplicated

35
Performance Security Developers Management Availability Big Data
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public Analytics
Improvements to Real Application Clusters
RAC Reader Nodes ASM Flex Disk Groups
Flex Diskgroup
• Operations to be targeted
• RAC Reader Nodes utilize Leaf nodes DB DB DB
File
11 File
2 File
3 against all files in a database
starting with 12.2 Flex Cluster File 1
File 1
File
2
File 2
File 2
File
3 3 3 • Shadow copies (“split mirrors”)
• Leaf nodes are loosely coupled and File
4 for testing / reporting
typically do not directly access storage

Oracle Database 12c Rapid Home Provisioning


Autonomous Health • Manage existing 11.2 and 12.1
Framework deployments
• Grid Infrastructure: provision, scale,
• Discovers Potential Issues and Notifies
patch, upgrade
with Corrective Actions
• Scale clusters and RAC databases
• Preserves Database and Server
Availability and Performance

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 37
More 12.2 High Availability Innovations
Application Continuity Active Data Guard
• Diagnostic, Tuning, and SQL Plan Analyzer
• Planned maintenance on Standby
• No user disconnect on failover
enhancements • Multi-node parallel apply in RAC
• High-speed block comparison between
primary and standby
• More secure (SSL-based redo transport,
automatically maintain password files)

SALESTABLE

More partition maintenance


Online Table Move
Q1 Q2 Q3

operations now online

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 38
Big Data

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 39
Oracle Big Data Platform
Access with any language
REST Java node.js SQL Python R Scala

Machine Analysis of any type


SQL Spark Graph Spatial
Learning

Data of any type

Any data source

Performance Security Developers Management Availability


Copyright © 2016, Oracle Big Data
and/or its affiliates. All rights reserved. | Analytics 40
Fast SQL access for Relational, Hadoop and NoSQL
Using Oracle Big Data SQL

• Unified SQL language for all data sources


– With full power of Oracle SQL
• Massively parallel, distributed query processing
– Local processing using ‘Smart Scan’ technology
Big Data SQL
– Scalable joins between data sources
• Secure data access
– Redaction and row-based security on all data sources

Performance Security Developers Management Availability


Copyright © 2016, Oracle Big Data
and/or its affiliates. All rights reserved. | Analytics 41
Big Data Innovations
Partitioned External Tables

SALESTABLE(external) • External tables can be partitioned


SQL using any partitioning technique
• Partition pruning and basic
UKPartition Germany Partition USAPartition partition
maintenance(add/drop/exchange)

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 42
Analytics

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 43
Oracle Partitioning in Oracle Database 12.2
Over a decade of development and better than ever before
Core functionality Performance Manageability
Oracle 10g R2 and Earlier Range partitioning, Static partition pruning, Basic maintenance: ADD, DROP, EXCHANGE, MERGE
Local and global Range indexing, Partition-wise joins, Global index maintenance,
Hash partitioning, Dynamic partition pruning, Local Index maintenance,
Range-Hash partitioning, Fast partition SPLIT, Fast DROP TABLE
List partitioning, Multi-dimensional pruning
Range-List partitioning,
Global Hash indexing,
1M partitions per table
Virtual column based partitioning, “AND” pruning Interval partitioning,
Oracle 11g More composite choices, Partition Advisor,
Reference partitioning, Incremental stats management,
Hash-* partitioning, Multi-branch execution (aka table or-expansion)
Expanded Reference partitioning

Oracle 12c R1 Interval-Reference partitioning Partition Maintenance on multiple partitions, Online partition MOVE,
Asynchronous global index maintenance Cascading TRUNCATE,
Partial indexing,

Oracle 12c R2 Auto-list partitioning, Online partition maintenance operations, Filtered partition maintenance
Multi-column list partitioning, Online table conversion to partitioned operations,
Interval subpartitioning, table, Read only partitions,
Partitioned external tables Reduced cursor invalidations for DDL’s Create table for exchange

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 44
Analytic Views
• Moves business logic (Aggregations,
Hierarchies, Calculations) back into
database
• Simple SQL for complex analytic queries
– no joins or GROUP-BY clauses necessary
– navigate through hierarchies without re-
defining calculations
• Works on top of existing tables
– no persistent storage

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 45
New in 12.2 Approximate Query Processing
Not every query requires a completely accurate result

• 12.1.0.2 APPROX_COUNT_DISTINCT • Approximate functions used without any


application changes
• 12.2.0.1 adds APPROX_PERCENTILE,
APPROX_MEDIAN – Queries automatically re-written to use
approximate functions
– Find the value for a given percentile, e.g. what
– approx_for_aggregation = TRUE
is the amount sold that represents the 90%
percentile of all sales
– 6-13X faster with error typically < 1%
• Store approximate aggregates in
materialized views with query rewrite
• Accuracy and error rate reporting for – Not previously possible to use MV’s with
approximate aggregation functions distinct and percentile aggregates

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 46
Property Graph
• Massively-Scalable Graph Database
– Scales to trillions of edges
• Memory-based Graph Analytics
– More than 35 graph analysis algorithms
• Simple Standard interfaces
– SQL, Java
– Tinkerpop: Blueprints, Gremlin, Rexster
– Groovy, Python

Performance Security Developers Management Availability


Copyright © 2015, Oracle Big Data
and/or its affiliates. All rights reserved. | Public Analytics 47
Oracle Database 12c Continuous Innovation
1990s 2000s 2010s
Client-Server Internet Cloud
Oracle 5, 6, 7, 8 Oracle 8i, 9i, 10g Oracle 11g, 12c
Scalability Row Level Locking, B-tree Indexes, Real Application Clusters, Exadata, Smart Flash, In-Memory DB,
Read Consistency, Parallel Server, Automatic Storage Management, IOTs Software-in-Silicon,
Shared Cursors, Shared Server Advanced Compression, Bitmap Indexes Native Database Sharding

Availability Transactions, Ref Integrity, Online Data Guard (Active), Recovery Manager, Zero Data Loss Recovery Appliance, Edition
Backup, Point-in-Time Recovery Flashback, Clusterware, Online DDL, TAF Based Redefinition, App. Cont.

Analytics Partitions, Parallel SQL, Optimizer Analytic Function, Data Mining, OLAP, MVs SQL Pattern Match, R, Big Data Appl

Security Privileges, Roles, Auditing, Network Data Encrypt, Masking, Virtual Private DB, Label Real Application Security, DB Firewall,
Encryption, Views Security, DB Vault, Audit Vault, PKI Privilege Analysis, Redaction, Key Vault
Developers SQL, Views, PL/SQL, Triggers, LOBs, Java in DB, Native XML, Table Functions, .Net, Native JSON, REST Services, Node.js,
Object Types, Spatial, Text PHP, App Express, SQL Developer RDF Social Graph, Network Graph

Management Enterprise Manager, v$, wait event Diagnostics, Tuning, Testing, Lifecycle Packs MultiTenant, DB & Exa Cloud, DB Appl

Integration DB Links, 2PC, Replication, AQ GoldenGate, XA Transaction,External Table Big Data SQL, Big Data Analytics

Copyright © 2015, Oracle and/or its affiliates. All rights reserved. | Public 48