Installing BlueJeans Application on Linux Mint/Debian Based OS
Steps to install BlueJeans on LinuxMint/Debian
1. Download BlueJeans RPM
2. Install alien package sudo apt-get install alien
3. Convert BlueJeans RPM to a DEB package sudo alien --to-deb bluejeans-*.rpm
4. Install resulting DEB sudo dpkg -i bluejeans_*.deb
5. Run BlueJeans with /opt/bluejeans/bluejeans-bin
We may get an error loading the expected udev library
Error:
/opt/bluejeans/bluejeans-bin: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
If that is the case, create a symbolic link from your installed libudev to the expected libudev.so.0 like below
himanshu@himanshu-31 ~ $ cd /lib/x86_64-linux-gnu/
himanshu@himanshu-31 /lib/x86_64-linux-gnu $ ls -ltr libudev.so*
lrwxrwxrwx 1 root root 16 Feb 14 05:00 libudev.so.1 -> libudev.so.1.6.4
-rw-r--r-- 1 root root 126840 Feb 14 05:01 libudev.so.1.6.4
lrwxrwxrwx 1 root root 16 Apr 29 06:36 libudev.so.0 -> libudev.so.1.6.4
sudo ln -s libudev.so.1.6.4 libudev.so.0
6.Lanuch BlueJeans Again. It will open now.
1. Download BlueJeans RPM
2. Install alien package sudo apt-get install alien
3. Convert BlueJeans RPM to a DEB package sudo alien --to-deb bluejeans-*.rpm
4. Install resulting DEB sudo dpkg -i bluejeans_*.deb
5. Run BlueJeans with /opt/bluejeans/bluejeans-bin
We may get an error loading the expected udev library
Error:
/opt/bluejeans/bluejeans-bin: error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory
If that is the case, create a symbolic link from your installed libudev to the expected libudev.so.0 like below
himanshu@himanshu-31 ~ $ cd /lib/x86_64-linux-gnu/
himanshu@himanshu-31 /lib/x86_64-linux-gnu $ ls -ltr libudev.so*
lrwxrwxrwx 1 root root 16 Feb 14 05:00 libudev.so.1 -> libudev.so.1.6.4
-rw-r--r-- 1 root root 126840 Feb 14 05:01 libudev.so.1.6.4
lrwxrwxrwx 1 root root 16 Apr 29 06:36 libudev.so.0 -> libudev.so.1.6.4
sudo ln -s libudev.so.1.6.4 libudev.so.0
6.Lanuch BlueJeans Again. It will open now.
How To Run The Workflow Directory Services Concurrent Program From The SQLplus Prompt
In this blog I am going to share how to run below programs from back end.
1. Run the Sync responsibility role data into the Workflow table concurrent program.
2. Run the Synchronize WF LOCAL tables concurrent program with parameter ALL
3. Run the Workflow Directory Services User/Role Validation concurrent program.
Parameters:
Default Batchsize=NULL
Fixing dangling user/roles = Yes
Add missing user/role assignments = Yes
Update WHO columns = Yes
Steps to perform from Apps user to run same from sqlplus
1. Sync responsibility role data into the Workflow table:
begin
fnd_user_resp_groups_api.sync_roles_all_resp_secgrps(TRUE);
end;
2. Workflow Directory Services User/Role Validation:
exec wf_maintenance.ValidateUserRoles(p_BatchSize => null, p_check_dangling => TRUE, p_check_missing_ura => TRUE, p_UpdateWho => FALSE);
How to run for a specific user:
begin
fnd_user_resp_groups_api.sync_roles_all_resp_secgrps(TRUE);
wf_local_synch.BulkSynchronization('ALL');
wf_maintenance.ValidateUserRoles(p_BatchSize => null,
p_UserName => 'HIMANSHU.SINGH',
p_check_dangling => TRUE,
p_check_missing_ura => TRUE,
p_UpdateWho => TRUE);
end;
/
Verify effective end date should not be of past date:
select * from apps.wf_local_user_roles
where role_end_date is null and expiration_date is null and USER_NAME = 'HIMANSHU.SINGH';
Reference:
How To Run The Workflow Directory Services Concurrent Program From The SQLplus Prompt (Doc ID 1213304.1)
ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.0 1.6) does not match that of the oracle executable (12.1.0.2.180717 1.6)
Error:
ORA-29548: Java system class reported: release of Java system classes in the database (12.1.0.2.0 1.6) does not match that of the oracle executable (12.1.0.2.180717 1.6)
The error is due to java.
Solution:
Connect as sys and run below
SQL> show user
USER is "SYS"
SQL> @?/javavm/install/update_javavm_db.sql
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> alter session set "_ORACLE_SCRIPT"=true;
Session altered.
SQL>
SQL> -- If Java is installed, do CJS.
SQL>
SQL> -- If CJS can deal with the SROs inconsistent with the new JDK,
SQL> -- the drop_sros() call here can be removed.
SQL> call initjvmaux.drop_sros();
Call completed.
SQL>
SQL> create or replace java system;
2 /
Java created.
SQL>
SQL> update dependency$
2 set p_timestamp=(select stime from obj$ where obj#=p_obj#)
3 where (select stime from obj$ where obj#=p_obj#)!=p_timestamp and
4 (select type# from obj$ where obj#=p_obj#)=29 and
5 (select owner# from obj$ where obj#=p_obj#)=0;
0 rows updated.
SQL>
SQL> commit;
Commit complete.
SQL>
SQL> alter session set "_ORACLE_SCRIPT"=false;
Session altered.
Verify and check the java now:
SQL> select dbms_java.get_jdk_version() from dual;
DBMS_JAVA.GET_JDK_VERSION()
--------------------------------------------------------------------------------
1.6.0_201
1 row selected.
RMAN Useful Commands-LIST
RMAN List Command
To list all existing backups :
RMAN> LIST BACKUP;
To list all existing database backups :
RMAN> LIST BACKUP OF DATABASE;
To list all existing backups of a specific datafile :
RMAN> LIST BACKUP OF DATAFILE;
For example:
RMAN> LIST BACKUP OF DATAFILE 4;
Alternatively specify the datafile name. For example:
RMAN> LIST BACKUP OF DATAFILE '/u01/app/oradata/COREDB/users01.dbf';
To list all existing archivelog backups :
RMAN> LIST BACKUP OF ARCHIVELOG ALL;
To list all existing controfile backups :
RMAN> LIST BACKUP OF CONTROLFILE;
To list all existing SPFILE backups :
RMAN> LIST BACKUP OF SPFILE;
To list all archive logs :
RMAN> LIST ARCHIVELOG ALL;
To list the contents of an individual backup set :
RMAN> LIST BACKUPSET;
For example:
RMAN> LIST BACKUPSET 44;
To list all datafile image copies use:
RMAN> LIST DATAFILECOPY ALL;
To list an individual datafile image copy :
RMAN> LIST DATAFILECOPY;
For example:
RMAN> LIST DATAFILECOPY 26;
Alternatively specify the name of the datafile image copy file:
RMAN> LIST DATAFILECOPY '/u01/app/oracle/backup/users01.dbf';
To list all controlfile copies:
RMAN> LIST COPY OF CONTROLFILE;
For example:
RMAN> LIST COPY OF CONTROLFILE;
List of Control File Copies
===========================
Key S Completion Time Ckp SCN Ckp Time
------- - --------------- ---------- ---------------
25 A 17-Apr-19 4325628 17-Apr-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_23qekadv
Tag: WEEK_BKPAPR19
20 A 17-AUG-19 4325628 17-AUG-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_1tqek8bd
Tag: WEEK_BKPAPR19
15 A 17-AUG-19 4325628 17-AUG-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_1nqek7j8
Tag: CONTROL_BKPAPR19
To list an individual control file copy :
RMAN> LIST CONTROLFILECOPY;
For example:
RMAN> LIST CONTROLFILECOPY 20;
List of Control File Copies
===========================
Key S Completion Time Ckp SCN Ckp Time
------- - --------------- ---------- ---------------
20 A 17-AUG-19 4325628 17-AUG-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_1tqek8bd
Tag: WEEK_BKPAPR19
To list backups of a tablespace use the LIST BACKUP OF TABLESPACE command. For example:
RMAN> LIST BACKUP OF TABLESPACE USERS;
The LIST INCARNATION command shows the incarnations of the database. Note that multiple incarnations may share the same database ID.
RMAN> LIST INCARNATION;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 COREDB 3456123892 PARENT 1 13-JAN-19
2 2 COREDB 3456123892 PARENT 995548 30-JAN-19
To list all existing backups :
RMAN> LIST BACKUP;
To list all existing database backups :
RMAN> LIST BACKUP OF DATABASE;
To list all existing backups of a specific datafile :
RMAN> LIST BACKUP OF DATAFILE
For example:
RMAN> LIST BACKUP OF DATAFILE 4;
Alternatively specify the datafile name. For example:
RMAN> LIST BACKUP OF DATAFILE '/u01/app/oradata/COREDB/users01.dbf';
To list all existing archivelog backups :
RMAN> LIST BACKUP OF ARCHIVELOG ALL;
To list all existing controfile backups :
RMAN> LIST BACKUP OF CONTROLFILE;
To list all existing SPFILE backups :
RMAN> LIST BACKUP OF SPFILE;
To list all archive logs :
RMAN> LIST ARCHIVELOG ALL;
To list the contents of an individual backup set :
RMAN> LIST BACKUPSET
For example:
RMAN> LIST BACKUPSET 44;
To list all datafile image copies use:
RMAN> LIST DATAFILECOPY ALL;
To list an individual datafile image copy :
RMAN> LIST DATAFILECOPY
For example:
RMAN> LIST DATAFILECOPY 26;
Alternatively specify the name of the datafile image copy file:
RMAN> LIST DATAFILECOPY '/u01/app/oracle/backup/users01.dbf';
To list all controlfile copies:
RMAN> LIST COPY OF CONTROLFILE;
For example:
RMAN> LIST COPY OF CONTROLFILE;
List of Control File Copies
===========================
Key S Completion Time Ckp SCN Ckp Time
------- - --------------- ---------- ---------------
25 A 17-Apr-19 4325628 17-Apr-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_23qekadv
Tag: WEEK_BKPAPR19
20 A 17-AUG-19 4325628 17-AUG-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_1tqek8bd
Tag: WEEK_BKPAPR19
15 A 17-AUG-19 4325628 17-AUG-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_1nqek7j8
Tag: CONTROL_BKPAPR19
To list an individual control file copy :
RMAN> LIST CONTROLFILECOPY
For example:
RMAN> LIST CONTROLFILECOPY 20;
List of Control File Copies
===========================
Key S Completion Time Ckp SCN Ckp Time
------- - --------------- ---------- ---------------
20 A 17-AUG-19 4325628 17-AUG-19
Name: /u01/app/oracle/backup/cf_D-COREDB_id-3456123892_1tqek8bd
Tag: WEEK_BKPAPR19
To list backups of a tablespace use the LIST BACKUP OF TABLESPACE command. For example:
RMAN> LIST BACKUP OF TABLESPACE USERS;
The LIST INCARNATION command shows the incarnations of the database. Note that multiple incarnations may share the same database ID.
RMAN> LIST INCARNATION;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 COREDB 3456123892 PARENT 1 13-JAN-19
2 2 COREDB 3456123892 PARENT 995548 30-JAN-19
Static and Dynamic Listener Concepts in Oracle Database
Static listener and Dynamic listener
What is a Listener?
Listener is used to listen to network requests to connect and pass them on to the instance.Any Remote connection to the database instance are made by the listener.
Single listener can connect to multiple instances, and a single instance can be connected by multiple listeners.
The information the listener needs is the SID and ORACLE_HOME of the instance with which it can connect users to the instance
Listener parameter file
The server side configuration of Oracle net services are kept under listener.ora.
This file is located in $ORACLE_HOME/network/admin
The information in the parameter file would be like hostname/IP, port, SID, ORACLE_HOME, ORACLE_BASE
How to Register a Listener
The process in which the listener gets to know the instance with which it is connecting and is called registration.
There are 2 types registration Static registration and Dynamic registration.
Static listener registration
Static registration is fixing a instance details in listener.ora file. In a static registration an instance is registered with the listener whether its up or not. When a client request comes listener opens a dedicated connection , and server then check if the instance is not up then it gives error message as “Oracle not available”.
The static listener configuration is done in the listener.ora located under the
ORACLE_HOME/network/admin directory. It is divided in two parts, one starts with the listener name and has information about the addresses that listener listens on.
The other starts with SID_LIST_ which includes information about the static
registration.
Static registration cane be used when we need to start/stop the database, or
cycle the database while connected remotely such as during RMAN duplication or dgmgrl during switchover operations.
An listener with status UNKNOWN is statically registered.
Entry in Listener.ora
KRISH =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=db.lab)(PORT=1571))
(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1571)))
SID_LIST_KRISH=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=COREDB)
(SID_NAME=COREDB)
(ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
)
)
Checking Status of Listener:
The status “UNKNOWN” resembles that listener has not checked instance status details that whether its up or not, it has just registered the details of instance. So listener is not sure that whether instance can handle client request or not.
—————————————————————————-----------------------------------------
Dynamic listener registration
In Dynamic registration , registration is performed by PMON process using default port 1521. Once a Database instance starts, its PMON process registers instance details with associated listener. Dynamic registration does not require any manual conguration in the listener.ora file.
If we want our listener not to use the default port then we need to change the LOCAL_LISTENER parameter in the init.ora or sp le of the instance
e.g. (ADDRESS=
(PROTOCOL=TCP)(HOST=hostname)(PORT=1531))
How to change LOCAL_LISTENER parameter for dynamic registration
Method 1:
SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=db.lab)(PORT=1531)))’;
System altered.
SQL>alter system register;
System altered.
Method 2:
We can use an alias that has those details in your tnsnames.ora. The only advantage of using the tnsnames.ora is that you can change the configuration in the SQL*Net rather than in the database.
For example:
Tnsnames.ora entry:
ATLANTA=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = db.lab)(PORT = 1531))
)
(CONNECT_DATA =
(SERVICE_NAME = COREDB)
)
)
alter system set local_listener=’ATLANTA’;
alter system register;
PMON process wakes up at every 60 seconds and provide information to the listener. If any problem arises and PMON process fails then it’s not possible to register information to listener periodically. In this case we can do ‘Manual service registration’ using command:
alter system register;
The parameter is dynamic, so we can change it with instance up, PMON will de-register from the old listener and register to the new one.
When you see an instance with status “READY”, you know that PMON communicates with the listener.
If we are using dynamic listener registration (instance registration). The instance does not register with the listener until you mount the control file. An instance must start to dynamically register with the listener.
What is a Listener?
Listener is used to listen to network requests to connect and pass them on to the instance.Any Remote connection to the database instance are made by the listener.
Single listener can connect to multiple instances, and a single instance can be connected by multiple listeners.
The information the listener needs is the SID and ORACLE_HOME of the instance with which it can connect users to the instance
Listener parameter file
The server side configuration of Oracle net services are kept under listener.ora.
This file is located in $ORACLE_HOME/network/admin
The information in the parameter file would be like hostname/IP, port, SID, ORACLE_HOME, ORACLE_BASE
How to Register a Listener
The process in which the listener gets to know the instance with which it is connecting and is called registration.
There are 2 types registration Static registration and Dynamic registration.
Static listener registration
Static registration is fixing a instance details in listener.ora file. In a static registration an instance is registered with the listener whether its up or not. When a client request comes listener opens a dedicated connection , and server then check if the instance is not up then it gives error message as “Oracle not available”.
The static listener configuration is done in the listener.ora located under the
ORACLE_HOME/network/admin directory. It is divided in two parts, one starts with the listener name and has information about the addresses that listener listens on.
The other starts with SID_LIST_
registration.
Static registration cane be used when we need to start/stop the database, or
cycle the database while connected remotely such as during RMAN duplication or dgmgrl during switchover operations.
An listener with status UNKNOWN is statically registered.
Entry in Listener.ora
KRISH =
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=tcp)(HOST=db.lab)(PORT=1571))
(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1571)))
SID_LIST_KRISH=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME=COREDB)
(SID_NAME=COREDB)
(ORACLE_HOME=/u01/app/oracle/product/12.1.0/dbhome_1)
)
)
[oracle@db Desktop]$ lsnrctl status KRISH
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=db.lab)(PORT=1571))
STATUS of the LISTENER
------------------------
Alias KRISH
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 07-APR-2019 20:46:45
Uptime 0 days 0 hr. 31 min. 27 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/db/krish/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.lab)(PORT=1571)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1571)))
Services Summary...
Service "COREDB" has 1 instance(s).
Instance "COREDB", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
—————————————————————————-----------------------------------------
Dynamic listener registration
In Dynamic registration , registration is performed by PMON process using default port 1521. Once a Database instance starts, its PMON process registers instance details with associated listener. Dynamic registration does not require any manual conguration in the listener.ora file.
If we want our listener not to use the default port then we need to change the LOCAL_LISTENER parameter in the init.ora or sp le of the instance
(PROTOCOL=TCP)(HOST=hostname)(PORT=1531))
SQL>alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=db.lab)(PORT=1531)))’;
System altered.
SQL>alter system register;
System altered.
We can use an alias that has those details in your tnsnames.ora. The only advantage of using the tnsnames.ora is that you can change the configuration in the SQL*Net rather than in the database.
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = db.lab)(PORT = 1531))
)
(CONNECT_DATA =
(SERVICE_NAME = COREDB)
)
)
alter system set local_listener=’ATLANTA’;
alter system register;
PMON process wakes up at every 60 seconds and provide information to the listener. If any problem arises and PMON process fails then it’s not possible to register information to listener periodically. In this case we can do ‘Manual service registration’ using command:
When you see an instance with status “READY”, you know that PMON communicates with the listener.
[oracle@db Desktop]$ lsnrctl status COREDB
LSNRCTL for Linux: Version 12.1.0.2.0 - Production on 07-APR-2019 21:19:09
Copyright (c) 1991, 2014, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=db.lab)(PORT=1531)))
STATUS of the LISTENER
------------------------
Alias COREDB
Version TNSLSNR for Linux: Version 12.1.0.2.0 - Production
Start Date 07-APR-2019 20:29:50
Uptime 0 days 0 hr. 49 min. 19 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.1.0/dbhome_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/db/coredb/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=db.lab)(PORT=1531)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1531)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=db.lab)(PORT=5500))(Security=(my_wallet_directory=/u01/app/oracle/admin/COREDB/xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "COREDB" has 1 instance(s).
Instance "COREDB", status READY, has 1 handler(s) for this service...
Service "COREDBXDB" has 1 instance(s).
Instance "COREDB", status READY, has 1 handler(s) for this service...
The command completed successfully
If we are using dynamic listener registration (instance registration). The instance does not register with the listener until you mount the control file. An instance must start to dynamically register with the listener.
Query to Generate Script for Compiling Invalid Objects in Oracle Database
Query to list invalid objects
select
decode(object_type, 'PACKAGE BODY', 'PACKAGE', object_type) ||
' ' || owner || '.' ||
object_name
as invalid_objects
from dba_objects
where status = 'INVALID' and owner='APPS'
object_type in
('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','TRIGGER','VIEW')
ORDER BY 1;
Query to generate the SQL commands for compiling invalid objects.
SELECT
'alter '
|| DECODE(object_type,'PACKAGE BODY','PACKAGE',object_type)
|| ' '
|| owner
|| '.'
|| object_name
|| ' compile '
|| DECODE(object_type,'PACKAGE BODY','BODY',' ')
|| ';'
FROM
dba_objects
WHERE
status = 'INVALID'
AND owner = 'APPS'
AND object_type IN (
'PROCEDURE',
'FUNCTION',
'PACKAGE',
'PACKAGE BODY',
'TRIGGER',
'VIEW'
)
ORDER BY
1;
select
decode(object_type, 'PACKAGE BODY', 'PACKAGE', object_type) ||
' ' || owner || '.' ||
object_name
as invalid_objects
from dba_objects
where status = 'INVALID' and owner='APPS'
object_type in
('PROCEDURE','FUNCTION','PACKAGE','PACKAGE BODY','TRIGGER','VIEW')
ORDER BY 1;
Query to generate the SQL commands for compiling invalid objects.
SELECT
'alter '
|| DECODE(object_type,'PACKAGE BODY','PACKAGE',object_type)
|| ' '
|| owner
|| '.'
|| object_name
|| ' compile '
|| DECODE(object_type,'PACKAGE BODY','BODY',' ')
|| ';'
FROM
dba_objects
WHERE
status = 'INVALID'
AND owner = 'APPS'
AND object_type IN (
'PROCEDURE',
'FUNCTION',
'PACKAGE',
'PACKAGE BODY',
'TRIGGER',
'VIEW'
)
ORDER BY
1;
Query to check Concurrent Program Submitted by any Specific User in Apps
Query:
SELECT
distinct user_concurrent_program_name,
responsibility_name,
request_date,
argument_text,
request_id,
phase_code,
status_code,
logfile_name,
outfile_name,
output_file_type
FROM
fnd_concurrent_requests fcr,
fnd_concurrent_programs_tl fcp,
fnd_responsibility_tl fr,
fnd_user fu
WHERE
fcr.CONCURRENT_PROGRAM_ID = fcp.concurrent_program_id
and fcr.responsibility_id = fr.responsibility_id
and fcr.requested_by = fu.user_id
and user_name = upper('&user_name')
and user_concurrent_program_name='&user_concurrent_program_name'
ORDER BY REQUEST_DATE DESC;
SELECT
distinct user_concurrent_program_name,
responsibility_name,
request_date,
argument_text,
request_id,
phase_code,
status_code,
logfile_name,
outfile_name,
output_file_type
FROM
fnd_concurrent_requests fcr,
fnd_concurrent_programs_tl fcp,
fnd_responsibility_tl fr,
fnd_user fu
WHERE
fcr.CONCURRENT_PROGRAM_ID = fcp.concurrent_program_id
and fcr.responsibility_id = fr.responsibility_id
and fcr.requested_by = fu.user_id
and user_name = upper('&user_name')
and user_concurrent_program_name='&user_concurrent_program_name'
ORDER BY REQUEST_DATE DESC;
Subscribe to:
Posts
(
Atom
)
1 comment :
Post a Comment