MINI MINI MANI MO

Path : /proc/self/root/opt/oracle/product/18c/dbhomeXE/rdbms/admin/
File Upload :
Current File : //proc/self/root/opt/oracle/product/18c/dbhomeXE/rdbms/admin/catdbl.sql

Rem
Rem $Header: rdbms/admin/catdbl.sql /main/4 2017/06/26 16:01:18 pjulsaks Exp $
Rem
Rem catdbl.sql
Rem
Rem Copyright (c) 2015, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      catdbl.sql - Dblinks Catalog Creation
Rem
Rem    DESCRIPTION
Rem      This file defines the catalog views related to the db links
Rem      on the server side.
Rem
Rem    NOTES
Rem      <other useful comments, qualifications, etc.>
Rem
Rem    BEGIN SQL_FILE_METADATA 
Rem    SQL_SOURCE_FILE: rdbms/admin/catdbl.sql 
Rem    SQL_SHIPPED_FILE: rdbms/admin/catdbl.sql 
Rem    SQL_PHASE: CATDBL
Rem    SQL_STARTUP_MODE: NORMAL 
Rem    SQL_IGNORABLE_ERRORS: NONE 
Rem    SQL_CALLING_FILE: rdbms/admin/catptabs.sql 
Rem    END SQL_FILE_METADATA
Rem
Rem    MODIFIED   (MM/DD/YY)
Rem    pjulsaks    06/26/17 - Bug 25688154: Uppercase create_cdbview's input
Rem    thbaby      03/13/17 - Bug 25688154: upper case owner name
Rem    rajeekku    11/24/15 - Bug 21795431: Add explicit foreign key constraint
Rem    rajeekku    09/16/15 - Add public synonyms for views 
Rem    rajeekku    01/27/15 - Created
Rem


@@?/rdbms/admin/sqlsessstart.sql

-- Create dblink source table
create table link_sources$ 
(
  source_id number primary key,
  username varchar2(128) not null,
  user# number not null,
  first_logon_time timestamp not null,
  last_logon_time timestamp not null,
  logon_count number not null,
  db_name varchar2(256) not null,
  dbid number not null,
  host_name varchar2(256),
  ip_address varchar2(128),
  protocol varchar2(64),
  db_unique_name varchar2(256)
)
tablespace sysaux
/

-- Create unique index
create unique index link_sources$_ui
  on link_sources$ ( db_name, dbid, username, user#, host_name, 
                     ip_address, protocol, db_unique_name)
tablespace sysaux
/

-- Create index on username 
create index link_sources$_usrnm_idx on link_sources$(username)
tablespace sysaux
/

-- Create dblink logon table
create table link_logons$
(
  logon_time TIMESTAMP NOT NULL,
  source_id number NOT NULL,
  constraint fk_srcid
  foreign key (source_id) 
  references link_sources$(source_id) on delete cascade
) tablespace sysaux
/

-- Create index on source id
create index link_logons$_srcid_idx on link_logons$(source_id)
tablespace sysaux
/

-- Create Sequence for DBLINK Source Id
create sequence link_source_id_seq
  increment by 1
  start with 1
  minvalue 1
  cache 10
/

-- Create external scn activity table
create table external_scn_activity$
(
  operation_timestamp timestamp not null,
  session_id number not null,
  session_serial# number not null,
  audit_sessionid number,
  username varchar2(128) not null,
  inbound_db_link_source_id number,
  outbound_db_link_name varchar2(128),
  outbound_db_link_owner varchar2(128),
  result varchar2(64) not null,
  external_scn number not null,
  scn_adjustment number not null
) tablespace sysaux
/

-- Create View for External SCN activity
CREATE OR REPLACE VIEW DBA_EXTERNAL_SCN_ACTIVITY
(
  OPERATION_TIMESTAMP,
  SESSION_ID,
  SESSION_SERIAL#,
  AUDIT_SESSIONID,
  USERNAME,
  INBOUND_DB_LINK_SOURCE_ID,
  OUTBOUND_DB_LINK_NAME,
  OUTBOUND_DB_LINK_OWNER,
  RESULT,
  EXTERNAL_SCN,
  SCN_ADJUSTMENT
)
AS SELECT
  operation_timestamp,
  session_id,
  session_serial#,
  audit_sessionid,
  username,
  inbound_db_link_source_id,
  outbound_db_link_name,
  outbound_db_link_owner,
  result,
  external_scn,
  scn_adjustment
FROM external_scn_activity$
/
CREATE OR REPLACE PUBLIC SYNONYM dba_external_scn_activity
FOR dba_external_scn_activity
/
GRANT SELECT ON DBA_EXTERNAL_SCN_ACTIVITY TO select_catalog_role
/

-- Create view for DBA_DB_LINK_SOURCES
create or replace view DBA_DB_LINK_SOURCES as
select source_id, db_name, dbid, db_unique_name, host_name, ip_address,
       protocol, username, user#, first_logon_time,
       (select max(llt) from 
          ((select last_logon_time llt from LINK_SOURCES$ 
                   where source_id = X.source_id)
            union
           (select max(logon_time) llt from LINK_LOGONS$ 
                   where source_id = X.source_id))) last_logon_time,
       (select X.logon_count + count(*) from LINK_LOGONS$ 
             where source_id = X.source_id) logon_count 
from LINK_SOURCES$ X
/
COMMENT ON TABLE DBA_DB_LINK_SOURCES IS
'Database link sources'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.SOURCE_ID IS
'Dblink Source Id'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.DB_NAME IS
'DB Name'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.DBID IS
'DB ID'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.DB_UNIQUE_NAME IS
'DB Unique Name'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.HOST_NAME IS
'Host Name'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.IP_ADDRESS IS
'IP Address'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.PROTOCOL IS
'Protocol Used'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.USERNAME IS
'Username'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.USER# IS
'User Number'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.FIRST_LOGON_TIME IS
'First Logon Time'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.LAST_LOGON_TIME IS
'Last Logon Time'
/
COMMENT ON COLUMN DBA_DB_LINK_SOURCES.LOGON_COUNT IS
'Logon Count'
/
CREATE OR REPLACE PUBLIC SYNONYM dba_db_link_sources FOR dba_db_link_sources
/
GRANT SELECT ON DBA_DB_LINK_SOURCES TO select_catalog_role
/


execute SYS.CDBView.create_cdbview(false,'SYS','DBA_DB_LINK_SOURCES',-
'CDB_DB_LINK_SOURCES');
/
create or replace public synonym CDB_DB_LINK_SOURCES for 
SYS.CDB_DB_LINK_SOURCES
/
grant select on CDB_DB_LINK_SOURCES to select_catalog_role ;
/

execute SYS.CDBView.create_cdbview(false,'SYS','DBA_EXTERNAL_SCN_ACTIVITY',-
'CDB_EXTERNAL_SCN_ACTIVITY');
/
create or replace public synonym CDB_EXTERNAL_SCN_ACTIVITY for
SYS.CDB_EXTERNAL_SCN_ACTIVITY ;
/
grant select on CDB_EXTERNAL_SCN_ACTIVITY to select_catalog_role ;
/
  
@?/rdbms/admin/sqlsessend.sql

OHA YOOOO