MINI MINI MANI MO

Path : /opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //opt/oracle/product/18c/dbhomeXE/rdbms/admin/catcapi.sql

Rem
Rem $Header: rdbms/admin/catcapi.sql /main/10 2015/05/14 12:26:32 kkunchit Exp $
Rem
Rem catcapi.sql
Rem
Rem Copyright (c) 2009, 2015, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      catcapi.sql - DBFS content/sfs-provider metadata tables/views
Rem
Rem    DESCRIPTION
Rem      DBFS content/sfs-provider metadata tables/views
Rem
Rem    NOTES
Rem      DBFS metadata tables maintain the state of stores and mounts. SFS
Rem      metadata tables maintain the state of filesystem tables and
Rem      filesystem stores. Canonical template tables also provider
Rem      cursor-types for the SFS provider.
Rem
Rem
Rem BEGIN SQL_FILE_METADATA
Rem SQL_SOURCE_FILE: rdbms/admin/catcapi.sql
Rem SQL_SHIPPED_FILE: rdbms/admin/catcapi.sql
Rem SQL_PHASE: CATCAPI
Rem SQL_STARTUP_MODE: NORMAL
Rem SQL_IGNORABLE_ERRORS: ORA-00955
Rem SQL_CALLING_FILE: rdbms/admin/catptabs.sql
Rem END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    kkunchit    04/27/15 - dbfs long identifiers
Rem    kkunchit    01/21/15 - project-47046: dbfs support for posix locking
Rem    surman      12/29/13 - 13922626: Update SQL metadata
Rem    surman      03/27/12 - 13615447: Add SQL patching tags
Rem    kkunchit    05/27/11 - bug-12568334: sfs sequence cache
Rem    traney      04/05/11 - 35209: long identifiers dictionary upgrade
Rem    kkunchit    02/17/11 - bug-10349967: dbfs export/import support
Rem    kkunchit    01/15/09 - Created
Rem

@@?/rdbms/admin/sqlsessstart.sql



/* ------------------- dbms_dbfs_content metadata tables ------------------- */

create table sys.dbfs$_stores (
        s_owner     varchar2(128)   not null
    ,   s_name      varchar2(32)    not null
    ,   p_name      varchar2(32)    not null
    ,   p_pkg       varchar2(128)   not null
    ,   created     timestamp       not null
        /* global constraints */
    ,   primary key (s_owner, s_name)
);

grant select on sys.dbfs$_stores
    to dbfs_role;


create table sys.dbfs$_mounts (
        s_owner     varchar2(128)   not null
    ,   s_name      varchar2(32)    not null
    ,   s_mount     varchar2(32)
    ,   created     timestamp       not null
    ,   s_props     dbms_dbfs_content_properties_t
        /* global constraints */
    ,   foreign key (s_owner, s_name)
        references  sys.dbfs$_stores(s_owner, s_name)
    ,   unique      (s_owner, s_mount)
)
    nested table s_props store as s_props_tab;

create unique index sys.is_dbfs$_mounts
    on
    sys.dbfs$_mounts(decode(s_mount, null, s_owner, null));

grant select on sys.dbfs$_mounts
    to dbfs_role;


create table sys.dbfs$_clients (
        c_info     varchar2(64)     not null
    ,   c_data     varchar2(4000)
    ,   created     timestamp       not null
        /* global constraints */
    ,   primary key (c_info)
);

grant select on sys.dbfs$_clients
    to dbfs_role;


create table sys.dbfs$_stats (
        s_owner varchar2(128)   not null
    ,   s_name  varchar2(32)    not null
    ,   s_mount varchar2(32)
    ,   opcode  integer         not null
    ,   count   integer         not null
    ,   wtime   integer         not null
    ,   ctime   integer         not null
        /* global constraints */
    ,   unique  (s_owner, s_name, s_mount, opcode)
)
    tablespace sysaux;



/* --------------------- dbfs_dbfs_sfs metadata tables --------------------- */

create table sys.dbfs_sfs$_tab (
        tabid       number          not null
                    primary key
    ,   schema_name varchar2(128)   not null
    ,   table_name  varchar2(128)   not null
    ,   ptable_name varchar2(128)
    ,   version#    varchar2(32)    not null
    ,   created     timestamp       not null
    ,   formatted   timestamp       not null
    ,   properties  dbms_dbfs_content_properties_t
        /* global constraints */
    ,   unique      (schema_name, table_name)
)
    nested table properties
        store as properties_tab;

grant select on sys.dbfs_sfs$_tab
    to dbfs_role;


create table sys.dbfs_sfs$_vol (
        tabid       number          not null
    ,   volid       number          not null
    ,   volname     varchar2(128)   not null
    ,   created     timestamp       not null
    ,   csnap#      number          not null
        /* volume <-> (volume, snapshot) dependency */
    ,   dvolid      number
    ,   dsnap#      number
    ,   deleted     number          not null
                    check (deleted in (0, 1))
        /* global constraints */
    ,   primary key (tabid, volid)
    ,   foreign key (tabid)
        references  sys.dbfs_sfs$_tab(tabid)
);

grant select on sys.dbfs_sfs$_vol
    to dbfs_role;


create table sys.dbfs_sfs$_snap (
        tabid       number          not null
    ,   volid       number          not null
    ,   snap#       number          not null
    ,   snapname    varchar2(128)   not null
    ,   created     timestamp       not null
    ,   deleted     number          not null
                    check (deleted in (0, 1))
        /* global constraints */
    ,   primary key (tabid, volid, snap#)
    ,   foreign key (tabid, volid)
        references  sys.dbfs_sfs$_vol(tabid, volid)
);

grant select on sys.dbfs_sfs$_snap
    to dbfs_role;


create table sys.dbfs_sfs$_fs (
        store_owner varchar2(128)   not null
    ,   store_name  varchar2(32)    not null
    ,   tabid       number          not null
    ,   volid       number          not null
    ,   snap#       number
    ,   created     timestamp       not null
        /* global constraints */
    ,   unique      (store_owner, store_name)
    ,   unique      (store_owner, tabid, volid, snap#)
    ,   foreign key (tabid, volid)
        references  sys.dbfs_sfs$_vol(tabid, volid)
);

grant select on sys.dbfs_sfs$_fs
    to dbfs_role;



/* --------------------------- dbfs_sfs sequence --------------------------- */

create sequence sys.dbfs_sfs$_fsseq
    minvalue 1
    start with 1
    cache 8192;

grant select on sys.dbfs_sfs$_fsseq
    to dbfs_role;



/* -------- dbfs_sfs dummy filesystem table (for type compilation) --------- */
/* ----------------------- using parent-child tables ----------------------- */

create table sys.dbfs_sfs$_fst (
        /* volume/snapshot fields */
        volid                   number          default 0
                                                not null
    ,   csnap#                  number          default 0
                                                not null
    ,   lsnap#                  number          default null
        /* basic fields for the DBFS-API */
    ,   pathname                varchar2(1024)  not null
    ,   item                    varchar2(256)   not null
    ,   pathtype                integer         not null
                                check (pathtype in (1, 2, 3, 4))
    ,   filedata                blob
        /* POSIX-specific fields */
    ,   posix_nlink             integer         default 1
                                check (posix_nlink > 0)
    ,   posix_mode              integer         default 0      /* ---------- */
    ,   posix_uid               integer         default 0          /* root=0 */
    ,   posix_gid               integer         default 0          /* root=0 */
        /* standard properties for the DBFS-API */
    ,   std_access_time         timestamp       not null
    ,   std_acl                 varchar2(1024)
    ,   std_change_time         timestamp       not null
    ,   std_content_type        varchar2(1024)
    ,   std_creation_time       timestamp       not null
    ,   std_deleted             integer         not null
                                check (std_deleted in (0, 1))
    ,   std_guid                integer         not null
    ,   std_modification_time   timestamp       not null
    ,   std_owner               varchar2(32)
    ,   std_parent_guid         integer         not null
    ,   std_referent            varchar2(1024)
        /* optional properties for the DBFS-API */
    ,   opt_hash_type           varchar2(32)
    ,   opt_hash_value          varchar2(128)
    ,   opt_lock_count          integer
    ,   opt_lock_data           varchar2(128)
    ,   opt_lock_status         integer
        /* global constraints */
    ,   primary key             (volid, std_guid, csnap#)
    ,   unique                  (volid, pathname, csnap#)
    ,   unique                  (volid, std_parent_guid, std_guid, csnap#)
);

create table sys.dbfs_sfs$_fstp (
        /* foreign key */
        volid                   number          default 0
                                                not null
    ,   csnap#                  number          default 0
                                                not null
    ,   lsnap#                  number          default null
    ,   std_guid                integer         not null
        /* sys.dbms_dbfs_content_properties_t expanded */
    ,   propname                varchar2(32)    not null
    ,   propvalue               varchar2(1024)  not null
    ,   typecode                integer         not null
        /* global constraints */
    ,   unique                  (volid, std_guid, csnap#, propname)
    ,   foreign key             (volid, std_guid, csnap#)
        references              sys.dbfs_sfs$_fst(volid, std_guid, csnap#)
);

grant select on sys.dbfs_sfs$_fst
    to dbfs_role;

grant select on sys.dbfs_sfs$_fstp
    to dbfs_role;



/* -------- dbfs_sfs dummy filesystem table (for type compilation) --------- */
/* -------------------------- using object types --------------------------- */

create table sys.dbfs_sfs$_fsto (
        /* volume/snapshot fields */
        volid                   number          default 0
                                                not null
    ,   csnap#                  number          default 0
                                                not null
    ,   lsnap#                  number          default null
        /* basic fields for the DBFS-API */
    ,   pathname                varchar2(1024)  not null
    ,   item                    varchar2(256)   not null
    ,   pathtype                integer         not null
                                check (pathtype in (1, 2, 3, 4))
    ,   filedata                blob
        /* POSIX-specific fields */
    ,   posix_nlink             integer         default 1
                                check (posix_nlink > 0)
    ,   posix_mode              integer         default 0      /* ---------- */
    ,   posix_uid               integer         default 0          /* root=0 */
    ,   posix_gid               integer         default 0          /* root=0 */
        /* standard properties for the DBFS-API */
    ,   std_access_time         timestamp       not null
    ,   std_acl                 varchar2(1024)
    ,   std_change_time         timestamp       not null
    ,   std_content_type        varchar2(1024)
    ,   std_creation_time       timestamp       not null
    ,   std_deleted             integer         not null
                                check (std_deleted in (0, 1))
    ,   std_guid                integer         not null
    ,   std_modification_time   timestamp       not null
    ,   std_owner               varchar2(32)
    ,   std_parent_guid         integer         not null
    ,   std_referent            varchar2(1024)
        /* optional properties for the DBFS-API */
    ,   opt_hash_type           varchar2(32)
    ,   opt_hash_value          varchar2(128)
    ,   opt_lock_count          integer
    ,   opt_lock_data           varchar2(128)
    ,   opt_lock_status         integer
        /* user-defined properties for the DBFS-API */
    ,   usr_properties          sys.dbms_dbfs_content_properties_t
        /* global constraints */
    ,   primary key             (volid, std_guid, csnap#)
    ,   unique                  (volid, pathname, csnap#)
    ,   unique                  (volid, std_parent_guid, std_guid, csnap#)
)
    nested table usr_properties
        store as usr_properties_tab;

grant select on sys.dbfs_sfs$_fsto
    to dbfs_role;



/* ------------------- export/import procedural actions -------------------- */
/* -------- export/import dependency registrations during upgrades --------- */

-- equivalent to dbms_dbfs_sfs_admin.eximregisterAll
declare
begin
    lock table sys.dbfs_sfs$_tab
        in exclusive mode;

    -- (re)establish registrations
    delete
    from    sys.exppkgact$
    where   package = 'DBMS_DBFS_SFS_ADMIN'
        and schema  = 'SYS';

    insert into sys.exppkgact$(package, schema, class, level#)
        values ('DBMS_DBFS_SFS_ADMIN', 'SYS', 3, 1000);


    -- (re)establish dependencies
    delete
    from    sys.expdepact$
    where   package = 'DBMS_DBFS_SFS_ADMIN'
        and schema  = 'SYS';

    for rws in
    (
        select  o.object_id
        from    sys.dba_objects         o
            ,   sys.dbfs_sfs$_tab   t
        where   o.owner       = t.schema_name
            and o.object_name = t.table_name
            and o.object_type = 'TABLE'
    )
    loop
        insert
        into    sys.expdepact$
        (
                obj#
            ,   package
            ,   schema
        )
        values
        (
                rws.object_id
            ,   'DBMS_DBFS_SFS_ADMIN'
            ,   'SYS'
        );
    end loop;

    commit;
end;
/
show errors;




@?/rdbms/admin/sqlsessend.sql

OHA YOOOO