├── README.md
├── obi
├── service
│ ├── img
│ │ ├── service01.png
│ │ ├── service02.png
│ │ ├── service03.png
│ │ ├── service04.png
│ │ └── service01a.png
│ ├── sysconfig
│ │ └── obiee
│ ├── README.md
│ └── init.d
│ │ └── obiee
├── installs
│ └── response_files
│ │ └── 11.1.1.7
│ │ ├── deinstall_responsefiles
│ │ ├── deinstall_oraclecommonhome.rsp
│ │ ├── deinstall_oraclehome.rsp
│ │ └── deinstall_ASInstances.rsp
│ │ ├── in-place-upgrade
│ │ ├── Linux
│ │ │ ├── 1_swonly.rsp
│ │ │ ├── 3_config_ass.rsp
│ │ │ └── 2_psa.rsp
│ │ └── Windows
│ │ │ ├── 1_swonly.rsp
│ │ │ ├── 3_config_ass.rsp
│ │ │ └── 2_psa.rsp
│ │ └── install-and-configure
│ │ ├── linux_11.1.1.7.rsp
│ │ └── win_11.1.1.7.rsp
├── config
│ └── scm-conf-git.template.xml
├── wlst
│ ├── bounce_BI.snippet.py
│ ├── check_app_state.py
│ ├── add_users_via_wlst.txt
│ ├── add_users.py
│ ├── set_webcat.py
│ ├── cache_set.py
│ ├── enable_ut_sa.py
│ └── deploy_rpd.py
├── security_audit
│ ├── security_compare.py
│ ├── security_audit.py
│ └── templates
│ │ ├── audit_results.html
│ │ └── no_audit_results.html
├── pull_the_trigger.sh
├── perl
│ └── manage_rpd.pl
└── alerts
│ └── email_component_status.py
└── .gitignore
/README.md:
--------------------------------------------------------------------------------
1 | A collection of scripts and utilities to make the OBI admin's life easier
2 |
--------------------------------------------------------------------------------
/obi/service/img/service01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RittmanMead/scripts/HEAD/obi/service/img/service01.png
--------------------------------------------------------------------------------
/obi/service/img/service02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RittmanMead/scripts/HEAD/obi/service/img/service02.png
--------------------------------------------------------------------------------
/obi/service/img/service03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RittmanMead/scripts/HEAD/obi/service/img/service03.png
--------------------------------------------------------------------------------
/obi/service/img/service04.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RittmanMead/scripts/HEAD/obi/service/img/service04.png
--------------------------------------------------------------------------------
/obi/service/img/service01a.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/RittmanMead/scripts/HEAD/obi/service/img/service01a.png
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 |
2 | .DS_Store
3 |
4 | obi/installs/response_files/11.1.1.7/.DS_Store
5 |
6 | obi/installs/response_files/11.1.1.7/in-place-upgrade/.DS_Store
7 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/deinstall_responsefiles/deinstall_oraclecommonhome.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Identifies the if the Instance deinstallation is valid or not
9 | DEINSTALL_IN_ASINSTANCE_MODE=false
10 |
11 |
12 | [SYSTEM]
13 |
14 |
15 | [APPLICATIONS]
16 |
17 |
18 | [RELATIONSHIPS]
19 |
20 |
21 |
--------------------------------------------------------------------------------
/obi/config/scm-conf-git.template.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | git add ${file}
6 |
7 |
8 | git add ${file}
9 |
10 |
11 | git rm --force ${filelist}
12 |
13 |
14 | git mv -f ${from} ${to}
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/deinstall_responsefiles/deinstall_oraclehome.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Identifies the if the Instance deinstallation is valid or not
9 | DEINSTALL_IN_ASINSTANCE_MODE=false
10 |
11 | #Specify true for Oracle Home deinstall
12 | OH_HOME_DEINSTALL=true
13 |
14 | #Specify true for Managed Instance deinstall
15 | DOMAIN_MANAGED_ASINSTANCE_DEINSTALL=false
16 |
17 | #Specify true for Un-managed Instance deinstall
18 | UNMANAGED_ASINSTANCE_DEINSTALL=false
19 |
20 |
21 | [SYSTEM]
22 |
23 |
24 | [APPLICATIONS]
25 |
26 |
27 | [RELATIONSHIPS]
28 |
29 |
30 |
--------------------------------------------------------------------------------
/obi/wlst/bounce_BI.snippet.py:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # Developed by RNM @ Rittman Mead
3 | # Absolutely no warranty, use at your own risk
4 | # Please include this header in any copy or reuse of the script you make
5 | # ===================================================================#
6 |
7 | # Restart BI Server
8 | cd ('..')
9 | cd ('oracle.biee.admin:oracleInstance=instance1,type=BIDomain.BIInstanceDeployment.BIComponent,biInstance=coreapplication,process=coreapplication_obis1,group=Service')
10 |
11 | print 'Stopping the BI server'
12 | params = jarray.array([], java.lang.Object)
13 | signs = jarray.array([], java.lang.String)
14 | invoke('stop', params, signs)
15 |
16 | BIServerStatus = get('Status')
17 | print 'BI ServerStatus : ' +BIServerStatus
18 |
19 | print 'Starting the BI server'
20 | params = jarray.array([], java.lang.Object)
21 | signs = jarray.array([], java.lang.String)
22 | invoke('start', params, signs)
23 |
24 | BIServerStatus = get('Status')
25 | print 'BI ServerStatus : ' +BIServerStatus
26 |
27 | # Exit
28 | exit()
29 |
30 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/deinstall_responsefiles/deinstall_ASInstances.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Identifies the if the Instance deinstallation is valid or not
9 | DEINSTALL_IN_ASINSTANCE_MODE=false
10 |
11 | #Specify true for Oracle Home deinstall
12 | OH_HOME_DEINSTALL=false
13 |
14 | #Specify true for Managed Instance deinstall
15 | DOMAIN_MANAGED_ASINSTANCE_DEINSTALL=true
16 |
17 | #Specify true for Un-managed Instance deinstall
18 | UNMANAGED_ASINSTANCE_DEINSTALL=false
19 |
20 | #
21 | DEINSTALL INSTANCE LIST=
22 |
23 |
24 | [SYSTEM]
25 |
26 |
27 | [APPLICATIONS]
28 |
29 |
30 | [RELATIONSHIPS]
31 |
32 | #Specify the Domain Host Name
33 | DOMAIN_HOST_NAME=exalytics-hostname.domain.com
34 |
35 | #Specify the Domain Port Number
36 | DOMAIN_PORT_NO=7001
37 |
38 | #Specify the Domain User Name
39 | DOMAIN_USER_NAME=weblogic
40 |
41 | #Specify the Domain Password
42 | DOMAIN_USER_PASSWORD=
43 |
44 | #Specify the list of Instance to be deinstalled in the following format. InstanceName^LocationOfInstance$InstanceName^LocationOfInstance$
45 | MANAGED_INSTANCE_LIST=instance1^/u01/app/oracle/product/fmw/instances/instance1$
46 |
47 |
48 |
--------------------------------------------------------------------------------
/obi/service/sysconfig/obiee:
--------------------------------------------------------------------------------
1 | # The OS owner under which OBIEE should be managed
2 | ORACLE_OWNR=oracle
3 | # The FMW Home folder
4 | FMW_HOME=/u01/app/oracle/product/fmw
5 | # Folder in which to store log files - change if you don't want them in /var/log
6 | LOG_PATH=/var/log
7 | # lsof path
8 | LSOF_PATH=/usr/sbin/lsof
9 |
10 | # -------------------------------------------------------------------
11 | # Settings below here typically require no change
12 | # -------------------------------------------------------------------
13 | BIEE_DOMAIN=bifoundation_domain # Domain name
14 | BIEE_INSTANCE=instance1 # Instance name
15 | WLS_MANAGED_SERVER=bi_server1 # Server name
16 | WLS_PATH=$FMW_HOME/wlserver_10.3/server/bin
17 | WLS_DOMAIN_PATH=$FMW_HOME/user_projects/domains/$BIEE_DOMAIN
18 | WLS_DOMAIN_BIN=$WLS_DOMAIN_PATH/bin
19 | ORACLE_INSTANCE=$FMW_HOME/instances/$BIEE_INSTANCE
20 | ANALYTICS_EAR=$FMW_HOME/Oracle_BI1/bifoundation/jee/analytics.ear
21 | WL_TMP_MANIFEST=$FMW_HOME/user_projects/domains/bifoundation_domain/servers/bi_server1/tmp/_WL_user/analytics_11.1.1/7dezjl/war/META-INF/MANIFEST.MF
22 | BIEE_VERSION_FILE=$FMW_HOME/Oracle_BI1/bifoundation/version.txt
23 |
24 | ADMIN_SERVER_START_TIMEOUT=300
25 | MANAGED_SERVER_START_TIMEOUT=600
26 | NODE_MANAGER_START_TIMEOUT=60
27 | OPMN_START_TIMEOUT=120
28 | ADMIN_SERVER_STOP_TIMEOUT=300
29 | MANAGED_SERVER_STOP_TIMEOUT=300
30 | NODE_MANAGER_STOP_TIMEOUT=60
31 | OPMN_STOP_TIMEOUT=120
32 |
--------------------------------------------------------------------------------
/obi/wlst/check_app_state.py:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # Developed by RNM @ Rittman Mead
3 | # Absolutely no warranty, use at your own risk
4 | # Please include this header in any copy or reuse of the script you make
5 | # ===================================================================#
6 |
7 | # Check the status of an Application Deployment# Takes five arguments - connection details, plus application name, and server
8 | # RNM 2012-05-01
9 | import sys
10 | import os
11 | # Check the arguments to this script are as expected.# argv[0] is script name.argLen = len(sys.argv)if argLen -1 < 5: print "ERROR: got ", argLen -1, " args." print "USAGE: wlst.sh check_app_state.py WLS_USER WLS_PASSWORD WLS_URL app_name target_server" exit()WLS_USER = sys.argv[1]WLS_PW = sys.argv[2]
12 | WLS_URL = sys.argv[3]
13 | appname = sys.argv[4]
14 | appserver = sys.argv[5]
15 |
16 | print 'Connecting to '+ WLS_URL + ' as user: ' + WLS_USER + ' ...'
17 |
18 | # Connect to WLS
19 | connect(WLS_USER, WLS_PW, WLS_URL);
20 |
21 | # Set Application run time object
22 | try:
23 | nav=getMBean('domainRuntime:/AppRuntimeStateRuntime/AppRuntimeStateRuntime')
24 | state=nav.getCurrentState(appname,appserver)
25 | print "\033[1;32m " + state + "\033[1;m"
26 | except:
27 | print "Error::", sys.exc_info()[0]
28 | objs = jarray.array([], java.lang.Object)
29 | strs = jarray.array([], java.lang.String)
30 | raise
31 |
32 | disconnect()
33 | exit()
34 |
--------------------------------------------------------------------------------
/obi/wlst/add_users_via_wlst.txt:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # Developed by RNM @ Rittman Mead
3 | # Absolutely no warranty, use at your own risk
4 | # Please include this header in any copy or reuse of the script you make
5 | # ===================================================================#
6 |
7 |
8 |
9 | /app/fmw11115/oracle_common/common/bin/wlst.sh
10 | connect('weblogic','welcome1','t3://rm-oel02:7001')
11 | execfile('create_users.txt')
12 | execfile('create_groups.txt')
13 | execfile('assign_groups.txt')
14 | disconnect()
15 | exit()
16 |
17 |
18 | ==> create_groups.txt <==
19 | atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider('DefaultAuthenticator')
20 |
21 | atnr.createGroup('affiliates','Affiliates')
22 | atnr.createGroup('corporate','Corporate')
23 |
24 |
25 | ==> create_users.txt <==
26 | atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider('DefaultAuthenticator')
27 |
28 | atnr.createUser('fsmith','December11','Fred Smith')
29 | atnr.createUser('jbloggs','December11','Joe Bloggs')
30 | atnr.createUser('brubble','December11','Barney Rubble')
31 |
32 |
33 | ==> assign_groups.txt <==atnr=cmo.getSecurityConfiguration().getDefaultRealm().lookupAuthenticationProvider('DefaultAuthenticator')
34 |
35 | atnr.addMemberToGroup( 'BIConsumers', 'fsmith')
36 | atnr.addMemberToGroup( 'BIConsumers', 'jbloggs')
37 | atnr.addMemberToGroup( 'BIConsumers', 'brubble')
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/in-place-upgrade/Linux/1_swonly.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Set this to true if you wish to specify a directory where latest updates are downloaded. This option would use the software updates from the specified directory
9 | SPECIFY_DOWNLOAD_LOCATION=false
10 |
11 | #Set this to true to skip the Software updates
12 | SKIP_SOFTWARE_UPDATES=true
13 |
14 | #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
15 | SOFTWARE_UPDATES_DOWNLOAD_LOCATION=
16 |
17 | #Install Software and Configure Components for Express Install. Installs and Configures components with default settings. Installs the light-weight WebLogic Server and creates a new domain.
18 | INSTALL_FOR_DEVELOPMENT_TYPE=false
19 |
20 | #Install and Configure Software Components and Applications. Installs binaries in an ORACLE_HOME and configures working instances in an INSTANCE_HOME.
21 | INSTALL_AND_CONFIGURE_TYPE=false
22 |
23 | #Install Software Components and Applications. Installs binaries in an ORACLE_HOME, but do not configure working instances of installed components.
24 | INSTALL_AND_CONFIGURE_LATER_TYPE=true
25 |
26 | #Provide the Oracle Home location. The location has to be the immediate child under the specified Middleware Home location. The Oracle Home directory name may only contain alphanumeric , hyphen (-) , dot (.) and underscore (_) characters, and it must begin with an alphanumeric character. The total length has to be less than or equal to 128 characters. The location has to be an empty directory or a valid BI Oracle Home.
27 | ORACLE_HOME=/u01/app/oracle/product/fmw/Oracle_BI1
28 |
29 | #Provide existing Middleware Home location.
30 | MW_HOME=/u01/app/oracle/product/fmw
31 |
32 | #Application Server choices are WLS, WAS
33 | APPSERVER_TYPE=WLS
34 |
35 | #Provide the Application Server Location.
36 | APPSERVER_LOCATION=/u01/app/oracle/product/fmw
37 |
38 |
39 | [SYSTEM]
40 |
41 |
42 | [APPLICATIONS]
43 |
44 |
45 | [RELATIONSHIPS]
46 |
47 |
48 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/in-place-upgrade/Windows/1_swonly.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Set this to true if you wish to specify a directory where latest updates are downloaded. This option would use the software updates from the specified directory
9 | SPECIFY_DOWNLOAD_LOCATION=false
10 |
11 | #Set this to true to skip the Software updates
12 | SKIP_SOFTWARE_UPDATES=true
13 |
14 | #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
15 | SOFTWARE_UPDATES_DOWNLOAD_LOCATION=
16 |
17 | #Install Software and Configure Components for Express Install. Installs and Configures components with default settings. Installs the light-weight WebLogic Server and creates a new domain.
18 | INSTALL_FOR_DEVELOPMENT_TYPE=false
19 |
20 | #Install and Configure Software Components and Applications. Installs binaries in an ORACLE_HOME and configures working instances in an INSTANCE_HOME.
21 | INSTALL_AND_CONFIGURE_TYPE=false
22 |
23 | #Install Software Components and Applications. Installs binaries in an ORACLE_HOME, but do not configure working instances of installed components.
24 | INSTALL_AND_CONFIGURE_LATER_TYPE=true
25 |
26 | #Provide the Oracle Home location. The location has to be the immediate child under the specified Middleware Home location. The Oracle Home directory name may only contain alphanumeric , hyphen (-) , dot (.) and underscore (_) characters, and it must begin with an alphanumeric character. The total length has to be less than or equal to 128 characters. The location has to be an empty directory or a valid BI Oracle Home.
27 | ORACLE_HOME=c:\oracle\middleware\Oracle_BI1
28 |
29 | #Provide existing Middleware Home location.
30 | MW_HOME=c:\oracle\middleware
31 |
32 | #Application Server choices are WLS, WAS
33 | APPSERVER_TYPE=WLS
34 |
35 | #Provide the Application Server Location.
36 | APPSERVER_LOCATION=c:\oracle\middleware
37 |
38 |
39 | [SYSTEM]
40 |
41 |
42 | [APPLICATIONS]
43 |
44 |
45 | [RELATIONSHIPS]
46 |
47 |
48 |
--------------------------------------------------------------------------------
/obi/wlst/add_users.py:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # Developed by RNM @ Rittman Mead
3 | # Absolutely no warranty, use at your own risk
4 | # Please include this header in any copy or reuse of the script you make
5 | # ===================================================================#
6 | # RNM 2012-11-26
7 | # Add users to WLS LDAP directory, and add them into groups
8 | #
9 | # This script expects the following arguments:
10 | #
11 | # 1. wls.user (weblogic)
12 | # 2. wls.password ()
13 | # 3. wls.url (t3://localhost:7001)
14 | # 4. base ID for users
15 | # 5. Password to use for new users
16 | # 6. Group to assign to the users
17 | # 7. Number of users to create
18 | #
19 | # example usage:
20 | # $ /u01/app/oracle/product/fmw3/oracle_common/common/bin/wlst.sh ./add_users.py weblogic Germanbight03 t3://localhost:7004 TestUser UuJ6Il9JeOd0 BIConsumers 50
21 | # ===================================================================
22 |
23 | import sys
24 | import os
25 | # Check the arguments to this script are as expected.
26 | # argv[0] is script name.
27 | argLen = len(sys.argv)
28 | if argLen -1 < 7:
29 | print "ERROR: got ", argLen -1, " args."
30 | print "USAGE: wlst.sh add_users.py WLS_USER WLS_PASSWORD WLS_URL BASE_NAME PW_TO_ASSIGN GROUP NUMBER_OF_USERS"
31 | exit()
32 |
33 | WLS_USER = sys.argv[1]
34 | WLS_PW = sys.argv[2]
35 | WLS_URL = sys.argv[3]
36 | basename = sys.argv[4]
37 | pw = sys.argv[5]
38 | group = sys.argv[6]
39 | numberofusers = int(sys.argv[7])
40 |
41 | print WLS_USER, WLS_PW, WLS_URL, basename, pw, group
42 | print 'Connecting to '+ WLS_URL + ' as user: ' + WLS_USER + ' ...'
43 |
44 | # Connect to WLS
45 | connect(WLS_USER, WLS_PW, WLS_URL);
46 |
47 | print 'Adding users'
48 | try:
49 | ix=0
50 | while ix> /tmp/ptt.log
154 | # -----------
155 | number=`echo $RANDOM % 27 + 1 | bc`
156 | echo $number >> /tmp/ptt.log
157 | if [ $number -le 3 ]; then
158 | cmd="$OPMN_STOP process-type=OracleBIServerComponent"
159 | elif [ $number -le 6 ]; then
160 | cmd="$OPMN_STOP process-type=OracleBIPresentationServicesComponent"
161 | elif [ $number -le 9 ]; then
162 | cmd="$OPMN_STOP process-type=OracleBIClusterControllerComponent"
163 | elif [ $number -le 12 ]; then
164 | cmd="$OPMN_STOP process-type=OracleBIJavaHostComponent"
165 | elif [ $number -eq 13 ]; then
166 | cmd="$OPMN_STOP process-type=OracleBISchedulerComponent"
167 | elif [ $number -le 16 ]; then
168 | cmd="lsnrctl stop"
169 | elif [ $number -le 19 ]; then
170 | cmd="shutdownoracle"
171 | elif [ $number -le 22 ]; then
172 | cmd="$DOMAIN_HOME/bin/stopWebLogic.sh"
173 | elif [ $number -le 25 ]; then
174 | cmd="$DOMAIN_HOME/bin/stopManagedWebLogic.sh bi_server1"
175 | elif [ $number -le 27 ]; then
176 | cmd="shutdownbimiddleware"
177 | else
178 | cmd="sleep 10"
179 | fi
180 |
181 | # Log what we're going to do
182 | date >> /tmp/ptt.log
183 | echo $cmd >> /tmp/ptt.log
184 |
185 | # Pull the trigger!
186 | echo -e '\E[01;31;40m'"Gremlins at work . . . . please wait . . . \033[0m"
187 | $cmd 2>>/tmp/ptt.log 1>&2
188 |
189 | # -----------------
190 | echo ' '
191 | echo ' '
192 | echo ' '
193 | echo ' '
194 | echo "Done ! "
195 | echo ' '
196 | echo ' Now check OBIEE and figure out what has broken ... '
197 | echo ' '
198 | echo ' '
199 |
200 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/in-place-upgrade/Linux/3_config_ass.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Set this to true if you want to create a new BI System, all other required variables need to be provided. If this is set to true then variables "SCALEOUT_BISYSTEM" and "EXTEND_BISYSTEM" must be set to false, since the variables are mutually exclusive.
9 | CREATE_BISYSTEM=false
10 |
11 | #Set this to true if you want to scale out an existing BI System, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive. In order to scale out an existing BI system, the domain in the system must be running
12 | SCALEOUT_BISYSTEM=false
13 |
14 | #Set this to true if you want to configure BI System in an existing exmpty domain in the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","SCALEOUT_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive.
15 | EXTEND_BISYSTEM=false
16 |
17 | #Set this to true if you want to update an existing BI System running on the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "SCALEOUT_BISYSTEM" must be set to false, since the variables are mutually exclusive.
18 | UPDATE_BIDOMAIN=true
19 |
20 | #Write the name of the domain you want to create. Domain name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
21 | DOMAIN_NAME=bifoundation_domain
22 |
23 | #Write the name of the cell you want to create. Cell name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
24 | CELL_NAME=unknown
25 |
26 | #Write the name of the host to which you want to connect. It should have an already existing domain configured.
27 | DOMAIN_HOSTNAME=rnm-oel6-3
28 |
29 | #Give the port number at which the host should be connected.
30 | DOMAIN_PORT=7001
31 |
32 | #Give an administrator user name for the domain if you are creating a new one otherwise give the administrator user name for the domain configured at the host.
33 | ADMIN_USER_NAME=weblogic
34 |
35 | #Give an administrator password for the domain if you are creating a new one otherwise give the administrator password for the domain configured at the host.
36 | ADMIN_PASSWORD=
37 |
38 | #Write the administrator password again to confirm.
39 | ADMIN_CONFIRM_PASSWORD=
40 |
41 | #Is Single Server Install.
42 | WLS_SINGLE_SERVER_INSTALL=false
43 |
44 | #Specify the Middleware Home location.
45 | MW_HOME=/u01/app/oracle/product/fmw
46 |
47 | #Give the name of the Oracle Home directory. The Oracle Home directory name may only contain alphanumeric , hyphen (-) , dot (.) and underscore (_) characters, and it must begin with an alphanumeric character.
48 | ORACLE_HOME=/u01/app/oracle/product/fmw/Oracle_BI1
49 |
50 | #Give the complete path to a valid WebLogic Server Home.
51 | WEBLOGIC_HOME=/u01/app/oracle/product/fmw/wlserver_10.3
52 |
53 | #Give the complete path for a domain home to be created.
54 | DOMAIN_HOME_PATH=/u01/app/oracle/product/fmw/user_projects/domains/bifoundation_domain
55 |
56 | #Domain Name
57 | DOMAIN_NAME=bifoundation_domain
58 |
59 | #Give the complete path for JEE applications directory to be created.
60 | APPLICATIONS_HOME_PATH=unknown
61 |
62 | #Give the complete path for an Oracle Instance directory to be created. This is the location where the software configuration files and runtime processes will reside.
63 | INSTANCE_HOME=/u01/app/oracle/product/fmw/instances/instance1
64 |
65 | #Give a name for Oracle Instance corresponding to the Instance Home. The Oracle Instance name may only contain alphanumeric and underscore (_) characters, it must begin with an alphabetic (a-z or A-Z) character, and must be from 4 to 30 characters in length.
66 | INSTANCE_NAME=instance1
67 |
68 |
69 | [SYSTEM]
70 |
71 |
72 | [APPLICATIONS]
73 |
74 |
75 | [RELATIONSHIPS]
76 |
77 |
78 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/in-place-upgrade/Windows/3_config_ass.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Set this to true if you want to create a new BI System, all other required variables need to be provided. If this is set to true then variables "SCALEOUT_BISYSTEM" and "EXTEND_BISYSTEM" must be set to false, since the variables are mutually exclusive.
9 | CREATE_BISYSTEM=false
10 |
11 | #Set this to true if you want to scale out an existing BI System, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive. In order to scale out an existing BI system, the domain in the system must be running
12 | SCALEOUT_BISYSTEM=false
13 |
14 | #Set this to true if you want to configure BI System in an existing exmpty domain in the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","SCALEOUT_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive.
15 | EXTEND_BISYSTEM=false
16 |
17 | #Set this to true if you want to update an existing BI System running on the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "SCALEOUT_BISYSTEM" must be set to false, since the variables are mutually exclusive.
18 | UPDATE_BIDOMAIN=true
19 |
20 | #Write the name of the domain you want to create. Domain name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
21 | DOMAIN_NAME=bifoundation_domain
22 |
23 | #Write the name of the cell you want to create. Cell name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
24 | CELL_NAME=unknown
25 |
26 | #Write the name of the host to which you want to connect. It should have an already existing domain configured.
27 | DOMAIN_HOSTNAME=training
28 |
29 | #Give the port number at which the host should be connected.
30 | DOMAIN_PORT=7001
31 |
32 | #Give an administrator user name for the domain if you are creating a new one otherwise give the administrator user name for the domain configured at the host.
33 | ADMIN_USER_NAME=weblogic
34 |
35 | #Give an administrator password for the domain if you are creating a new one otherwise give the administrator password for the domain configured at the host.
36 | ADMIN_PASSWORD=Password01
37 |
38 | #Write the administrator password again to confirm.
39 | ADMIN_CONFIRM_PASSWORD=Password01
40 |
41 | #Is Single Server Install.
42 | WLS_SINGLE_SERVER_INSTALL=false
43 |
44 | #Specify the Middleware Home location.
45 | MW_HOME=C:\oracle\middleware
46 |
47 | #Give the name of the Oracle Home directory. The Oracle Home directory name may only contain alphanumeric , hyphen (-) , dot (.) and underscore (_) characters, and it must begin with an alphanumeric character.
48 | ORACLE_HOME=C:\oracle\middleware\Oracle_BI1
49 |
50 | #Give the complete path to a valid WebLogic Server Home.
51 | WEBLOGIC_HOME=C:\oracle\middleware\wlserver_10.3
52 |
53 | #Give the complete path for a domain home to be created.
54 | DOMAIN_HOME_PATH=c:\oracle\middleware\user_projects\domains\bifoundation_domain
55 |
56 | #Domain Name
57 | DOMAIN_NAME=bifoundation_domain
58 |
59 | #Give the complete path for JEE applications directory to be created.
60 | APPLICATIONS_HOME_PATH=unknown
61 |
62 | #Give the complete path for an Oracle Instance directory to be created. This is the location where the software configuration files and runtime processes will reside.
63 | INSTANCE_HOME=C:\oracle\middleware\instances\instance1
64 |
65 | #Give a name for Oracle Instance corresponding to the Instance Home. The Oracle Instance name may only contain alphanumeric and underscore (_) characters, it must begin with an alphabetic (a-z or A-Z) character, and must be from 4 to 30 characters in length.
66 | INSTANCE_NAME=instance1
67 |
68 |
69 | [SYSTEM]
70 |
71 |
72 | [APPLICATIONS]
73 |
74 |
75 | [RELATIONSHIPS]
76 |
77 |
78 |
--------------------------------------------------------------------------------
/obi/wlst/enable_ut_sa.py:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # Developed by RNM @ Rittman Mead
3 | # Absolutely no warranty, use at your own risk
4 | # Please include this header in any copy or reuse of the script you make
5 | # ===================================================================#
6 |
7 | # Based on Script from Mark R / Venkat, hacked together with John M's script
8 | # -----------------------------------------
9 | # Enable Usage Tracking and Summary Advisor Statistics logging
10 | # Assumes that RPD has been updated with database and connection as stated below
11 | #
12 | # RNM 2012-05-04
13 | #
14 | # ===================================================================
15 | import sys
16 | import os
17 |
18 | # Check the arguments to this script are as expected.
19 | # argv[0] is script name.
20 | argLen = len(sys.argv)
21 | if argLen -1 != 3:
22 | print "ERROR: got ", argLen -1, " args."
23 | print "USAGE: wlst.sh enable_ut_sa.py WLS_USER WLS_PASSWORD WLS_URL"
24 | print " eg: wlst.sh enable_ut_sa.py weblogic password t3://localhost:7001"
25 | exit()
26 |
27 | WLS_USER = sys.argv[1]
28 | WLS_PW = sys.argv[2]
29 | WLS_URL = sys.argv[3]
30 |
31 | print 'Connecting to '+ WLS_URL + ' as user: ' + WLS_USER + ' ...'
32 |
33 | # Connect to WLS
34 | connect(WLS_USER, WLS_PW, WLS_URL);
35 |
36 | print 'Connecting to Domain ...'
37 | domainCustom()
38 | cd ('oracle.biee.admin')
39 |
40 |
41 | print 'Connecting to BIDomain MBean ...'
42 | cd ('oracle.biee.admin:type=BIDomain,group=Service')
43 | print 'Calling lock ...'
44 | objs = jarray.array([], java.lang.Object)
45 | strs = jarray.array([], java.lang.String)
46 | invoke('lock', objs, strs)
47 | cd('..')
48 |
49 |
50 | # Go to the BI Server configuration
51 | cd('oracle.biee.admin:type=BIDomain.BIInstance.ServerConfiguration,biInstance=coreapplication,group=Service')
52 |
53 | # Update usage tracking configuration
54 | print 'Existing configuration'
55 | print '----------------------'
56 | print get('SummaryAdvisorTableName')
57 | print get('SummaryStatisticsLogging')
58 | print get('UsageTrackingCentrallyManaged')
59 | print get('UsageTrackingConnectionPool')
60 | print get('UsageTrackingDirectInsert')
61 | print get('UsageTrackingEnabled')
62 | print get('UsageTrackingPhysicalTableName')
63 |
64 |
65 | # Update usage tracking configuration
66 | set('SummaryAdvisorTableName','"FMW Metadata Repository"."DEV_BIPLATFORM"."S_NQ_SUMMARY_ADVISOR"')
67 | set('SummaryStatisticsLogging','YES')
68 | set('UsageTrackingCentrallyManaged',1)
69 | set('UsageTrackingConnectionPool','"FMW Metadata Repository"."RCU Connection Pool"')
70 | set('UsageTrackingDirectInsert',1)
71 | set('UsageTrackingEnabled',1)
72 | set('UsageTrackingPhysicalTableName','"FMW Metadata Repository"."DEV_BIPLATFORM"."S_NQ_ACCT"')
73 |
74 | print 'Updated configuration'
75 | print '---------------------'
76 | print get('SummaryAdvisorTableName')
77 | print get('SummaryStatisticsLogging')
78 | print get('UsageTrackingCentrallyManaged')
79 | print get('UsageTrackingConnectionPool')
80 | print get('UsageTrackingDirectInsert')
81 | print get('UsageTrackingEnabled')
82 | print get('UsageTrackingPhysicalTableName')
83 |
84 |
85 | print 'Calling commit ...'
86 | cd ('..')
87 | cd ('oracle.biee.admin:type=BIDomain,group=Service')
88 | objs = jarray.array([], java.lang.Object)
89 | strs = jarray.array([], java.lang.String)
90 | invoke('commit', objs, strs)
91 |
92 | print 'Committed OK'
93 |
94 | # Restart BI Server
95 | cd ('..')
96 | cd ('oracle.biee.admin:oracleInstance=instance1,type=BIDomain.BIInstanceDeployment.BIComponent,biInstance=coreapplication,process=coreapplication_obis1,group=Service')
97 |
98 | print 'Stopping the BI server'
99 | params = jarray.array([], java.lang.Object)
100 | signs = jarray.array([], java.lang.String)
101 | invoke('stop', params, signs)
102 |
103 | BIServerStatus = get('Status')
104 | print 'BI ServerStatus : ' +BIServerStatus
105 |
106 | print 'Starting the BI server'
107 | params = jarray.array([], java.lang.Object)
108 | signs = jarray.array([], java.lang.String)
109 | invoke('start', params, signs)
110 |
111 | BIServerStatus = get('Status')
112 | print 'BI ServerStatus : ' +BIServerStatus
113 |
114 | # Exit
115 | exit()
116 |
117 |
--------------------------------------------------------------------------------
/obi/security_audit/security_audit.py:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 |
3 | """ Security mapping audit for OBIEE 12c. This code will generate a permissions report for all
4 | catalog objects, for the server upon which it is run. It takes the domain home as an argument in
5 | order to generate the report. This code will create data frames out of the two csv files generated
6 | by the security_audit.py code and then show you those rows which only exist on the lower environment,
7 | or whichever environment you'd like to validate against.
8 | 1. Run code once on lower environment application server.
9 | 2. Run code once again on target migration environment.
10 | 3. Move file 'C:\security_mappings.csv or /tmp/security_mappings.csv from target
11 | migration server to lower environment server and rename it 'security_mappings_02',
12 | placing it in the same directory as your other security_mappings.csv file.
13 | 4. Run security_compare.py, passing in both file locations as arguments,
14 | and then view test results."""
15 |
16 |
17 | # Imports - please ensure these are installed on all servers
18 | import os
19 | import pandas as pd
20 | import platform
21 |
22 |
23 | # OBIEE runcat file and clean file drop locations. Both the 'file_loc_x' and 'x_path' variables can be changed
24 | # per your file system configuration
25 | file_loc_win = 'C:\\permissions_report.csv'
26 | file_loc_lin = '/tmp/permissions_report.csv'
27 | win_path = 'C:\\security_mappings.csv'
28 | lin_path = '/tmp/security_mappings.csv'
29 |
30 |
31 | """ Main functions for program."""
32 |
33 |
34 | # Run runcat script to generate csv permissions report - note report output in C:\
35 | def win_runcat(domain_home):
36 | os.chdir(domain_home + '\\bitools\\bin')
37 | os.system('runcat.cmd -cmd report -offline ' + domain_home +
38 | '/bidata/service_instances/ssi/metadata/content/catalog'
39 | ' -forceoutputFile ' + file_loc_win +
40 | ' -type "All" -folder "/shared"'
41 | ' -fields "Owner:Name:Path:ACL:Group Members" -delimiter ","')
42 |
43 |
44 | def lin_runcat(domain_home):
45 | os.chdir(domain_home + '/bitools/bin')
46 | os.system('./runcat.sh -cmd report -offline ' + domain_home +
47 | '/bidata/service_instances/ssi/metadata/content/catalog'
48 | ' -forceoutputFile ' + file_loc_lin +
49 | ' -type "All" -folder "/shared"'
50 | ' -fields "Owner:Name:Path:ACL:Group Members" -delimiter ","')
51 |
52 |
53 | # Export cleaned up dataframes to server as csv
54 | def exp_to_csv(exp_file, path):
55 | export = pd.DataFrame(exp_file)
56 | export.to_csv(path, index=False)
57 |
58 |
59 | # Verify domain_home exists
60 | def verify_domain_home():
61 | bi_domain = input('Please enter the OBIEE12c DOMAIN_HOME. \n>')
62 | win_bi_tools = bi_domain + '\\bitools\\bin'
63 | lin_bi_tools = bi_domain + '/bitools/bin'
64 | if not os.path.exists(win_bi_tools) or not os.path.exists(lin_bi_tools):
65 | print('Path does not exist or is not the DOMAIN_HOME. Please check string and try again.')
66 | verify_domain_home()
67 | else:
68 | return bi_domain
69 |
70 |
71 | # Create and clean up dataframes and then dump to csv
72 | def df_to_cleancsv(csv):
73 | df = pd.DataFrame(pd.read_csv(csv))
74 | df['ACL'] = df['ACL'].str.replace('^', ' ').str.replace(':', '').str.replace('=', ':')
75 | df = df.sort_values(['Owner'])
76 | return df
77 |
78 |
79 | """ Main Program """
80 |
81 |
82 | if __name__ == '__main__':
83 | domain = os.environ.get('DOMAIN_HOME')
84 |
85 | if domain is None:
86 | domain_home = verify_domain_home()
87 |
88 | else:
89 | domain_home = domain
90 |
91 | if platform.system() == 'Windows': # check if OS is windows
92 | win_runcat(domain_home)
93 | export_win = df_to_cleancsv(file_loc_win) # Create dataframe from runcat output
94 | os.remove(file_loc_win) # Get rid of runcat csv output
95 | exp_to_csv(export_win, win_path) # Export dataframe to csv using function above
96 |
97 | else:
98 | lin_runcat(domain_home)
99 | export_lin = df_to_cleancsv(file_loc_lin)
100 | os.remove(file_loc_lin)
101 | exp_to_csv(export_lin, lin_path)
102 |
--------------------------------------------------------------------------------
/obi/wlst/deploy_rpd.py:
--------------------------------------------------------------------------------
1 | # ===================================================================
2 | # Developed by RNM @ Rittman Mead
3 | # Absolutely no warranty, use at your own risk
4 | # Please include this header in any copy or reuse of the script you make
5 | # ===================================================================#
6 |
7 | # ===================================================================#
8 | # RNM 2012-03-16
9 | # Deploy RPD and restart BI Server
10 | # Cobbled together from scripts by John M, Mark R and Venkat J
11 | #
12 | # Call this script as a parameter to wlst, for example:
13 | # %FMW_HOME%/oracle_common/common/bin/wlst.cmd deploy_rpd.py weblogic welcome1 t3://localhost:7001 C:\RPD_to_deploy.rpd Admin123 True
14 | #
15 | # This will deploy C:\RPD_to_deploy.rpd with RPD password Admin123.
16 | # The weblogic admin server is at t3://localhost:7001/ with credentials weblogic/welcome1
17 | # The final parameter (0 or 1) indicates whether to restart the BI Server process as part of this script
18 | # (The RPD won't be active until the BI Server is restarted)
19 | #
20 | # This script expects the following arguments:
21 | #
22 | # 1. wls.user (weblogic)
23 | # 2. wls.password ()
24 | # 3. wls.url (t3://localhost:7001)
25 | # 4. RPD path
26 | # 5. RPD password
27 | # 6. Restart BI after deploy (True|False)
28 | # ===================================================================
29 |
30 | import sys
31 | import os
32 | # Check the arguments to this script are as expected.
33 | # argv[0] is script name.
34 | argLen = len(sys.argv)
35 | if argLen -1 < 6:
36 | print "ERROR: got ", argLen -1, " args."
37 | print "USAGE: wlst.sh deploy_rpd.py WLS_USER WLS_PASSWORD WLS_URL RPD_PATH RPD_PWD RESTART_BI"
38 | exit()
39 | else:
40 | WLS_USER = sys.argv[1]
41 | WLS_PW = sys.argv[2]
42 | WLS_URL = sys.argv[3]
43 | rpdpath = sys.argv[4]
44 | rpdpass = sys.argv[5]
45 | restartBI = sys.argv[6]
46 |
47 | print 'Connecting to '+ WLS_URL + ' as user: ' + WLS_USER + ' ...'
48 |
49 | # Connect to WLS
50 | connect(WLS_USER, WLS_PW, WLS_URL);
51 |
52 | print 'Connecting to Domain ...'
53 | domainCustom()
54 | cd ('oracle.biee.admin')
55 | cd ('oracle.biee.admin:type=BIDomain,group=Service')
56 |
57 | print 'Locking the configuration...'
58 | objs = jarray.array([], java.lang.Object)
59 | strs = jarray.array([], java.lang.String)
60 | invoke('lock', objs, strs)
61 |
62 | # Deploy RPD
63 | print'Connecting to BIInstance MBean ...'
64 | cd ('..')
65 | cd ('oracle.biee.admin:type=BIDomain.BIInstance.ServerConfiguration,biInstance=coreapplication,group=Service')
66 | print 'Uploading RPD'
67 | try:
68 | # Set the parameters
69 | params = jarray.array([rpdpath,rpdpass],java.lang.Object)
70 | # Set the parameters Signs
71 | sign = jarray.array(['java.lang.String', 'java.lang.String'],java.lang.String)
72 | # Invoke the procedure
73 | invoke( 'uploadRepository', params, sign)
74 | except:
75 | cd ('..')
76 | cd ('oracle.biee.admin:type=BIDomain,group=Service')
77 | print"Error::", sys.exc_info()[0]
78 | objs = jarray.array([], java.lang.Object)
79 | strs = jarray.array([], java.lang.String)
80 | invoke('rollback', objs, strs)
81 | raise
82 |
83 |
84 | # Commit changes
85 | cd ('..')
86 | cd ('oracle.biee.admin:type=BIDomain,group=Service')
87 | objs = jarray.array([], java.lang.Object)
88 | strs = jarray.array([], java.lang.String)
89 | invoke('commit', objs, strs)
90 | print 'Committed OK'
91 |
92 | if restartBI == 'True':
93 | print 'Restarting BI server'
94 | # Restart BI Server
95 | cd ('..')
96 | cd ('oracle.biee.admin:oracleInstance=instance1,type=BIDomain.BIInstanceDeployment.BIComponent,biInstance=coreapplication,process=coreapplication_obis1,group=Service')
97 |
98 | print 'Stopping the BI server'
99 | params = jarray.array([], java.lang.Object)
100 | signs = jarray.array([], java.lang.String)
101 | invoke('stop', params, signs)
102 |
103 | BIServerStatus = get('Status')
104 | print 'BI ServerStatus : ' +BIServerStatus
105 |
106 | print 'Starting the BI server'
107 | params = jarray.array([], java.lang.Object)
108 | signs = jarray.array([], java.lang.String)
109 | invoke('start', params, signs)
110 |
111 | BIServerStatus = get('Status')
112 | print 'BI ServerStatus : ' +BIServerStatus
113 | else:
114 | print '(Skipped restarting BI Server)'
115 | # Exit
116 | exit()
117 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/in-place-upgrade/Windows/2_psa.rsp:
--------------------------------------------------------------------------------
1 | # This is a response file for the Fusion Middleware Patch Set Assistant.
2 | # Individual component upgrades are performed in the order they are described here.
3 | # Each upgrade is introduced by a section header containing the name of the
4 | # component and name of the upgrade plugin. The form of the section header is
5 | # [ComponentName.PluginName]
6 | # These names can be found in the Upgrade Descriptor files for the components.
7 |
8 | # Individual input lines consist of a name, an equal sign, and a value.
9 | # The name is in two parts separated by a period. The first part is the 'name'
10 | # attribute from the Descriptor File XML tag by which the plugin refers to the value.
11 | # The second part of the name identifies a field within that value. Some input
12 | # types have only one field, while other types can have half a dozen. Do not
13 | # intermix input lines that apply to different XML tags.
14 |
15 | [GENERAL]
16 | # This is the file format version number. Do not change the next line.
17 | fileFormatVersion = 3
18 |
19 | # The next section contains the information for performing a schema
20 | # upgrade on Oracle Metadata Services, as described in the Upgrade
21 | # Descriptor file located at
22 | # C:\oracle\middleware\oracle_common\upgrade\components\mds.xml
23 | # Do not change the next line.
24 | [MDS.MDS1]
25 | # The following number uniquely identifies this instance of an
26 | # upgrade plugin. Do not change it.
27 | pluginInstance = 6
28 |
29 | # The next few lines describe a database connection.
30 | # "Specify the database containing the MDS schema."
31 | # Specifies the type of database. Supported types for this product are
32 | # Oracle Database, Oracle Database enabled for edition-based redefinition, Microsoft SQL Server, IBM DB2, MySQL
33 | MDS.databaseType = Oracle Database
34 | # Specifies the database connection string for the DBA user.
35 | # The format depends upon the database type.
36 | MDS.databaseConnectionString = localhost:1521/orcl
37 | # Specifies the database connection string for the user schema.
38 | # The format depends upon the database type.
39 | MDS.schemaConnectionString = localhost:1521/orcl
40 | # Specifies the name of the schema or database user
41 | MDS.schemaUserName = DEV_MDS
42 | # Specifies the password for the schema, in encrypted form. To specify a
43 | # different password in cleartext, use the "cleartextSchemaPassword" keyword instead:
44 | # MDS.cleartextSchemaPassword = yourpassword
45 | MDS.cleartextSchemaPassword = Password01
46 | # Specifies the name of the database administrator account.
47 | MDS.dbaUserName = SYS AS SYSDBA
48 | # Specifies the password for the database administrator account, in encrypted form.
49 | # To specify a different password in cleartext, use the "cleartextDbaPassword" keyword
50 | # instead:
51 | # MDS.cleartextDbaPassword = yourpassword
52 | MDS.cleartextDbaPassword = Password01
53 |
54 | # The next section contains the information for performing a schema
55 | # upgrade on Oracle Business Intelligence, as described in the Upgrade
56 | # Descriptor file located at
57 | # C:\oracle\middleware\Oracle_BI1\upgrade\components\biplatform.xml
58 | # Do not change the next line.
59 | [BI.BI1]
60 | # The following number uniquely identifies this instance of an
61 | # upgrade plugin. Do not change it.
62 | pluginInstance = 2
63 | # This plugin can only execute if certain preceding plugin(s)
64 | # were successful. The number(s) on the next line must match numbers on other
65 | # pluginInstance declarations. Do not change them.
66 | dependsOnPluginInstance = 6
67 |
68 | # The next few lines describe a database connection.
69 | # "Specify the database containing the BIPLATFORM schema."
70 | # Specifies the type of database. Supported types for this product are
71 | # Oracle Database, Microsoft SQL Server, IBM DB2
72 | BIPLATFORM.databaseType = Oracle Database
73 | # Specifies the database connection string for the DBA user.
74 | # The format depends upon the database type.
75 | BIPLATFORM.databaseConnectionString = localhost:1521/orcl
76 | # Specifies the database connection string for the user schema.
77 | # The format depends upon the database type.
78 | BIPLATFORM.schemaConnectionString = localhost:1521/orcl
79 | # Specifies the name of the schema or database user
80 | BIPLATFORM.schemaUserName = DEV_BIPLATFORM
81 | # Specifies the password for the schema, in encrypted form. To specify a
82 | # different password in cleartext, use the "cleartextSchemaPassword" keyword instead:
83 | # BIPLATFORM.cleartextSchemaPassword = yourpassword
84 | BIPLATFORM.cleartextSchemaPassword = Password01
85 | # Specifies the name of the database administrator account.
86 | BIPLATFORM.dbaUserName = SYS AS SYSDBA
87 | # Specifies the password for the database administrator account, in encrypted form.
88 | # To specify a different password in cleartext, use the "cleartextDbaPassword" keyword
89 | # instead:
90 | # BIPLATFORM.cleartextDbaPassword = yourpassword
91 | BIPLATFORM.cleartextDbaPassword = Password01
92 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/in-place-upgrade/Linux/2_psa.rsp:
--------------------------------------------------------------------------------
1 | # This is a response file for the Fusion Middleware Patch Set Assistant.
2 | # Individual component upgrades are performed in the order they are described here.
3 | # Each upgrade is introduced by a section header containing the name of the
4 | # component and name of the upgrade plugin. The form of the section header is
5 | # [ComponentName.PluginName]
6 | # These names can be found in the Upgrade Descriptor files for the components.
7 |
8 | # Individual input lines consist of a name, an equal sign, and a value.
9 | # The name is in two parts separated by a period. The first part is the 'name'
10 | # attribute from the Descriptor File XML tag by which the plugin refers to the value.
11 | # The second part of the name identifies a field within that value. Some input
12 | # types have only one field, while other types can have half a dozen. Do not
13 | # intermix input lines that apply to different XML tags.
14 |
15 | [GENERAL]
16 | # This is the file format version number. Do not change the next line.
17 | fileFormatVersion = 3
18 |
19 | # The next section contains the information for performing a schema
20 | # upgrade on Oracle Metadata Services, as described in the Upgrade
21 | # Descriptor file located at
22 | # /u01/app/oracle/product/fmw/oracle_common/upgrade/components/mds.xml
23 | # Do not change the next line.
24 | [MDS.MDS1]
25 | # The following number uniquely identifies this instance of an
26 | # upgrade plugin. Do not change it.
27 | pluginInstance = 6
28 |
29 | # The next few lines describe a database connection.
30 | # "Specify the database containing the MDS schema."
31 | # Specifies the type of database. Supported types for this product are
32 | # Oracle Database, Oracle Database enabled for edition-based redefinition, Microsoft SQL Server, IBM DB2, MySQL
33 | MDS.databaseType = Oracle Database
34 | # Specifies the database connection string for the DBA user.
35 | # The format depends upon the database type.
36 | MDS.databaseConnectionString = localhost:1521/orcl
37 | # Specifies the database connection string for the user schema.
38 | # The format depends upon the database type.
39 | MDS.schemaConnectionString = localhost:1521/orcl
40 | # Specifies the name of the schema or database user
41 | MDS.schemaUserName = DEV_MDS
42 | # Specifies the password for the schema, in encrypted form. To specify a
43 | # different password in cleartext, use the "cleartextSchemaPassword" keyword instead:
44 | # MDS.cleartextSchemaPassword = yourpassword
45 | MDS.encryptedSchemaPassword = 057D81CB41AC1EAED7B4344F2E2C4463CB8742A32CDA8D1DDB
46 | # Specifies the name of the database administrator account.
47 | MDS.dbaUserName = sys as sysdba
48 | # Specifies the password for the database administrator account, in encrypted form.
49 | # To specify a different password in cleartext, use the "cleartextDbaPassword" keyword
50 | # instead:
51 | # MDS.cleartextDbaPassword = yourpassword
52 | MDS.encryptedDbaPassword = 05CC852DB8A7D7BDEC116BA183E587F8F33F5E3136213A3C87
53 |
54 | # The next section contains the information for performing a schema
55 | # upgrade on Oracle Business Intelligence, as described in the Upgrade
56 | # Descriptor file located at
57 | # /u01/app/oracle/product/fmw/Oracle_BI1/upgrade/components/biplatform.xml
58 | # Do not change the next line.
59 | [BI.BI1]
60 | # The following number uniquely identifies this instance of an
61 | # upgrade plugin. Do not change it.
62 | pluginInstance = 5
63 | # This plugin can only execute if certain preceding plugin(s)
64 | # were successful. The number(s) on the next line must match numbers on other
65 | # pluginInstance declarations. Do not change them.
66 | dependsOnPluginInstance = 6
67 |
68 | # The next few lines describe a database connection.
69 | # "Specify the database containing the BIPLATFORM schema."
70 | # Specifies the type of database. Supported types for this product are
71 | # Oracle Database, Microsoft SQL Server, IBM DB2
72 | BIPLATFORM.databaseType = Oracle Database
73 | # Specifies the database connection string for the DBA user.
74 | # The format depends upon the database type.
75 | BIPLATFORM.databaseConnectionString = localhost:1521/orcl
76 | # Specifies the database connection string for the user schema.
77 | # The format depends upon the database type.
78 | BIPLATFORM.schemaConnectionString = localhost:1521/orcl
79 | # Specifies the name of the schema or database user
80 | BIPLATFORM.schemaUserName = DEV_BIPLATFORM
81 | # Specifies the password for the schema, in encrypted form. To specify a
82 | # different password in cleartext, use the "cleartextSchemaPassword" keyword instead:
83 | # BIPLATFORM.cleartextSchemaPassword = yourpassword
84 | BIPLATFORM.encryptedSchemaPassword = 05343BD04E948C57AC2F0458CDDDD6DAB5E458E6B3D39EF2BB
85 | # Specifies the name of the database administrator account.
86 | BIPLATFORM.dbaUserName = sys as sysdba
87 | # Specifies the password for the database administrator account, in encrypted form.
88 | # To specify a different password in cleartext, use the "cleartextDbaPassword" keyword
89 | # instead:
90 | # BIPLATFORM.cleartextDbaPassword = yourpassword
91 | BIPLATFORM.encryptedDbaPassword = 05329704C8CD9704DF50E6F08D70021A1158424E6764F4B72E
92 |
--------------------------------------------------------------------------------
/obi/service/README.md:
--------------------------------------------------------------------------------
1 | # init.d script for OBIEE
2 |
3 | Use this script to install OBIEE as a 'service' on Linux, enabling it to be brought up automagically on bootup, and shutdown when the machine shuts down.
4 |
5 | ## Installation
6 |
7 | The installation will need to be as **root** user, or using `sudo`.
8 |
9 | 1. Install the init.d script
10 |
11 | sudo cp init.d/obiee /etc/init.d/obiee
12 |
13 | 2. Make it executable
14 |
15 | sudo chmod 750 /etc/init.d/obiee
16 |
17 | 3. Install it as a service
18 |
19 | sudo chkconfig --add obiee
20 |
21 | 4. Copy the default configuration file
22 |
23 | sudo cp sysconfig/obiee /etc/sysconfig/
24 |
25 | 5. Update the configuration file for your environment:
26 |
27 | * `FMW_HOME` - *The FMW Home folder, eg `/u01/app/oracle/product/fmw`*
28 | * `ORACLE_OWNR` - *The OS owner under which OBIEE should be managed*
29 | * `LOGPATH` - *Folder in which to store log files - change if you don't want them in `/var/log`*
30 | * You _may_ need to change `LSOF_PATH` in `/etc/init.d/obiee` if the binary is not at `/usr/sbin/lsof` - check using `whereis lsof`
31 |
32 | If you have multiple OBIEE environments on the same server you can call the script a different name, eg `/etc/init.d/obiee-dev`, `/etc/init.d/obiee-test`, etc, and point each one to a different `/etc/sysconfig/obiee` file.
33 |
34 | ## Syntax
35 |
36 | service obiee
37 |
38 | ### OBI Status
39 |
40 | $ service obiee status
41 |
42 | Checking WLS Admin Server: listening on port 7001 [ OK ]
43 | Checking WLS Node Manager: listening on port 9556 [ OK ]
44 | Checking WLS Managed Server: listening on port 8205 9704 [ OK ]
45 | Checking OPMN: listening on port 9500 9501 [ OK ]
46 | All OPMN-managed BI Components are running [ OK ]
47 |
48 | 
49 | 
50 |
51 | ### Start
52 |
53 | $ service obiee start
54 |
55 | Starting OBI Admin Server ....... [ OK ]
56 | Starting OBI Node Manager . [ OK ]
57 | Starting OBI Managed Server......... [ OK ]
58 | Initiating OBI OPMN startup . [ OK ]
59 |
60 | 
61 |
62 | Each component has a timeout associated with it, after which the start process will fail. Change the appropriate `_START_TIMEOUT` values in the script if you want it to wait longer.
63 |
64 | ### Stop
65 |
66 | $ service obiee stop
67 |
68 | Shutting down OPMN and BI Components. [ OK ]
69 | Shutting down OBI Managed Server. [ OK ]
70 | Shutting down OBI Node Manager.. [ OK ]
71 | Shutting down OBI Admin Server. [ OK ]
72 |
73 | Each component has a timeout associated with it, after which the process will be forceably killed. Change the appropriate `_STOP_TIMEOUT` values in the script if you want it to wait longer.
74 |
75 | 
76 |
77 | ### Restart
78 |
79 | $ service obiee restart
80 |
81 | Shutting down OPMN and BI Components. [ OK ]
82 | Shutting down OBI Managed Server. [ OK ]
83 | Shutting down OBI Node Manager.. [ OK ]
84 | Shutting down OBI Admin Server. [ OK ]
85 |
86 | Starting OBI Admin Server ....... [ OK ]
87 | Starting OBI Node Manager . [ OK ]
88 | Starting OBI Managed Server......... [ OK ]
89 | Initiating OBI OPMN startup . [ OK ]
90 |
91 | ## boot.properties
92 |
93 | So that you are not prompted each time for credentials when starting/stopping the Admin and Managed servers, set up the boot.properties file as detailed here : http://docs.oracle.com/cd/E28280_01/web.1111/e13708/overview.htm#i1068920
94 |
95 | ## Enabling OBIEE OS user to run start/stop
96 |
97 | Because this script, by necessity, writes a lock file to a restricted area of the system, it should always be invoked as root when starting or stopping OBIEE. To enable this, `sudo` access can be selectively granted to the OS user under which OBIEE run. Add the following to `/etc/sudoers`, assuming you want the user `oracle` to be granted the access:
98 |
99 | Cmnd_Alias STOP_OBI_SERVICE = /sbin/service obiee stop
100 | Cmnd_Alias START_OBI_SERVICE = /sbin/service obiee start
101 | Cmnd_Alias RESTART_OBI_SERVICE = /sbin/service obiee restart
102 | oracle ALL=NOPASSWD: STOP_OBI_SERVICE,START_OBI_SERVICE,RESTART_OBI_SERVICE
103 |
104 | Once this is done, you can use the following:
105 |
106 | sudo service obiee stop
107 | sudo service obiee start
108 | sudo service obiee restart
109 |
110 | The `status` command doesn't need root privilege to run, so can be run as root, or the OBIEE OS user
111 |
112 | service obiee status
113 |
114 |
115 | ## Bonus
116 |
117 | Use the `watch` command to keep an eye on the status of the service, perhaps whilst it's starting up to see when it's ready:
118 |
119 | watch service obiee status
120 |
121 | 
122 |
123 | ## TODO / Known Issues
124 |
125 | See https://github.com/RittmanMead/scripts/issues
126 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/install-and-configure/linux_11.1.1.7.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Set this to true if you wish to specify a directory where latest updates are downloaded. This option would use the software updates from the specified directory
9 | SPECIFY_DOWNLOAD_LOCATION=false
10 |
11 | #Set this to true to skip the Software updates
12 | SKIP_SOFTWARE_UPDATES=true
13 |
14 | #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
15 | SOFTWARE_UPDATES_DOWNLOAD_LOCATION=
16 |
17 | #Install Software and Configure Components for Express Install. Installs and Configures components with default settings. Installs the light-weight WebLogic Server and creates a new domain.
18 | INSTALL_FOR_DEVELOPMENT_TYPE=false
19 |
20 | #Install and Configure Software Components and Applications. Installs binaries in an ORACLE_HOME and configures working instances in an INSTANCE_HOME.
21 | INSTALL_AND_CONFIGURE_TYPE=true
22 |
23 | #Install Software Components and Applications. Installs binaries in an ORACLE_HOME, but do not configure working instances of installed components.
24 | INSTALL_AND_CONFIGURE_LATER_TYPE=false
25 |
26 | #Set this to true if you want to create a new BI System, all other required variables need to be provided. If this is set to true then variables "SCALEOUT_BISYSTEM" and "EXTEND_BISYSTEM" must be set to false, since the variables are mutually exclusive.
27 | CREATE_BISYSTEM=true
28 |
29 | #Set this to true if you want to scale out an existing BI System, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive. In order to scale out an existing BI system, the domain in the system must be running
30 | SCALEOUT_BISYSTEM=false
31 |
32 | #Set this to true if you want to configure BI System in an existing exmpty domain in the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","SCALEOUT_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive.
33 | EXTEND_BISYSTEM=false
34 |
35 | #Set this to true if you want to update an existing BI System running on the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "SCALEOUT_BISYSTEM" must be set to false, since the variables are mutually exclusive.
36 | UPDATE_BIDOMAIN=false
37 |
38 | #Write the name of the domain you want to create. Domain name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
39 | DOMAIN_NAME=bifoundation_domain
40 |
41 | #Write the name of the cell you want to create. Cell name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
42 | CELL_NAME=unknown
43 |
44 | #Write the name of the host to which you want to connect. It should have an already existing domain configured.
45 | DOMAIN_HOSTNAME=rnm-oel6-5
46 |
47 | #Give the port number at which the host should be connected.
48 | DOMAIN_PORT=
49 |
50 | #Give an administrator user name for the domain if you are creating a new one otherwise give the administrator user name for the domain configured at the host.
51 | ADMIN_USER_NAME=weblogic
52 |
53 | #Give an administrator password for the domain if you are creating a new one otherwise give the administrator password for the domain configured at the host.
54 | ADMIN_PASSWORD=Password01
55 |
56 | #Write the administrator password again to confirm.
57 | ADMIN_CONFIRM_PASSWORD=Password01
58 |
59 | #Is Single Server Install.
60 | WLS_SINGLE_SERVER_INSTALL=false
61 |
62 | #Write the complete path to a valid Middleware Home.
63 | MW_HOME=/u01/app/oracle/product/fmw
64 |
65 | #Give the complete path to a valid WebLogic Server Home.
66 | WEBLOGIC_HOME=/u01/app/oracle/product/fmw/wlserver_10.3
67 |
68 | #Give the name of the Oracle Home directory. The Oracle Home directory name may only contain alphanumeric , hyphen (-) , dot (.) and underscore (_) characters, and it must begin with an alphanumeric character.
69 | ORACLE_HOME=/u01/app/oracle/product/fmw/Oracle_BI1
70 |
71 | #Give the complete path for an Oracle Instance directory to be created. This is the location where the software configuration files and runtime processes will reside.
72 | INSTANCE_HOME=/u01/app/oracle/product/fmw/instances/instance1
73 |
74 | #Give a name for Oracle Instance corresponding to the Instance Home. The Oracle Instance name may only contain alphanumeric and underscore (_) characters, it must begin with an alphabetic (a-z or A-Z) character, and must be from 4 to 30 characters in length.
75 | INSTANCE_NAME=instance1
76 |
77 | #Give the complete path for a domain home to be created.
78 | DOMAIN_HOME_PATH=/u01/app/oracle/product/fmw/user_projects/domains/bifoundation_domain
79 |
80 | #Format: hostname:port:servicename. For Application Cluster Database: host1:port1^host2:port2@servicename
81 | DATABASE_CONNECTION_STRING_BI=localhost:1521:orcl
82 |
83 | #Enter the BIPLATFORM schema username.
84 | DATABASE_SCHEMA_USER_NAME_BI=DEV_BIPLATFORM
85 |
86 | #Enter the BIPLATFORM schema password.
87 | DATABASE_SCHEMA_PASSWORD_BI=Password01
88 |
89 | #Select the database type in which the BIPLATFORM schema exists. Supported database types are Oracle Database, Microsoft SQL Server, IBM DB2.
90 | DATABASE_TYPE_BI=Oracle Database
91 |
92 | #Format: hostname:port:servicename. For Application Cluster Database: host1:port1^host2:port2@servicename
93 | DATABASE_CONNECTION_STRING_MDS=localhost:1521:orcl
94 |
95 | #Enter the MDS schema username.
96 | DATABASE_SCHEMA_USER_NAME_MDS=DEV_MDS
97 |
98 | #Enter the MDS schema password.
99 | DATABASE_SCHEMA_PASSWORD_MDS=Password01
100 |
101 | #Select the database type in which the MDS schema exists. Supported database types are Oracle Database, Microsoft SQL Server, IBM DB2.
102 | DATABASE_TYPE_MDS=Oracle Database
103 |
104 | #
105 | AUTOMATIC_PORT_DETECT=true
106 |
107 | #
108 | STATICPORT INI FILE LOCATION=
109 |
110 | #Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
111 | MYORACLESUPPORT_USERNAME=
112 |
113 | #Provide the My Oracle Support Password
114 | MYORACLESUPPORT_PASSWORD=Password01
115 |
116 | #Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
117 | DECLINE_SECURITY_UPDATES=true
118 |
119 | #Set this to true if My Oracle Support Password is specified
120 | SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
121 |
122 | #Provide the Proxy Host
123 | PROXY_HOST=
124 |
125 | #Provide the Proxy Port
126 | PROXY_PORT=
127 |
128 | #Provide the Proxy Username
129 | PROXY_USER=
130 |
131 | #Provide the Proxy Password
132 | PROXY_PWD=Password01
133 |
134 | #Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
135 | COLLECTOR_SUPPORTHUB_URL=
136 |
137 |
138 | [SYSTEM]
139 |
140 |
141 | [APPLICATIONS]
142 |
143 | #Set to true to configure Oracle Business Intelligence Enterprise Edition. Otherwise set to false.
144 | CONFIGURE_BI=true
145 |
146 | #Set to true to configure Oracle Business Intelligence Publishing and Reporting. Otherwise set to false.
147 | CONFIGURE_BIP=true
148 |
149 | #Set to true to configure Oracle Real-Time Decisions. Otherwise set to false.
150 | CONFIGURE_RTD=false
151 |
152 | #Set to true to select all Oracle Essbase Components. Otherwise set to false.
153 | CONFIGURE_ESSBASE_SUITE=true
154 |
155 |
156 | [RELATIONSHIPS]
157 |
158 |
159 |
--------------------------------------------------------------------------------
/obi/installs/response_files/11.1.1.7/install-and-configure/win_11.1.1.7.rsp:
--------------------------------------------------------------------------------
1 | [ENGINE]
2 |
3 | #DO NOT CHANGE THIS.
4 | Response File Version=1.0.0.0.0
5 |
6 | [GENERIC]
7 |
8 | #Set this to true if you wish to specify a directory where latest updates are downloaded. This option would use the software updates from the specified directory
9 | SPECIFY_DOWNLOAD_LOCATION=false
10 |
11 | #Set this to true to skip the Software updates
12 | SKIP_SOFTWARE_UPDATES=true
13 |
14 | #If the Software updates are already downloaded and available on your local system, then specify the path to the directory where these patches are available and set SPECIFY_DOWNLOAD_LOCATION to true
15 | SOFTWARE_UPDATES_DOWNLOAD_LOCATION=
16 |
17 | #Install Software and Configure Components for Express Install. Installs and Configures components with default settings. Installs the light-weight WebLogic Server and creates a new domain.
18 | INSTALL_FOR_DEVELOPMENT_TYPE=false
19 |
20 | #Install and Configure Software Components and Applications. Installs binaries in an ORACLE_HOME and configures working instances in an INSTANCE_HOME.
21 | INSTALL_AND_CONFIGURE_TYPE=true
22 |
23 | #Install Software Components and Applications. Installs binaries in an ORACLE_HOME, but do not configure working instances of installed components.
24 | INSTALL_AND_CONFIGURE_LATER_TYPE=false
25 |
26 | #Set this to true if you want to create a new BI System, all other required variables need to be provided. If this is set to true then variables "SCALEOUT_BISYSTEM" and "EXTEND_BISYSTEM" must be set to false, since the variables are mutually exclusive.
27 | CREATE_BISYSTEM=true
28 |
29 | #Set this to true if you want to scale out an existing BI System, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive. In order to scale out an existing BI system, the domain in the system must be running
30 | SCALEOUT_BISYSTEM=false
31 |
32 | #Set this to true if you want to configure BI System in an existing exmpty domain in the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","SCALEOUT_BISYSTEM" and "UPDATE_BIDOMAIN" must be set to false, since the variables are mutually exclusive.
33 | EXTEND_BISYSTEM=false
34 |
35 | #Set this to true if you want to update an existing BI System running on the localhost, all other required variables need to be provided. If this is set to true then variables "CREATE_BISYSTEM","EXTEND_BISYSTEM" and "SCALEOUT_BISYSTEM" must be set to false, since the variables are mutually exclusive.
36 | UPDATE_BIDOMAIN=false
37 |
38 | #Write the name of the domain you want to create. Domain name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
39 | DOMAIN_NAME=bifoundation_domain
40 |
41 | #Write the name of the cell you want to create. Cell name may only contain alphanumeric characters, or the underscore (_) or hyphen (-) characters.
42 | CELL_NAME=unknown
43 |
44 | #Write the name of the host to which you want to connect. It should have an already existing domain configured.
45 | DOMAIN_HOSTNAME=training
46 |
47 | #Give the port number at which the host should be connected.
48 | DOMAIN_PORT=
49 |
50 | #Give an administrator user name for the domain if you are creating a new one otherwise give the administrator user name for the domain configured at the host.
51 | ADMIN_USER_NAME=weblogic
52 |
53 | #Give an administrator password for the domain if you are creating a new one otherwise give the administrator password for the domain configured at the host.
54 | ADMIN_PASSWORD=Password01
55 |
56 | #Write the administrator password again to confirm.
57 | ADMIN_CONFIRM_PASSWORD=Password01
58 |
59 | #Is Single Server Install.
60 | WLS_SINGLE_SERVER_INSTALL=false
61 |
62 | #Write the complete path to a valid Middleware Home.
63 | MW_HOME=c:\oracle\middleware
64 |
65 | #Give the complete path to a valid WebLogic Server Home.
66 | WEBLOGIC_HOME=c:\oracle\middleware\wlserver_10.3
67 |
68 | #Give the name of the Oracle Home directory. The Oracle Home directory name may only contain alphanumeric , hyphen (-) , dot (.) and underscore (_) characters, and it must begin with an alphanumeric character.
69 | ORACLE_HOME=c:\oracle\middleware\Oracle_BI1
70 |
71 | #Give the complete path for an Oracle Instance directory to be created. This is the location where the software configuration files and runtime processes will reside.
72 | INSTANCE_HOME=c:\oracle\middleware\instances\instance1
73 |
74 | #Give a name for Oracle Instance corresponding to the Instance Home. The Oracle Instance name may only contain alphanumeric and underscore (_) characters, it must begin with an alphabetic (a-z or A-Z) character, and must be from 4 to 30 characters in length.
75 | INSTANCE_NAME=instance1
76 |
77 | #Give the complete path for a domain home to be created.
78 | DOMAIN_HOME_PATH=c:\oracle\middleware\user_projects\domains\bifoundation_domain
79 |
80 | #Format: hostname:port:servicename. For Application Cluster Database: host1:port1^host2:port2@servicename
81 | DATABASE_CONNECTION_STRING_BI=localhost:1521:orcl
82 |
83 | #Enter the BIPLATFORM schema username.
84 | DATABASE_SCHEMA_USER_NAME_BI=DEV_BIPLATFORM
85 |
86 | #Enter the BIPLATFORM schema password.
87 | DATABASE_SCHEMA_PASSWORD_BI=Password01
88 |
89 | #Select the database type in which the BIPLATFORM schema exists. Supported database types are Oracle Database, Microsoft SQL Server, IBM DB2.
90 | DATABASE_TYPE_BI=Oracle Database
91 |
92 | #Format: hostname:port:servicename. For Application Cluster Database: host1:port1^host2:port2@servicename
93 | DATABASE_CONNECTION_STRING_MDS=localhost:1521:orcl
94 |
95 | #Enter the MDS schema username.
96 | DATABASE_SCHEMA_USER_NAME_MDS=DEV_MDS
97 |
98 | #Enter the MDS schema password.
99 | DATABASE_SCHEMA_PASSWORD_MDS=Password01
100 |
101 | #Select the database type in which the MDS schema exists. Supported database types are Oracle Database, Microsoft SQL Server, IBM DB2.
102 | DATABASE_TYPE_MDS=Oracle Database
103 |
104 | #
105 | AUTOMATIC_PORT_DETECT=true
106 |
107 | #
108 | STATICPORT INI FILE LOCATION=
109 |
110 | #Provide the My Oracle Support Username. If you wish to ignore Oracle Configuration Manager configuration provide empty string for user name.
111 | MYORACLESUPPORT_USERNAME=
112 |
113 | #Provide the My Oracle Support Password
114 | MYORACLESUPPORT_PASSWORD=Password01
115 |
116 | #Set this to true if you wish to decline the security updates. Setting this to true and providing empty string for My Oracle Support username will ignore the Oracle Configuration Manager configuration
117 | DECLINE_SECURITY_UPDATES=true
118 |
119 | #Set this to true if My Oracle Support Password is specified
120 | SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
121 |
122 | #Provide the Proxy Host
123 | PROXY_HOST=
124 |
125 | #Provide the Proxy Port
126 | PROXY_PORT=
127 |
128 | #Provide the Proxy Username
129 | PROXY_USER=
130 |
131 | #Provide the Proxy Password
132 | PROXY_PWD=Password01
133 |
134 | #Type String (URL format) Indicates the OCM Repeater URL which should be of the format [scheme[Http/Https]]://[repeater host]:[repeater port]
135 | COLLECTOR_SUPPORTHUB_URL=
136 |
137 |
138 | [SYSTEM]
139 |
140 |
141 | [APPLICATIONS]
142 |
143 | #Set to true to configure Oracle Business Intelligence Enterprise Edition. Otherwise set to false.
144 | CONFIGURE_BI=true
145 |
146 | #Set to true to configure Oracle Business Intelligence Publishing and Reporting. Otherwise set to false.
147 | CONFIGURE_BIP=true
148 |
149 | #Set to true to configure Oracle Real-Time Decisions. Otherwise set to false.
150 | CONFIGURE_RTD=true
151 |
152 | #Set to true to select all Oracle Essbase Components. Otherwise set to false.
153 | CONFIGURE_ESSBASE_SUITE=true
154 |
155 |
156 | [RELATIONSHIPS]
157 |
158 |
159 |
--------------------------------------------------------------------------------
/obi/perl/manage_rpd.pl:
--------------------------------------------------------------------------------
1 | #!/usr/bin/perl
2 |
3 | #---- Header -----------------------------------------------------------------------------------------
4 |
5 | # =======================================================================
6 | # Developed by Stewart Bryson @ Rittman Mead
7 | # Absolutely no warranty, use at your own risk
8 | # Please include this header in any copy or reuse of the script you make
9 | # =======================================================================
10 |
11 | #---- Configurations ---------------------------------------------------------------------------------
12 |
13 | # default RPD password
14 | my $def_rpd_pw = 'Admin123';
15 |
16 | # default Admin Server url
17 | my $def_wls_url = 't3://localhost:7001';
18 |
19 | # default Admin Server username
20 | my $def_wls_user = 'weblogic';
21 |
22 | # default Admin Server password
23 | my $def_wls_pw = 'welcome1';
24 |
25 | # absolute path to the WLST script for deploying an RPD
26 | # if the value is left as undefined, then the default location is the wlst directory
27 | my $def_wslt_script;
28 |
29 |
30 | #---- References -------------------------------------------------------------------------------------
31 |
32 | use Getopt::Long;
33 | use File::Basename;
34 | use Pod::Usage;
35 | use File::stat;
36 | use Cwd;
37 | use File::Spec;
38 | use Path::Class;
39 |
40 | # configurations
41 | Getopt::Long::Configure ("bundling");
42 |
43 | # pragmas
44 | use strict;
45 | use warnings;
46 |
47 | #---- Body -------------------------------------------------------------------------------------------
48 |
49 |
50 | # get program name
51 | my $basename = basename($0);
52 |
53 | # set the usage in a variable
54 | my $usage = qq{
55 | Usage: $basename [OPTIONS]
56 |
57 | OPTIONS:
58 |
59 | -i PARAMETER: The input RPD repository. This can be a binary RPD repostory file, or an MDS XML repository directory.
60 | NOTE: if -i is binary repository file instead of an MDS XML repository directory, then -o is ignored.
61 |
62 | -p PARAMETER: The password for the MDS XML repository
63 |
64 | -o PARAMETER: The binary RPD repository file to generate.
65 | DEFAULT: a filename matching the directory name specified in -i with a .rpd extension appended to it
66 |
67 | -d OPTION: Deploy the binary RPD repository file to the BI Server
68 |
69 | -b OPTION: Restart the BI Server
70 |
71 | -a OPTION: Restart Presentation Services
72 |
73 | -r OPTION: Remove the binary RPD file after deployment
74 |
75 | -u PARAMETER: The Weblogic administrative user
76 |
77 | -w PARAMETER: The password for the user specified in -u
78 |
79 | -l PARAMTER: Weblogic Admin Server URL
80 |
81 | -v OPTION: Provide verbose output
82 |
83 | -e OPTION: Debug mode
84 |
85 | };
86 |
87 |
88 | # create a hash to store options from the command-line
89 | my $options = {};
90 |
91 | # collect options from the command-line
92 | # handle the usage as well
93 | unless (
94 | GetOptions(
95 | $options,
96 | "i:s",
97 | "p:s",
98 | "o:s",
99 | "d!",
100 | "b!",
101 | "a!",
102 | "u:s",
103 | "w:s",
104 | "l:s",
105 | "r!",
106 | "v!",
107 | "e!",
108 | "help|?!"
109 | )
110 | ) {
111 | pod2usage($usage);
112 | }
113 |
114 | pod2usage($usage) if defined($options->{help});
115 |
116 | #---- Build variables -------------------------------------------------------------------------------------
117 | # get environment out of the way
118 | my $sfile = file( File::Spec->rel2abs(__FILE__) );
119 | my $dirname = $sfile->parent;
120 | my $updir = $dirname->parent;
121 |
122 | # capture the input
123 | my $input;
124 | my $itype;
125 | if ($options->{i}) {
126 |
127 | # get the absolute path of the $input
128 | $input = File::Spec->rel2abs($options->{i});
129 | print ("input file: $input\n") if $options->{e};
130 |
131 | # check to see if the -i option points to a directory or a file
132 | if (-d $input) {
133 | $itype = 'd';
134 | } elsif (-e $input) {
135 | $itype = 'f';
136 | } else {
137 | die "The -i option does not point to a valid file or directory\n";
138 | }
139 |
140 | print "itype: $itype\n" if $options->{e};
141 |
142 | }
143 |
144 | # Capture The oupput
145 | my $output = $options->{o};
146 |
147 | my $wlstbin = q{wlst.cmd};
148 |
149 | my $opmnctl = q{opmnctl};
150 |
151 | my $wlspass = $options->{w}?$options->{w}:$def_wls_pw;
152 |
153 | my $wlsuser = $options->{u}?$options->{u}:$def_wls_user;
154 |
155 | my $wlsurl = $options->{l}?$options->{l}:$def_wls_url;
156 |
157 | my $pass = $options->{p}?$options->{p}:$def_rpd_pw;
158 |
159 | if ($options->{e} and $options->{o}) {
160 | print ("output: $output\n");
161 | }
162 |
163 | if ($options->{e}) {
164 | print ("wlstbin: $wlstbin\nopmnctl: $opmnctl\nbasename: $basename\ndirectory: $dirname\nparent directory: $updir\nWLS url: $wlsurl\n");
165 | }
166 |
167 | #---- Main Body -------------------------------------------------------------------------------------
168 |
169 | # generate the RPD
170 | # only do this if INPUT points to a directory
171 | # otherwise, we have a binary RPD file already
172 | if ($input && $itype eq "d") {
173 | $output = GenerateRpd( $input, $output );
174 | }
175 |
176 | # deploy the RPD
177 | # only deploy the rpd if -d is supplied
178 | if ($options->{d} && $input) {
179 | DeployRpd( $output?$output:$input );
180 | }
181 |
182 | # Restart the BI Server
183 | # only restart if -b is specified
184 | if ($options->{b}) {
185 | RestartBI( ) unless $options->{e};
186 | }
187 |
188 | # Restart Presentation Services
189 | # only restart if -b is specified
190 | if ($options->{a}) {
191 | RestartPS( ) unless $options->{e};
192 | }
193 |
194 | if ($options->{r} && $options->{d}) {
195 |
196 | unlink $output if $output;
197 |
198 | }
199 |
200 | #---- Subroutines -------------------------------------------------------------------------------------
201 |
202 | sub GenerateRpd {
203 |
204 | #print "GenerateRpd entered...\n";
205 |
206 | my ($input, $output) = @_;
207 |
208 | die "-d option does not point to a directory" unless $itype eq 'd';
209 |
210 | $output = $output?$output:$input . '.rpd';
211 |
212 | # the name of the results file to use
213 | my $results = $input . '.txt';
214 |
215 | # now use validaterpd to push this to a valid RPD file
216 | # I use validaterpd instead of biserverxmlexec because biserverxmlexec doesn't work correctly
217 | # My testing generated a bug with Oracle Support for this
218 | my $stmt = qq[validaterpd -P $pass -D "$input" -O "$results" -F "$output"];
219 | print "Executing: $stmt\n" if $options->{v};
220 |
221 | # get the absolute path
222 | $output = File::Spec->rel2abs($output);
223 |
224 | if ($options->{e}) {
225 | print ("output file: $output\n");
226 | }
227 | else {
228 | my $stdout = qx[$stmt];
229 | print "$stdout\n" if $options->{v};
230 | }
231 |
232 | return $output;
233 |
234 | }
235 |
236 | sub DeployRpd {
237 |
238 | #print "DeployRpd entered...\n";
239 |
240 | my ( $rpdfile ) = @_;
241 | #print "$rpdfile\n";
242 |
243 | my $deploy_py = $def_wslt_script?$def_wslt_script:File::Spec->catfile( $updir, 'wlst', 'deploy_rpd.py' );
244 |
245 | $rpdfile = File::Spec->rel2abs($rpdfile);
246 |
247 | my $stmt = qq{$wlstbin "$deploy_py" $wlsuser $wlspass $wlsurl "$rpdfile" $pass 'False' };
248 | print "Executing: $stmt\n" if $options->{v};
249 |
250 | if ($options->{e}) {
251 | print ("wlst script: $deploy_py\n");
252 | }
253 | else {
254 | my $stdout = qx[$stmt];
255 | print "$stdout\n" if $options->{v};
256 | }
257 |
258 | }
259 |
260 | sub RestartBI {
261 |
262 | #print "RestartBI...\n";
263 |
264 | my $stmt = qq{$opmnctl restartproc process-type=OracleBIServerComponent};
265 | print "Executing: $stmt\n" if $options->{v};
266 |
267 | my $stdout = qx[$stmt];
268 | print "$stdout\n" if $options->{v};
269 |
270 | }
271 |
272 | sub RestartPS {
273 |
274 | #print "RestartPS...\n";
275 |
276 | my $stmt = qq{$opmnctl restartproc process-type=OracleBIPresentationServicesComponent};
277 | print "Executing: $stmt\n" if $options->{v};
278 |
279 | my $stdout = qx[$stmt];
280 | print "$stdout\n" if $options->{v};
281 |
282 | }
283 |
--------------------------------------------------------------------------------
/obi/alerts/email_component_status.py:
--------------------------------------------------------------------------------
1 | '''
2 |
3 | The MIT License (MIT)
4 | Copyright (c) 2016 Rittman Mead America Inc.
5 |
6 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
7 |
8 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
9 |
10 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
11 |
12 | '''
13 |
14 | import smtplib
15 | import re
16 | from subprocess import PIPE, Popen
17 | from email.mime.multipart import MIMEMultipart
18 | from email.mime.text import MIMEText
19 |
20 | sender= "username"
21 | recipient = "recipient"
22 | username="username"
23 | password="passsword"
24 | smtp_server = "smtp.gmail.com"
25 | smtp_port = 587
26 | status_command = "command"
27 | render_html=True
28 |
29 | def main():
30 | component_output = run_command(status_command)
31 | message = build_message(sender, recipient, component_output)
32 | send_email(sender, recipient, message, username, password)
33 | print("Done")
34 |
35 | def send_email(sender, recipient, message, username, password):
36 | try:
37 | smtp = smtplib.SMTP(smtp_server, smtp_port)
38 | smtp.starttls()
39 | smtp.login(username, password)
40 | smtp.sendmail(sender, recipient, message.as_string())
41 | smtp.quit()
42 | except Exception as e:
43 | print("Failed to send email. Cause:\n" + str(e))
44 | exit()
45 |
46 |
47 | def build_message(sender, recipient, body):
48 | message_from = "From: OBIEE Component Status <"+str(sender)+">\n"
49 | message_to = "To: <"+str(recipient)+">\n"
50 | message_subject = "Subject: OBIEE Component Status\n"
51 | message_blank = "\n"
52 | message_body = str(body)
53 |
54 | message_mime="MIME-Version: 1.0"
55 | message_content_type = "Content-type: text/html"
56 |
57 | msg = MIMEMultipart('alternative')
58 | msg["Subject"] = message_subject
59 | msg["From"] = message_from
60 | msg["To"] = message_to
61 | if render_html:
62 | part = MIMEText(message_body, "html")
63 | else:
64 | part = MIMEText(message_body+"\nProvided by Rittman Mead\nInterested in more services like this email? Sign up for Rittman Mead's Performance Analytics", "plain")
65 | msg.attach(part)
66 |
67 | return(msg)
68 |
69 |
70 | def run_command(command):
71 | try:
72 | output = Popen(command.split(" "), stdout=PIPE).communicate()[0]
73 | if render_html is True:
74 | output = organize_output(output)
75 | return(output)
76 |
77 | except Exception as e:
78 | print("Status command failed. Cause:\n" + str(e))
79 | exit()
80 |
81 |
82 | def organize_output(output):
83 | original_output = output
84 | try:
85 | new_output = output
86 | begin_index = output.find("\n\nStatus")+2
87 | if begin_index < 0:
88 | raise Exception("New lines not found")
89 |
90 | new_output = re.sub(' +', ' ',re.sub('\n+', '\n',new_output[begin_index:].strip("\t")))
91 | temp_output = new_output.split("\n")
92 | new_output=""
93 |
94 | #normal table rows
95 | header = False
96 | for row in reversed(temp_output):
97 | if "---" in row:
98 | header=True
99 | continue
100 | elements = row.rstrip().split(" ")
101 | if not header:
102 | #table rows
103 | row_html="
"
104 | for element in range(0, len(elements)):
105 | if len(elements[element]) < 1:
106 | continue
107 | if element == 0:
108 | row_html+="