This is a library for DDL Operations
This will be the repository of the functions
#!/bin/ksh
#################################################################################################
lst_objs_all()
{
##############################
# List objs for schema
##############################
echo
echo
echo
sqlplus -s "/ as sysdba" <<EOF
set lines 150
set pages 150
set feedback off
column object_name format a25
-- spool <some file name>
set serveroutput on size 1000000
BEGIN
dbms_output.put_line('-----------------------------------------------------------------');
dbms_output.put_line('<<<<<<<<<<<<<<<<<<<< All database objects >>>>>>>>>>>>>');
dbms_output.put_line('-----------------------------------------------------------------');
END;
/
-- from dba_segments
-- where owner='SCHEMA_OWNER';
select table_name,
tablespace_name,
avg_row_len*num_rows
from dba_tables
where owner not in('SYS','SYSTEM','DBSNMP','WMSYS','OUTLN','APPQOSSYS','ORACLE_OCM','CORP_AUDIT')
order by table_name asc;
BEGIN
dbms_output.put_line('------------------------------------------------------------------------');
dbms_output.put_line('<<<<<<<<<<<<< Schema Objects Count by object type >>>>>>>>>>>>>>>>>>>>>>');
dbms_output.put_line('------------------------------------------------------------------------');
END;
/
select owner,
count(object_type) "Count",
object_type
from all_objects
where owner not in('SYS','SYSTEM','DBSNMP','WMSYS','OUTLN','APPQOSSYS','ORACLE_OCM','CORP_AUDIT')
group by owner, object_type
order by owner;
EOF
}
sho_users()
{
##############################################
# Show the quotas for users
##############################################
echo
echo "Show the users "
echo
sqlplus -s "/ as sysdba" <<EOF
set lines 150
set pages 150
select username
from dba_users
order by 1;
EOF
}
sho_quotas()
{
##############################################
# Show the quotas for users
##############################################
echo
echo "Show the quotas for users "
echo
sqlplus -s "/ as sysdba" <<EOF
set lines 150
set pages 150
PROMPT
PROMPT Show the quotas for all of the users
PROMPT
select * from dba_ts_quotas
order by tablespace_name;
EOF
}
del_app_users()
#############################################################
# This is a generic drop user cascade function to drop users
#############################################################
{
echo
sqlplus -s "/ as sysdba" ;EOF
set echo on
set feed on
set time on
set timing on
spool
drop role <role name>_ROLE;
commit;
spool off
exit
EOF
}
cr_app_users()
{
echo "Create application users"
}
lst_objs_schm()
{
##############################
# List objs for schema
##############################
SCHM=$1
echo
echo "List objects for schema ${SCHM}..."
echo
sqlplus -s "/ as sysdba" <<EOF
set lines 150
set pages 150
set feedback off
column object_name format a25
-- spool <some file name>
set serveroutput on size 1000000
BEGIN
dbms_output.put_line('-----------------------------------------------------------------');
dbms_output.put_line('<<<<<<<<<<< ${SCHM} Objects >>>>>>>>>>>>>');
dbms_output.put_line('-----------------------------------------------------------------');
END;
/
-- from dba_segments
-- where owner='${SCHM}';
select table_name,
tablespace_name,
avg_row_len*num_rows
from dba_tables
where owner='${SCHM}'
order by table_name asc;
PROMPT
PROMPT
PROMPT
BEGIN
dbms_output.put_line('-----------------------------------------------------------------');
dbms_output.put_line('<<<<<<<<<<< ${SCHM} Objects Count ${SCHM} >>>>>>>>>>>>>>>>>');
dbms_output.put_line('-----------------------------------------------------------------');
END;
/
select owner,
count(object_type) "Count",
object_type
from all_objects
where owner='${SCHM}'
group by owner, object_type;
EOF
}
sho_seq()
{
echo
echo
echo
schm=$1
sqlplus -s "/ as sysdba" <<EOF
set lines 150
set pages 150
PROMPT
PROMPT Showing sequences for ${schm}
PROMPT
select count(*) from dba_sequences where sequence_owner='${schm}';
select sequence_name, sequence_owner from dba_sequences where sequence_owner='${schm}';
EOF
}
test_conn_user()
{
###############################################################
# This is the one table currently not being produced by Zafin
# pass the environment name and the password for the user
###############################################################
ENV=$1
PWRD=$2
echo
echo "User : "${ENV}
echo
sqlplus -s "/ as sysdba" <<EOF
set lines 150
set pages 150
connect ${ENV}/${PWRD}
select owner,
table_name
from all_tables
order by owner;
select object_name
from all_objects
where object_type='SYNONYM';
EOF
}