Tuesday, 30 August 2016

ORA-00942: table or view does not exist in 12c


ORA-00942: table or view does not exist in 12c database (Doc ID 1948487.1)


APPLIES TO:

Oracle Database - Enterprise Edition - Version 12.1.0.1 to 12.1.0.2 [Release 12.1]

Information in this document applies to any platform.

SYMPTOMS

Creating the database manually as shown below:
CREATE DATABASE ORCL02
LOGFILE GROUP 1 ('/u022/oradata/ORCL02/ORCL02redo01a.log','/u023/oradata/ORCL02/ORCL02redo01b.log') SIZE 50M,
        GROUP 2 ('/u022/oradata/ORCL02/ORCL02redo02a.log','/u023/oradata/ORCL02/ORCL02redo02b.log') SIZE 50M
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16

....

ENABLE PLUGGABLE DATABASE
SEED
   FILE_NAME_CONVERT = ('/u011/oradata/ORCL02/CDB/','/u011/oradata/ORCL02/SEED/',
                        '/u005/oradata/ORCL02/CDB/','/u005/oradata/ORCL02/SEED/')
   USER_DATA TABLESPACE USERS DATAFILE '/u011/oradata/ORCL02/SEED/users01.dbf' size 1024m


the following errors are generated in both alert.log and trace files:

Errors in file /u021/app/oracle/admin/diag/rdbms/orcl02_rhd208/ORCL02/trace/ORCL02_cjq0_12527.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-12801: error signaled in parallel query server P001
ORA-00942: table or view does not exist

CAUSE

Multitenant created manually with these initialization parameters aq_tm_processes, job_queue_processes,events, parallel_... , etc


SOLUTION

  This has been discussed in unpublished Bug 20049142 ( closed in status 32- Not a bug)
where it mentioned that if the customer must create manually, please ensure as a minimum:
   - use a minimal init.ora without aq_tm_processes, job_queue_processes, events, parallel_... , etc
   - use a 8 bit character set as a minimum not US7ASCII
   - make sure the seed is created with "_oracle_script"=true
   - do not run cat scripts directly use the perl catcon system


 An alternative is to use DBCA to create the scripts and to run them manually.

Monday, 29 August 2016

VNC Server Configuringon Linux 7.1

Install & Configure VNC Server in RHEL 7

VNC (Virtual Network Computing) Server allows the remote Desktop sharing using remote VNC clients like VNC viewer.
In RHEL 7 package named “tigervnc-server” needs to be installed in order to setup the VNC server.

[root@sujeet /]# yum install tigervnc-server

Step:1 
Make Sure the Desktop Packages are installed

In order to setup VNC server first we make sure that Desktop is installed ,in My case i am using Gnome Desktop.
 If Gnome Desktop is not installed on your Linux machine then use the below command to install.

[root@sujeet /]# yum groupinstall GNOME Desktop


Step:2
Install Tigervnc and other dependency Package.

[root@sujeet /]# yum install tigervnc-server xorg-x11-fonts-Type1


Step:3
 Setup VNC Server Configuration File.

Copy the VNC config file “/lib/systemd/system/vncserver@.service” to the “/etc/systemd/system/vncserver@:<Port_Number>.service”.

While Copying the VNC config file we can mention the port number on which we want VNC service to be listen.
In my case i am using port 8 , it means VNC will listen on “5908”.

So while Connecting to the VNC server We can specify port number as <IP_Address_VNC_Server:8> or <IP_Address_VNC_Server:5908>


[root@sujeet /]# cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:8.service

Step:4 
Update the User’s Information in the Config File

[root@sujeet ~]# vi /etc/systemd/system/vncserver@:8.service

ExecStart=/usr/sbin/runuser -l oracle -c "/usr/bin/vncserver %i"
PIDFile=/home/oracle/.vnc/%H%i.pid

Replace the “oracle” user as per your requirement.
In my case oracle user will able to control and manage its desktop session using remote VNC clients.


Set the Firewall Rule if firewall is enabled on your linux box.

[root@sujeet~]# firewall-cmd --permanent --zone=public --add-port=5908/tcp
success
[root@sujeet ~]# firewall-cmd --reload
success

Step:5 
Set the VNC password for the User.
login with oracle User after that reset VNCSERVER password.

[oracle@sujeet ~]# vncpasswd
Password:******

Start and Enable the VNC Service at boot.

Execute below commands as root only.

[root@sujeet/]# systemctl daemon-reload
[root@sujeet /]# systemctl start vncserver@:8.service
[root@sujeet /]# systemctl enable vncserver@:8.service

[root@sujeet /]# ln -s '/etc/systemd/system/vncserver@:8.service' '/etc/systemd/system/multi-user.target.wants/vncserver@:8.service'
ln: failed to create symbolic link ‘/etc/systemd/system/multi-user.target.wants/vncserver@:3.service’: File exists

[root@sujeet/]# systemctl status vncserver@:8.service

Open VNC port using iptables:
[root@sujeet sysconfig]# iptables -I INPUT -p tcp --dport 5908 -j ACCEPT

[root@sujeet sysconfig]# firewall-cmd --add-rich-rule='rule family="ipv4" service name=vnc-server accept'

FirewallD is not running


Step:6
 Access Remote Desktop Session.


Now let's use netstat to check what ports VNC is listening on.

[root@sujeet ~]# netstat -tulp | grep vnc


Terminating a VNC Session

Similarly to enabling the vncserver service, you can disable the automatic start of the service at system start:
~]# systemctl disable vncserver@:8.service

Or, when your system is running, you can stop the service by issuing the following command as root:

~]# systemctl stop vncserver@:8.service


How to check whether particular port is open or closed on UNIX?
Login with root user.

[opc@b0f67e ~]$ lsof -i -P
and grep the output for the port you are looking for.

For example to check for port 80 do

[opc@b0f67e ~]$ lsof -i -P | grep :80

[opc@b0f67e ~]$ netstat -ano|grep 5908|grep LISTEN
[opc@b0f67e ~]$ lsof -i -P | grep :5908



Wednesday, 24 August 2016

FNDLOAD Download And Upload Commands

1. Lookups 
-- -------------
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct XX_CUSTOM_LKP.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="XXCUST" LOOKUP_TYPE="XX_LOOKUP_TYPE"


FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/aflvmlu.lct XX_CUSTOM_LKP.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE

 2. Concurrent Program 
-- -----------------------------
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_CP.ldt PROGRAM APPLICATION_SHORT_NAME="XXCUST" CONCURRENT_PROGRAM_NAME="XX_CONCURRENT_PROGRAM"



FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_CP.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


3. Profile 
-- ---------
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct XX_CUSTOM_PRF.ldt PROFILE PROFILE_NAME="XX_PROFILE_NAME" APPLICATION_SHORT_NAME="XXCUST"



$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct XX_CUSTOM_PRF.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE

 4. Request Set and Link 
-- ------------------------------
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XX_CUSTOM_RS.ldt REQ_SET REQUEST_SET_NAME='REQUEST_SET_NAME'



FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct  XX_CUSTOM_RS.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


5. FND Message 
-- ---------------------
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_CUSTOM_MESG.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME="XXCUST" MESSAGE_NAME="MESSAGE_NAME%"



FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_CUSTOM_MESG.ldt UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE



6. D2K FORMS 
-- ------------------
$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XX_CUSTOM_FRM.ldt FORM FORM_NAME="FORM_NAME"
     
$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct XX_CUSTOM_FRM.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE

 7. Form Function 
-- ---------------------
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XX_CUSTOM_FUNC.ldt FUNCTION FUNCTION_NAME="FORM_FUNCTION_NAME"



$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afsload.lct XX_CUSTOM_FUNC.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE

 8. Alerts 
-- --------- 
FNDLOAD apps/apps 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct XX_CUSTOM_ALR.ldt ALR_ALERTS APPLICATION_SHORT_NAME=XXCUST ALERT_NAME="XX - Alert Name"



FNDLOAD apps/apps 0 Y UPLOAD $ALR_TOP/patch/115/import/alr.lct XX_CUSTOM_ALR.ldt CUSTOM_MODE=FORCE

 9. Value Set 
-- --------------
$FND_TOP/bin/FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_CUSTOM_VS.ldt VALUE_SET FLEX_VALUE_SET_NAME="XX Value Set Name"



$FND_TOP/bin/FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct XX_CUSTOM_VS.ldt - WARNING=YES UPLOAD_MODE=REPLACE CUSTOM_MODE=FORCE


10. Data Definition and Associated Template 
--- ----------------------------------------------------------
FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD  $XDO_TOP/patch/115/import/xdotmpl.lct XX_CUSTOM_DD.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME='XXCUST' DATA_SOURCE_CODE='XX_SOURCE_CODE' TMPL_APP_SHORT_NAME='XXCUST' TEMPLATE_CODE='XX_SOURCE_CODE'



FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $XDO_TOP/patch/115/import/xdotmpl.lct XX_CUSTOM_DD.ldt


11. DATA_TEMPLATE (Data Source .xml file) 
--- ----------------------------------------------------------
java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=XX_SERVICE_NAME)))' -LOB_TYPE DATA_TEMPLATE -LOB_CODE XX_TEMPLATE -APPS_SHORT_NAME XXCUST -LANGUAGE en -lct_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE $LOG_FILE_NAME



java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=XX_SERVICE_NAME)))' -LOB_TYPE DATA_TEMPLATE -LOB_CODE XX_TEMPLATE -XDO_FILE_TYPE XML -FILE_NAME $DATA_FILE_PATH/$DATA_FILE_NAME.xml -APPS_SHORT_NAME XXCUST -NLS_LANG en -TERRITORY US -LOG_FILE $LOG_FILE_NAME

12. RTF TEMPLATE (Report Layout .rtf file) 
--- -------------------------------------------------------
java oracle.apps.xdo.oa.util.XDOLoader DOWNLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=XX_SERVICE_NAME)))' -LOB_TYPE TEMPLATE -LOB_CODE XX_TEMPLATE -APPS_SHORT_NAME XXCUST -LANGUAGE en -TERRITORY US -lct_FILE $XDO_TOP/patch/115/import/xdotmpl.lct -LOG_FILE $LOG_FILE_NAME



java oracle.apps.xdo.oa.util.XDOLoader UPLOAD -DB_USERNAME apps -DB_PASSWORD apps -JDBC_CONNECTION '(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=XX_HOST_NAME)(PORT=XX_PORT_NUMBER))(CONNECT_DATA=(SERVICE_NAME=SERVICE_NAME)))' -LOB_TYPE TEMPLATE -LOB_CODE XX_TEMPLATE -XDO_FILE_TYPE RTF -FILE_NAME $RTF_FILE_PATH/$RTF_FILE_NAME.rtf -APPS_SHORT_NAME XXCUST -NLS_LANG en -TERRITORY US -LOG_FILE $LOG_FILE_NAME

How to Use FNDLOAD?

Create same setup data on each instance separately. Hence to migrate setup data from one instance to other (Eg. From DEV to PROD), ldt & lct files are used.

LDT (Data Loader Files)- This files are Used to upload & download setup data on different instances.

LCT (Data Config Files)- This files are used to create LDT Files. There are difference lct files for different sets of data.

Eg: Request Set- afcpreqg.lct, Concurrent Program- afcpprog.lct, Value Set- afffload.lct..etc..

Now lets take a simple example where you want to migrate 1 concurrent program from Development (DEV) instance to Production (PROD).

Step 1:
Login to Unix Development server and change the directory using following Command where you can store your LDT files:
cd $CUST_TOP/ patch/115/import/US/ (where CUST_TOP is your custom top on server)

Step 2:
Run the following command by supplying the parameters given in {} as per your need
FNDLOAD {userid/password@connect_string} O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct {file_name.ldt} PROGRAM APPLICATION_SHORT_NAME="{your_application_short_name}" CONCURRENT_PROGRAM_NAME="{your_concurrent_name}"
The above command will generate ldt file in your custom top directory ($CUST_TOP/ patch/115/import/US/ )

Step 3:
Copy the LDT file from Development Server to your local desktop

Step 4:
Login to Unix Production Server and copy the LDT files from local desktop to Production Server on following path:
$CUST_TOP/ patch/115/import/US/ {file_name.ldt}

Step 5:
Finally Run the following command by supplying all parameters in {} to upload concurrent program definition on production application server.
$ FNDLOAD {userid/password@connect_string} 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct $CUST_TOP/patch/115/import/US/{file_name}.ldt

Note: 
1) All above FNDLOAD commands are single line commands.
2) All above steps will remain exactly same for all kind of setup data (Eg: Value Set, CP, Req.group, DFF…etc) except the name of LCT file (.lct). LCT file will be different for every different component because the setup data is different.


AOL Commands

Commands to download LDT files.

1. To download Ldt file for a Concurent Program
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct file_name.ldt PROGRAM APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' CONCURRENT_PROGRAM_NAME='[Concurrent program Short Name]'

Above command downloads the executable information and Value Sets associated to the program.

2. To download Ldt file for a Data Definition
FNDLOAD [username]/[password] O Y DOWNLOAD $XDO_TOP/patch/115/import/xdotmpl.lct file_name.ldt XDO_DS_DEFINITIONS APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' DATA_SOURCE_CODE='[Data Definition Short Name]'

      Above command downloads the template definition too.

3. To download Ldt file for a Request Set
FNDLOAD [username]/[password] 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET REQUEST_SET_NAME='[REQUEST_SET_SHORT_NAME]'

      Make sure we run the below command too.

4. To download Ldt file for a Request Set Links
FNDLOAD [username]/[password] 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET_LINKS REQUEST_SET_NAME='[REQUEST_SET_SHORT_NAME]'

5. To download Ldt file for a Lookup Up
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' LOOKUP_TYPE='[LOOKUP_TYPE]'

6. To download Ldt file for a request group for a Concurrent Program
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME='[REQUEST_GROUP_NAME]' APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' REQUEST_GROUP_UNIT UNIT_APP='[UNIT_APPLICATION_SHORT_NAME]' UNIT_TYPE='P' UNIT_NAME='[Concurrent program Short Name]'

7. To download Ldt file for a request group for a Request Set
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct file_name.ldt REQUEST_GROUP REQUEST_GROUP_NAME='[REQUEST_GROUP_NAME]' APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' REQUEST_GROUP_UNIT UNIT_APP='[UNIT_APPLICATION_SHORT_NAME]' UNIT_TYPE='S' UNIT_NAME='[Request Set Name]'

8. To download Ldt file for a Value Set
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME='[VALUE_SET_NAME]'

9. To download Ldt file for a Value Set with values
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME='[VALUE_SET_NAME]'

10. To download Ldt file for a DFF
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' DESCRIPTIVE_FLEXFIELD_NAME='[flex field Name]' P_CONTEXT_CODE='[Context Code]'

11. To download Ldt file for a DFF for a particular attribute column
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt DESC_FLEX APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' DESCRIPTIVE_FLEXFIELD_NAME='[flex field Name]' DESCRIPTIVE_FLEX_CONTEXT_CODE='[Context Code]' END_USER_COLUMN_NAME='[Attribute Column Name]' APPLICATION_COLUMN_NAME='[attribute column number]'

12. To download Ldt file for a profile Option
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME='[PROFILE_OPTION_NAME]' APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]'

13. To download Ldt file for a Audit Group
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/affaudit.lct file_name.ldt FND_AUDIT_GROUPS APPLICATION_SHORT_NAME='[APPLICATION_SHORT_NAME]' GROUP_NAME = '[Audit Group Name]'

14. To download Ldt file for a Audit Schema
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/affaudit.lct file_name.ldt FND_AUDIT_SCHEMAS ORACLE_USERNAME='ORACLE_USERNAME' APPLICATION_SHORT_NAME='APPLICATION_SHORT_NAME'

15. To download Ldt file for a Responsibility
FNDLOAD [username]/[password] O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY="[Responsibility Name]"


Tuesday, 23 August 2016

how to create dba directory in oracle 11g

Directories let database code interact with the file-system.
SQL> create or replace directory EXPORT_DIR as '/var/local/instance0/export';
SQL> create or replace directory IMPORT_DIR as '/var/local/instance0/import';
SQL> grant READ on directory IMPORT_DIR to APPlmgr;
SQL> grant WRITE on directory EXPORT_DIR to APPlmgr;

set linesize 200
col grantee format a7
col table_schema format a12
col table_name format a10
col privilege format a9
select grantee,table_schema,table_name,privilege
from all_tab_privs
where table_name = 'EXPORT_DIR' or table_name = 'IMPORT_DIR';

Directories must be created if external tables are used. 
Created directories are shown in either dba_directories or all_directories. 
There is no user_directories. When a directory has been created, 
the read and write object privileges can be granted on it

Related Data Dictionary Objects

dir$    all_directories         ku$_directory_t
        dba_directories         ku$_directory_view

The ALL_DIRECTORIES data dictionary view will have information about all the directories that you have access to.
 That includes the operating system path

SQL> SELECT owner, directory_name, directory_path
  FROM all_directories

SQL> select * from all_objects where object_type ='DIRECTORY';
SQL> SELECT * FROM dba_directories;


System Privileges

SQL> GRANT create any directory TO <user_name>;

SQL> GRANT drop any directory TO <user_name>;

Syntax: CREATE OR REPLACE DIRECTORY <directory_name> AS '<operating_system_path>';

SQL Code:
create or replace directory attachment_dir as '/u02';

SQL> Select * from  all_directories
Where directory_name = 'ATTACHMENT_DIR'

Granting Privileges to a Directory

SQL> grant read, write on directory attachment_dir to cpdb;

SQL> SELECT grantor, grantee, table_schema, table_name, privilege
FROM all_tab_privs
WHERE table_name = 'ATTACHMENT_DIR';

SQL> Set UTL_FILE_DIR using ALTER SYSTEM command

SQL> alter system set UTL_FILE_DIR = '/u02/attachment_dir' scope=spfile;

OS Commend to create a directory

[oracle@vasdbsrv u02]$ mkdir /u02/attachment_dir
[oracle@vasdbsrv u02]$ ll

drwxr-xr-x   2 oracle oinstall  4096 Dec  8 13:08 attachment_dir

PLSQL Code to read or write a file to the directory
Source: {ORACLE_HOME}/rdbms/admin/utlfile.sql
declare
  f utl_file.file_type;
begin
  f := utl_file.fopen('ATTACHMENT_DIRmmyfile.txt', 'w');
  utl_file.put_line(f, 'line test 1: text-1');
  utl_file.put_line(f, 'line test 2: text-2');
  utl_file.fclose(f);
end;
/

Drop Directory

Syntax: DROP DIRECTORY <directory_name>;

SQL> SELECT * FROM dba_directories;

SQL> DROP DIRECTORY 'ATTACHMENT_DIR;

Monday, 22 August 2016

Function not Available to this Responsibility

Custom Form: Function not Available to this Responsibility (Doc ID 1079951.1)

"Function not available to this responsibility, change responsibility or contact your system administrator"



APPLIES TO:

Oracle Application Object Library - Version 11.5.2 to 12.1.3 [Release 11.5 to 12.1]
Information in this document applies to any platform.

SYMPTOMS

Navigation steps:
  Select Custom Responsibility, Navigate to Custom Form

When selecting custom form following error occurs:
   Function not available to this responsibility

CAUSE

The CUSTOM_TOP value is not defined correctly in the environment.

SOLUTION

1)  Login to applications and try to open the custom Form.

2)  Navigate to Help --> Diagnostics --> Examine.  Click the "Examine Fields and variable values"

3) Populate the field with the next values:

BLOCK --> $ENVIRONMENT$
FIELD --> (For example XXCUS1_TOP)

4)  Push tab key and check that the variable is defined and that the VALUE is correct.

If the variable is not correctly defined, then:

1)  Review application environment file to check and correct variable definition.

2)  If using servlet mode, then check the definition in the file

$IAS_CONFIG_HOME/Apache/Jserv/etc/formservlet.ini .

Wednesday, 17 August 2016

How to Set and Verify CLASSPATH

How to Set and Verify CLASSPATH Settings for the Concurrent Manager in R12.1.3


This document is describing how to change the CLASSPATH variable so that Concurrent Requests will use it properly and also how to verify what is the value of CLASSPATH for a particular concurrent request.

 Where is the java classpath?
To see the current value of the CLASSPATH environment variable, open a terminal and type:
[appsqa@sujeet ~]$ echo $CLASSPATH
[appsqa@sujeet ~]$ echo $PATH

The JVM class loader will only find and use JAR archives that are listed in the classpath. 
There are several ways to add a JAR to the classpath:
Copy the JAR to one of the directories listed in the CLASSPATH environment variable. 
Another way of viewing the classpath is to run this Java code:
String classpath = System.getProperty("java.class.path");
System.out.println(classpath);
Modify the CLASSPATH environment variable to also include the directory containing the JAR archive.
In csh, the CLASSPATH environment variable is modified with the setenv command. 
The format is:
setenv CLASSPATH path1:path2:...
In sh, the CLASSPATH environment variable can be modified with these commands:
CLASSPATH = path1:path2:...
export CLASSPATH
Set the classpath at runtime. There are several possible ways of doing this:
Use the -classpath option:
javac -classpath ".:/chilkatJava/chilkat.jar" Test.java
java -classpath ".:/chilkatJava/chilkat.jar" Test
Use the -Djava.class.path system property:
javac -Djava.class.path=.:/chilkatJava/chilkat.jar Test.java
java -Djava.class.path=.:/chilkatJava/chilkat.jar Test
IMPORTANT :- On Windows systems, the semicolon character should be used for the path separator.
 However, on Linux systems, the colon character should be used.

1. Description of the CLASSPATH environment variable and the ways it can be used.

The CLASSPATH, being an environment variable, will differ depending on the environment, meaning the runtime environment of a particular process.

For example, if the CLASSPATH was set directly in a UNIX shell, then that would be the CLASSPATH echo'ed back within that shell and within any shell forked from that shell.

However, if CLASSPATH is set in a shell script file, then only processes running from within the context of that script will have that CLASSPATH.

In the Oracle Apps, there are a number of different runtime contexts.
One is the Apache - JServ - JSP engine which has it's CLASSPATH set in a file (usually jservctl, sometimes jserv.properties)

Another context is the Concurrent Manager where all Concurrent Processes are run. There is a separate script for running these, being as they are "concurrent" to the HTML stack. The script that starts up the Concurrent Manager is either adovars.env or some other file that calls adovars.env. 
The adovars.env file has a separate setting of the CLASSPATH, since there may be different runtime requirements for Java classes for Concurrent Programs than for JSP pages.

The basic point is that the CLASSPATH is only valid within the runtime context for which it is set. Running the command "echo $CLASSPATH" only serves to tell you what the CLASSPATH is within the context from which you run the command.


2. Setting the CLASSPATH variable in the context of Concurrent Manager.

There are many places a CLASSPATH can be set. For Concurrent Programs, the important thing is that the file called adovars.env has the proper JDBC driver included in it's CLASSPATH.

For example: when using jdk1.1.8, this should be jdbc 8.0.6, for jdk1.2.2 or greater, it should be jdbc 8.1.6.2 or greater.

Since the Concurrent Manager uses adovars.env when running concurrent requests, this is the place where the CLASSPATH (and other environment variables) should be set correctly.

In case the CLASSPATH is not set correctly, the concurrent requests will end up with the following error: java.lang.NoClassDefFoundError.

It is crucially important that the entire Concurrent Manager be shutdown and restarted after changes were made to file adovars.env.

3. Verifying the value of CLASSPATH variable for a specific request.

To verify that the CLASSPATH change was successful, please follow the next steps:
1. Start a new concurrent request
2. Note the request id
3. Run the following query using the request id

select variable_name, 
value
from fnd_env_context e,
fnd_concurrent_processes p,
fnd_concurrent_requests r
where p.concurrent_process_id = e.concurrent_process_id
and p.concurrent_process_id = r.controlling_manager
and e.variable_name='CLASSPATH'
and r.request_id = &REQUEST_ID

This will return the CLASSPATH being used by the concurrent request.
Reference id [ID 178766.1]

Friday, 12 August 2016

Oracle.Apps.Fnd.Framework.Oaexception

Oracle.Apps.Fnd.Framework.Oaexception: Could Not Create Java Class Error
When External Candidate Customizes Account (Doc ID 1384247.1)

APPLIES TO:

Oracle iRecruitment - Version 12.1.3 and later
Information in this document applies to any platform.

SYMPTOMS

On Applications 12.1.3
When attempting to customize account as an external candidate, the following error occurs:

Error
## Detail 0 ##
oracle.apps.fnd.framework.OAException: Could not create Java class:
(oracle.apps.per.irc.candidateSelfService.webui.IrcCandidatePerPhonesCO) associated with region: (PhoneNumbers).
This is probably because the class name is wrong or not included in project.
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.getController(OAWebBeanHelper.java:1896)
at oracle.apps.fnd.framework.webui.OAWebBeanHelper.processRequest(OAWebBeanHelper.java:572)
at oracle.apps.fnd

Steps
The issue can be reproduced at will with the following steps.
1. Go to IrcVisitor.jsp.
2. Log in as an external candidate.
3. Click My Account > Customize My Account.

CAUSE

The issue is caused by the following setup: missing function personalization at site level

Class path in the error message is incorrect(oracle.apps.per.irc..... ),
in R12 it is changed to oracle.apps.irc......

SOLUTION

As a workaround Personalize the Customize My Account button.
Go to my account page and then click on personalize page.
Personalize "Customize my Account" Button. The destination function is IRC_APL_PERSONAL_ACC_DETS_PAGE.
Replace it with IRC_APL_ACCOUNT_DETAILS_PAGE function at site level.


Tuesday, 9 August 2016

How to uninstall oracle11g from win10

OS- Windows10 64-bits

steps:-1

Uninstall all Oracle components using the Oracle Universal Installer (OUI).
Go to deinstall scripts location
C:\app\oracle\product\11.2.0\dbhome_1\deinstall



double click on deinstall symble.

open new command prompt.

Steps-2

Press window key with R-key
Open window than Run regedit.exe and delete the HKEY_LOCAL_MACHINE/SOFTWARE/Oracle key.

This contains registry entries for all Oracle products.



If you are running 64-bit Windows, 
you should also delete the HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Oracle key if it exists.
Delete any references to Oracle services left behind in the following part of the registry
(HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/Ora*).

It should be pretty obvious which ones relate to Oracle.


Steps-3
Reboot your machine.

Delete the "C:\Oracle" directory, or whatever directory is your ORACLE_BASE.

Delete the "C:\Program Files\Oracle" directory.

If you are running 64-bit Wiindows, you should also delete the "C:\Program Files (x86)\Oracle" directory.

Remove any Oracle-related subdirectories from the "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\" directory.

Empty the contents of your "C:\temp" directory.

Empty your recycle bin.

At this point your machine will be as clean of Oracle components as it can be without a complete OS reinstall.

Remember, manually editing your registry can be very destructive and force an OS reinstall so only do it as a last resort.

If some DLLs can't be deleted, try renaming them, the after a reboot delete them.


********************************************************************

OS:- OEL6.5

Uninstalling all products from OEL is a lot more consistent.
If you do need to resort to a manual uninstall you should do something like:

Uninstall all Oracle components using the Oracle Universal Installer (OUI).
Stop any outstanding processes using the appropriate utilities.

# oemctl stop oms user/password
# agentctl stop
# lsnrctl stop

Alternatively you can kill them using the kill -9 pid command as the root user.
Delete the files and directories below the $ORACLE_HOME.

# cd $ORACLE_HOME
# rm -Rf *

With the exception of the product directory, delete directories below the $ORACLE_BASE.

# cd $ORACLE_BASE
# rm -Rf admin doc jre o*

Delete the /etc/oratab file. If using 9iAS delete the /etc/emtab file also.

# rm /etc/oratab /etc/emtab

Monday, 8 August 2016

How to install toad for oracle 11g


What is TOAD?

TOAD - Tools for Oracle Application Development
TOAD is a set of development tools used for application development, 
database development, or business intelligence and assist developers 
in deploying Oracle-based applications and Web services on the Windows
platform. Developers use the applications for defining business logic, 
creating user interfaces, applications as Web services, and more.

Toad is a application development tool built around an advanced SQL and PL/SQL editor.
 Using Toad, you can build and test PL/SQL packages, procedures, triggers, and functions.
 You can create and edit database tables, views, indexes, constraints, and users. 
The Schema Browser and Project Manager provides quick access to database objects.
Toad’s SQL Editor provides an easy and efficient way to write and test scripts and queries, 
and its powerful data grids provide an easy way to view and edit Oracle data.
With Toad you can:
View the Oracle Dictionary
Create, browse, or alter objects
Graphically build, execute, and tune queries
Edit PL/SQL and profile stored procedures
Manage your common DB tasks from one central window
Find and fix database problems with constraints, triggers, extents, indexes,and grants
Create code from shortcuts and templates
Create custom code templates
Control code access and development (with or without a third party version control product) 

using Toad's cooperative source control feature.

Hardware Requirement for Toad.

75 MB disk space required to run Toad
1GM RAM 32bits required, 2 GB for 64-bits recommended.
VGA monitor, 1024x768 resolution, small fonts Mouse pointing device

Software Requirement for Toad.

Client - Windows 2000/XP/2003/Vista/7 (64-bit support for Windows 2003/XP/Vista/7 with 32-bit Oracle Client)
Oracle SQL Net, Net 8 (32-bit only) Net 9, Net 10, Net 11 or Instant Client
Server - Oracle versions 7.3.4; 8.0.6; 8.1.7; 9i; 9iR2; 10gR1; 10gR2; 11g


Once you have verified that your system meets the requirements listed above, paying special attention to the need for the 64 bit Oracle client, Toad for Oracle should work in your environment without any issues.

Steps for the installation of toad in a 64 bit environment after the installation of database:

1.     Install Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (64-bit).
2.     Install Toad.
3.     Configure TNS

1. Install Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (64-bit).

Download and install oracle database 11g release 2 client (11.2.0.1.0) for windows (64) bit. you can download the same from the below mentioned link.

Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (64-bit)

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html

Oracle Database 11g Release 2 Client (11.2.0.1.0) for Microsoft Windows (x64) 
Downloadwin64_11gR2_client.zip (615,698,264 bytes) (cksum - 2947608743)

  • Extract win64_11gR2_client.zip
  • Run setup.exe
  • following screen will appear.
  • Select Installation type as Administrator and click next
  • Select your desired language and click next.
  • Provide the base location of Oracle product and click next.
  • Wait for the installation
  • This screen will be displayed when the installation is completed.

2.    Toad setup installation steps.

  • Click Toad DBA Suite for Oracle 10.6.1 Commercial.exe
  • Following screen will appear.
  • Click Next.
  • Accept the agreement and click next.
  • Change the location from C:\Program Files (x86)\Quest Software to C:\Quest Software and click next.
  • Select your desired products.
  • Click Install.
  • Installation is completed.
3.     Configure TNS


Configure your newly installed oracle client's TNS.


Tuesday, 2 August 2016

Oracle Enterprise Manager Cloud Control 13c Release 1 (13.1.0.0) Installation on Oracle Linux 6.5


Hardware requirements.

 Linux server meets the minimum hardware requirements.
  • 10 GB of RAM (plus appropriately sized swap space)
  • 100 GB of disk space for the software installation
  • 2 GB of disk space for your /tmp directory.
  • Swap space 20GB
firewall always disabled and SELinux was set to permissive.

Software  requirements.

Download the following software from Oracle.com

OS Installation

Use below link for OS installation step by step.


Database Installation (Software-Only)

Download the Oracle software from OTN or MOS depending on your support status.

OTN: Oracle Database 12c Release 1 (12.1.0.2) Software (64-bit).
edelivery: Oracle Database 12c Release 1 (12.1.0.2) Software (64-bit)
This article has been updated for the 12.1.0.2 release, but the installation is 
essentially unchanged since 12.1.0.1. Any variations specific for 12.1.0.1 will be noted.

Depending on your version of VirtualBox and Oracle Linux, there may be some slight variation
 in how the screen shots look.

Unzip the files.

unzip linuxamd64_12102_database_1of2.zip
unzip linuxamd64_12102_database_2of2.zip

You should now have a single directory called "database" containing installation files.

Hosts File

The "/etc/hosts" file must contain a fully qualified name for the server.

<IP-address>  <fully-qualified-machine-name>  <machine-name>
For example.

127.0.0.1       localhost.localdomain  localhost
192.168.0.210   ol6-121.localdomain    ol6-121

Oracle Installation Prerequisites

Perform either the Automatic Setup or the Manual Setup to complete the basic prerequisites. 
The Additional Setup is required for all installations.

Automatic Setup

If you plan to use the "oracle-rdbms-server-12cR1-preinstall" package to perform all your prerequisite setup, issue the following command.

# yum install oracle-rdbms-server-12cR1-preinstall -y

 Earlier versions of Oracle Linux required manual setup of the Yum repository by following the 
instructions at http://public-yum.oracle.com.
It is probably worth doing a full update as well, but this is not strictly speaking necessary.

# yum update

Manual Setup

If you have not used the "oracle-rdbms-server-12cR1-preinstall" 
package to perform all prerequisites, you will need to manually perform the following setup tasks.

Add or amend the following lines in the "/etc/sysctl.conf" file.

fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500

Run the following command to change the current kernel parameters.

/sbin/sysctl -p

Add the following lines to the "/etc/security/limits.conf" file.

oracle   soft   nofile    1024
oracle   hard   nofile    65536
oracle   soft   nproc    16384
oracle   hard   nproc    16384
oracle   soft   stack    10240
oracle   hard   stack    32768

Install the following packages if they are not already present.

# From Public Yum or ULN
yum install binutils -y
yum install compat-libcap1 -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install ksh -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y

Create the new groups and users.

groupadd -g 54321 oinstall
groupadd -g 54322 dba
groupadd -g 54323 oper
#groupadd -g 54324 backupdba
#groupadd -g 54325 dgdba
#groupadd -g 54326 kmdba
#groupadd -g 54327 asmdba
#groupadd -g 54328 asmoper
#groupadd -g 54329 asmadmin

useradd -u 54321 -g oinstall -G dba,oper oracle

Uncomment the extra groups you require.

Additional Setup
 
The following steps must be performed, whether you did the manual or automatic setup.

Set the password for the "oracle" user.

passwd oracle

Amend the "/etc/security/limits.d/90-nproc.conf" file as described below. See MOS Note [ID 1487773.1]

# Change this
*          soft    nproc    1024

# To this
* - nproc 16384

Set secure Linux to permissive by editing the "/etc/selinux/config" file, 
making sure the SELINUX flag is set as follows.

SELINUX=permissive

Once the change is complete, restart the server or run the following command.

# setenforce Permissive
If you have the Linux firewall enabled, you will need to disable or configure it, 
as shown here or here. To disable it, do the following.

# service iptables stop
# chkconfig iptables off

Create the directories in which the Oracle software will be installed.

mkdir -p /u01/app/oracle/product/12.1.0.2/db_1
chown -R oracle:oinstall /u01
chmod -R 775 /u01

 Putting mount points directly under root is typically a bad idea. 
It's done here for simplicity, but for a real installation "/" should be reserved for the OS.
Unless you are working from the console, or using SSH tunnelling, 
login as root and issue the following command.

xhost +<machine-name>

Add the following lines at the end of the "/home/oracle/.bash_profile" file.

# Oracle Settings
export TMP=/tmp
export TMPDIR=$TMP

export ORACLE_HOSTNAME=ol6-121.localdomain
export ORACLE_UNQNAME=cdb1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0.2/db_1
export ORACLE_SID=cdb1

export PATH=/usr/sbin:$PATH
export PATH=$ORACLE_HOME/bin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
Installation

Log into the oracle user. If you are using X emulation then set the DISPLAY environmental variable.

DISPLAY=<machine-name>:0.0; export DISPLAY
Start the Oracle Universal Installer (OUI) by issuing the following command in the database directory.

./runInstaller

Proceed with the installation of your choice.

 If you are doing an installation for an Enterprise Manager repository,  remember to do an advanced installation and pick the ALT32UTF8 character set.

You can see the type of installation I performed by clicking on the links
 below to see screen shots of each stage.

Configure Security Updates
My Oracle Support Credentials
Select Installation Type
System Class
Grid Installation Options
Select Install Type
Typical Install Configuration
Create Inventory
Perform Prerequisite Checks
Summary
Install Product
Execute Configuration Scripts
Oracle Database Configuration
Database Configuration Assistant
Database Configuration Assistant Complete
Finish
Database Express 12c Login
Database Express 12c Dashboard
 
The "Database Configuration Assistant Complete" screen displays the Database Express 12c URL, 
which will be something like "https://ol6-121.localdomain:5500/em".

Post Installation

Edit the "/etc/oratab" file setting the restart flag for each instance to 'Y'.

cdb1:/u01/app/oracle/product/12.1.0.2/db_1:Y

If  Database Express 12c is not working, check the XMLDB HTTP port. If it is 0, set it to the port you want to use.

SQL> SELECT dbms_xdb_config.gethttpsport FROM dual;

GETHTTPSPORT
------------
        5500

SQL> EXEC dbms_xdb_config.sethttpsport(5500);

PL/SQL procedure successfully completed.

Do a software-only installation, as we will be using the template to create the repository database.

The installation documentation says the following packages are necessary for the cloud control installation. 
If you have performed the database installation as described in one of the above articles, 
most of these prerequisites will already have been met.

# OEL6.5
yum install make -y
yum install binutils -y
yum install gcc -y
yum install libaio -y
yum install glibc-common -y
yum install libstdc++ -y
yum install libXtst -y
yum install sysstat -y
yum install glibc -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
The database software installation is now complete.

Repository Database Creation Using Template

In this article, we are going to use the repository template to create the repository database.
 If you are creating the database manually, remember to check all the prerequisites here, 
some of which include the following.

Database version 12.1.0.2 Enterprise Edition.
You can use a Non-CDB database, or a PDB if you are not using the template to build the repository.
 The database template provided by Oracle used in this article is still a non-CDB database.

The OPTIMIZER_ADAPTIVE_FEATURES initialization parameter should be set to FALSE.
Character set AL32UTF8.

The template includes all the relevant database settings, 
but make sure the character set is selected using the creation, as described below.

Unzip the repository template under the ORACLE_HOME.

$ cd $ORACLE_HOME/assistants/dbca/templates

$ unzip /tmp/12.1.0.2.0_Database_Template_for_EM13_1_0_0_0_Linux_x64.zip

Start the Database Configuration Assistant (DBCA) and create a new database using the template.

$ dbca

Select the "Create Database" option and click the "Next" button.


Select the "Advanced Mode" option and click the "Next" button.


Select the template for the appropriate size of EM installation you need. In this case I've used the small option. Click the "Next" button.

Enter the Global Database Name and SID, then click the "Next" button.

Make sure both the "Configure Enterprise Manager (EM) Database Express" and "Register with Enterprise Manager (EM) Cloud Control" options are unchecked, then click the "Next" button.

Enter the database credentials, then click the "Next" button.

Enter the listener details and click the the "Next" button.

Choose the preferred location for the database files, then click the "Next" button.

Accept the default settings and click on the "Next" button.

Amend the memory settings as desired, click on the "Character Sets" tab and select the "AL32UTF8" option and click the "Next" button. In this case I'm accepting the memory defaults.

Click the "Next" button to create the database.

If you are happy with the summary information, click the "Finish" button.

Wait while the database is created.

Once the database creation is complete, click the "Close" button.





Cloud Control 13c Installation

Make the following directories to hold the management server and agent. 
There are some restrictions on the possible path lengths, 
so don't make the directory structure too deep, especially for Windows installations.

$ mkdir -p /u01/app/oracle/middleware
$ mkdir -p /u01/app/oracle/agent

Start the installation by running the "em13100_linux64.bin" file.

$ chmod u+x em13100_linux64.bin
$ ./em13100_linux64.bin

If you wish to receive support information, enter the required details,
 or uncheck the security updates checkbox and click the "Next" button.
 Click the "Yes" button the subsequent warning dialog.

If you wish to check for updates, enter the required details, or check the "Skip" option and click the "Next" button.


If you have performed the prerequisites as described, the installation should pass all prerequisite checks. Click the "Next" button. In this case I got a warning on the kernel parameters because my "ip_local_port_range" was larger than the required range. I also got a warning about the physical memory, as I was using a VM with less than the recommended memory. I ignored both by clicking the "Ignore" button, then the subsequent "OK" button, then the "Next" button.


Select the "Create a new Enterprise Manager System" and "Simple" options, then click the "Next" button.

Enter the middleware and agent locations, then click the "Next" button.



Enter the administrator password and database repository details, then click the "Next" button.


Enter a location for the software library. If you are using multiple management servers, you will need to configure shared storage for BI Publisher. For this installation I unchecked the "Configure a Shared Location for Oracle BI Publisher" option, but left the "Enable Oracle BI Publisher" option checked. Click the "Next" button.



If you are happy with the review information, click the "Install" button.

Wait while the installation and configuration take place. Notice the "Repository Out Of Box Configuration" step. If we had not used the database template, this would read "Repository Configuration" and the contents of the repository would be created from scratch.

When prompted, run the root scripts, then click the "OK" button.

Make note of the URLs, then click the "Close" button to exit the installer. A copy of this information is available in the "/u01/app/oracle/middleware/install/setupinfo.txt" file.

The login screen is available from a browser using the URL provided in the previous screen ("https://ol7-emcc.localdomain:7803/em"). Log in with the username "sysman" and the password you specified during your installation.





Once logged in, you are presented with a with the "Accessibility Preference" screen. Click the "Save and Continue" button and you are presented with the the "License Agreement" screen. Click the "I Accept" button and you are presented with the homepage selector screen. On the right side of the screen it lists the post-installation setup tasks you need to work through.

Startup/Shutdown

Cloud Control is set to auto-start using the "gcstartup" service. 
The "/etc/oragchomelist" file contains the items that will be started by the system.

/u01/app/oracle/middleware

/u01/app/oracle/agent/agent_13.1.0.0.0:/u01/app/oracle/agent/agent_inst

On a simple installation the default auto-start will cause a problem as Cloud Control will attempt to start before the database has started. 
The service can be disabled by commenting out (using #) all the contents of the "/etc/oragchomelist" file to prevent the auto-start and use start/stop scripts described below.

If the start/stop needs to be automated, you can do it in the usual way using Linux service that calls your start/stop scripts that include the database management.

Use the following commands to turn on all components installed by this article.

#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
export OMS_HOME=/u01/app/oracle/middleware
export AGENT_HOME=/u01/app/oracle/agent/agent_13.1.0.0.0

# Start everything
$ORACLE_HOME/bin/dbstart $ORACLE_HOME

$OMS_HOME/bin/emctl start oms

$AGENT_HOME/bin/emctl start agent
Use the following commands to turn off all components 
installed by this article.

#!/bin/bash
export ORACLE_HOME=/u01/app/oracle/product/12.1.0.2/db_1
export OMS_HOME=/u01/app/oracle/middleware
export AGENT_HOME=/u01/app/oracle/agent/agent_13.1.0.0.0

# Stop everything
$OMS_HOME/bin/emctl stop oms -all

$AGENT_HOME/bin/emctl stop agent

$ORACLE_HOME/bin/dbshut $ORACLE_HOME