Sie sind auf Seite 1von 10

#!

/bin/sh

# ==============================================================================

# IBM Information Server metadata repository user and tablespace creation for

# Oracle 12c

# Copyright (C) 2009-2017 IBM Corporation. All rights reserved.

# ==============================================================================

TRUE=0

FALSE=1

showUsage() {

echo

echo ' Usage: create_xmeta_db <OracleSystemName> <OracleSystemPassword> <ServiceName>


<XmetaUserName> <XmetaUserPassword> <XmetaTablespaceName> <XmetaDatafilePath>'

echo

echo Sample: create_xmeta_db SYSTEM MANAGER DBNAME xmetauser xmetapwd xmetaspace


/u01/app/oracle/oradata/dbname

echo

echo Parameters:

echo

echo ' <OracleSystemUser>'

echo Oracle system user to login to sqlplus with to create the tablespace and

echo user. This user must be assigned the DBA role.

echo

echo ' <OracleSystemPassword>'

echo Password for the Oracle system user.

echo
echo ' <ServiceName>'

echo Oracle TNS service name. This must be a working service name.

echo

echo ' <XmetaUserName>'

echo Name of the Oracle user to create for the metadata repository tablespace.

echo

echo ' <XmetaUserPassword>'

echo Password for the metadata repository tablespace user.

echo

echo ' <XmetaTableSpaceName>'

echo Name of the metadata repository tablespace.

echo

echo ' <XmetaDatafilePath>'

echo Location where the tablespace data files will be created. It must be an

echo ' existing path. Do not add a trailing slash or backslash ("/" or "\").'

echo

echo Example: /u01/app/oracle/oradata/dbname

echo

exit 1

isCygwin() {

case `uname` in

CYGWIN*) #cygwin-specific stuff

echo $TRUE

return $TRUE

;;

esac
echo $FALSE

return $FALSE

missingFile() {

echo

echo Required file $1 'was not found.'

exit 1

stepFailed() {

echo

echo An error occurred while $1

echo

echo See the file $2 for more information.

echo

echo CREATION FAILED >> $3

echo >> $3

exit 1

if [ "'echo -n'" = "-n" ]; then

n=""; c="\c"

else

n="-n"; c=""

fi
# Capture parameters and set the variables:

SYS_USER_NAME=$1

SYS_USER_PASSWORD=$2

SYS_SERVICE_NAME=$3

XMETA_USER_NAME=$4

XMETA_USER_PASSWORD=$5

XMETA_TABLESPACE_NAME=$6

XMETA_DATAFILE_PATH=$7

AS_SYSDBA=" AS SYSDBA"

SQLPLUS_OPTIONS=$SYS_USER_NAME/$SYS_USER_PASSWORD@$SYS_SERVICE_NAME

# ===$AS_SYSDBA

# ==============================================================================

clear

#echo $SQLPLUS_OPTIONS

if [ "$SYS_USER_NAME" = "" ];

then

showUsage

fi

if [ "$SYS_USER_PASSWORD" = "" ];

then

showUsage

fi

if [ "$XMETA_USER_NAME" = "" ];

then
showUsage

fi

if [ "$XMETA_USER_PASSWORD" = "" ];

then

showUsage

fi

if [ "$SYS_SERVICE_NAME" = "" ];

then

showUsage

fi

if [ "$XMETA_DATAFILE_PATH" = "" ];

then

showUsage

fi

if [ "$XMETA_TABLESPACE_NAME" = "" ];

then

showUsage

fi

# ==============================================================================

# ==============================================================================

# Check for expected files:

echo Checking Required files....

# ==============================================================================

STEP_DSC='Checking Required File.'

REQUIRED_FILE=create_xmeta_db_tablespace.sql
if [ ! -f $REQUIRED_FILE ];

then

missingFile $REQUIRED_FILE

fi

REQUIRED_FILE=configure_xmeta_db.sql

if [ ! -f $REQUIRED_FILE ];

then

missingFile $REQUIRED_FILE

fi

REQUIRED_FILE=create_xmeta_db_user.sql

if [ ! -f $REQUIRED_FILE ];

then

missingFile $REQUIRED_FILE

fi

# ==============================================================================

# ==============================================================================

# Echo and get confirmation if appropriate:

echo setting datafile path ...

echo

if [ `isCygwin` = $TRUE ]; then

XMETA_DATAFILE=`cygpath -w $XMETA_DATAFILE_PATH/$XMETA_TABLESPACE_NAME.dbf`

else

XMETA_DATAFILE=$XMETA_DATAFILE_PATH/$XMETA_TABLESPACE_NAME.dbf
fi

REQUIRED_FILE=$XMETA_DATAFILE_PATH

#Check if data file path is in ASM

#if data file path is in ASM it always starts with +

isASMFilePath=${XMETA_DATAFILE_PATH:0:1}

if [ "$isASMFilePath" != "+" ] && [ ! -d $REQUIRED_FILE ]

then

echo DataFilePath Error: $REQUIRED_FILE must be a valid directory which exists.

exit 1

fi

echo

echo The IBM Information Server metadata repository database will be created:

echo

echo Oracle SID : $SYS_SERVICE_NAME

echo Tablespace : $XMETA_TABLESPACE_NAME

echo Schema name : $XMETA_USER_NAME

echo Data file : $XMETA_DATAFILE

echo

echo $n 'Press [CTRL/C]; to abort or [ENTER] to continue' $c; read ans

# ==============================================================================
OUTFILE=create_xmeta_db.log

echo >> $OUTFILE

date >> $OUTFILE

echo Metadata repository database info: >> $OUTFILE

echo >> $OUTFILE

echo Oracle SID: $SYS_SERVICE_NAME >> $OUTFILE

echo Tablespace name to be created: $XMETA_TABLESPACE_NAME >> $OUTFILE

echo Schema name to be created: $XMETA_USER_NAME >> $OUTFILE

echo Data file spec: $XMETA_DATAFILE >> $OUTFILE

# ==============================================================================

# Create Oracle Metadata repository Schema

# ==============================================================================

echo Creating tablespace .....

STEP_LOG=ORACLE_XMETA_TABLESPACE.log

if [ -f $STEP_LOG ];

then

rm $STEP_LOG

fi

sqlplus -S -L $SQLPLUS_OPTIONS @create_xmeta_db_tablespace.sql $XMETA_TABLESPACE_NAME


$XMETA_DATAFILE

if [ "$?" = "1" ];

then

stepFailed 'Creating metadata repository tablespace' $STEP_LOG $OUTFILE

fi

echo Tablespace created successfully

# ==============================================================================
echo Modifying DB config

STEP_LOG=config_xmeta_db.log

if [ -f $STEP_LOG ];

then

rm $STEP_LOG

fi

sqlplus -S -L $SQLPLUS_OPTIONS @configure_xmeta_db.sql

if [ "$?" = "1" ];

then

stepFailed 'Configuring metadata repository database' $STEP_LOG $OUTFILE

fi

echo Database configuration modified successfully

# ========================================================================

echo Creating metadata repository user .....

STEP_LOG=ORACLE_XMETA_USER.log

if [ -f $STEP_LOG ];

then

rm $STEP_LOG

fi

sqlplus -S -L $SQLPLUS_OPTIONS @create_xmeta_db_user.sql $XMETA_USER_NAME


$XMETA_USER_PASSWORD $XMETA_TABLESPACE_NAME

if [ "$?" = "1" ];

then

stepFailed 'Creating metadata repository user' $STEP_LOG $OUTFILE

fi

echo User created successfully

# ==============================================================================
echo $0 completed

echo COMPLETED SUCCESSFULLY >> $OUTFILE

echo >> $OUTFILE

Das könnte Ihnen auch gefallen