MINI MINI MANI MO

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

Rem
Rem sbaddins.sql
Rem
Rem Copyright (c) 2006, 2017, Oracle and/or its affiliates. 
Rem All rights reserved.
Rem
Rem    NAME
Rem      sbaddins.sql - Standby Database Statistics Collection Add Instance
Rem
Rem    DESCRIPTION
Rem	 SQL*PLUS command file which adds a standby database instance
Rem      for performance data collection
Rem
Rem    NOTES
Rem      Must be run from standby perfstat owner, STDBYPERF
Rem
Rem    BEGIN SQL_FILE_METADATA
Rem    SQL_SOURCE_FILE: rdbms/admin/sbaddins.sql
Rem    SQL_SHIPPED_FILE: rdbms/admin/sbaddins.sql
Rem    SQL_PHASE: UTILITY
Rem    SQL_STARTUP_MODE: NORMAL
Rem    SQL_IGNORABLE_ERRORS: NONE
Rem    END SQL_FILE_METADATA
Rem    
Rem    MODIFIED   (MM/DD/YY)
Rem    zhefan      07/08/15 - bug 21393238: Add tests for standby statspack
Rem    pmurthy     04/07/14 - To Fix Bug - 18531358
Rem    shsong      01/28/10 - remove v$lock_type
Rem    shsong      08/18/09 - add db_unique_name to stats$standby_config
Rem    shsong      03/04/07 - fix bug
Rem    wlohwass    12/04/06 - Created
Rem

set echo off;
whenever sqlerror exit;

spool sbaddins.lis

--
--  List configured standby instances
@@sblisins

prompt
prompt
prompt THE INSTANCE YOU ARE GOING TO ADD MUST BE ACCESSIBLE AND OPEN READ ONLY
prompt
prompt Do you want to continue (y/n) ?
prompt You entered: &&key

begin
  if upper('&&key') <> 'Y' then
    raise_application_error(-20101, 'Install failed - Aborted by user');
  end if;
end;
/

prompt
prompt
prompt Enter the TNS ALIAS that connects to the standby database instance
prompt ------------------------------------------------------------------

prompt Make sure the alias connects to only one instance (without load balancing).
prompt You entered: &&tns_alias

prompt
prompt
prompt Enter the PERFSTAT user's password of the standby database
prompt ----------------------------------------------------------

prompt You entered: &&perfstat_password

prompt
prompt ... Creating database link

create or replace procedure temp_procedure as
begin
execute immediate 'create database link stdby_link_&&tns_alias connect to perfstat identified by &&perfstat_password using ''&&tns_alias''';
end;
/

execute temp_procedure;

prompt
prompt ... Selecting database unique name
prompt
prompt ... Selecting instance name

create or replace procedure temp_procedure as
db_unique_name varchar2(30);
instance_name  varchar2(16);
begin
select db_unique_name into db_unique_name from v$database@stdby_link_&&tns_alias;
select instance_name into instance_name from v$instance@stdby_link_&&tns_alias;
insert into stats$standby_config values (db_unique_name, instance_name, 'STDBY_LINK_'||'&&tns_alias', 'STATSPACK_'||db_unique_name||'_'||instance_name);
commit;
end;
/

execute temp_procedure;

drop procedure temp_procedure;

commit;

-- get the package name 
 column pkg_name new_value pkg_name noprint;
 select package_name   pkg_name
  from stats$standby_config
 where db_link = 'STDBY_LINK_'||'&&tns_alias';

prompt
prompt
prompt ... Creating package
prompt

spool off;

--
-- Create statspack package
@@sbcpkg

undefine key tns_alias inst_name perfstat_password pkg_name db_unique_name



OHA YOOOO