Apache Overview 11i and R12
what is web server? A Web Server is a computer program that is responsible for accepting HTTP requests from clients, which are known as web browsers, and serving them HTTP responses along with optional data contents, which usually are web pages such as HTML documents or linked objects (images, etc.).
Basic process looks very simple. Your browser connects to the Web Server and requests a page and the server sends back the requested page.
Basic process looks very simple. Your browser connects to the Web Server and requests a page and the server sends back the requested page.
Example:
When u type www.oracle.com .The Browser Breaks the URL into three Parts:
The protocol ("http")
The server name ("www.oracle.com")
The file name defined under Directory Index ("index.html")
The browser communicates with DNS to translate the server name www.oracle.com into an IP Address, which it uses to connect to the server machine.
The browser then forms a connection to the server at that IP address.
Using the HTTP protocol, the browser then sends a GET request to the server, asking for the file "http://www.oracle.com/index.html."
The server then sends the HTML text for the Web page to the browser.
The browser read the HTML tags and then formats the page onto your screen
When u type www.oracle.com .The Browser Breaks the URL into three Parts:
The protocol ("http")
The server name ("www.oracle.com")
The file name defined under Directory Index ("index.html")
The browser communicates with DNS to translate the server name www.oracle.com into an IP Address, which it uses to connect to the server machine.
The browser then forms a connection to the server at that IP address.
Using the HTTP protocol, the browser then sends a GET request to the server, asking for the file "http://www.oracle.com/index.html."
The server then sends the HTML text for the Web page to the browser.
The browser read the HTML tags and then formats the page onto your screen
What is Apache Web Server then?
For Oracle Applications, the Web Server is the Oracle Application Server, which is based on Apache technology.
Oracle people has Customized Apache by adding extra features/component/plugins like mod_plsql, mod_jserv, mod_osso … in to Apache Web server and released it as Oracle-Apache Server.
The Oracle Application server is also called as “iAS”
Oracle Apache Server, at startup, starts the parent process. This process loads the entire configuration and associated modules and spawns a preconfigured number of child processes. Apache Server, thus, actually runs several copies of itself to handle multiple connections simultaneously. The parent process never listens to any HTTP request. Its sole job is to ensure that the child processes are alive or to manage the child processes in conjunction with load on the system. Each child process at a given time deals with a single HTTP request
Apache is one of the most common Web Server Software. Apache is a freeware and it is highly customizable. In this context, Oracle Apache Server uses several standards as well as Oracle’s proprietary modules that extend the functionality of Apache Server. Oracle Apache server provides key infrastructure for serving the Internet’s HTTP protocol.
Oracle people has Customized Apache by adding extra features/component/plugins like mod_plsql, mod_jserv, mod_osso … in to Apache Web server and released it as Oracle-Apache Server.
The Oracle Application server is also called as “iAS”
Oracle Apache Server, at startup, starts the parent process. This process loads the entire configuration and associated modules and spawns a preconfigured number of child processes. Apache Server, thus, actually runs several copies of itself to handle multiple connections simultaneously. The parent process never listens to any HTTP request. Its sole job is to ensure that the child processes are alive or to manage the child processes in conjunction with load on the system. Each child process at a given time deals with a single HTTP request
Apache is one of the most common Web Server Software. Apache is a freeware and it is highly customizable. In this context, Oracle Apache Server uses several standards as well as Oracle’s proprietary modules that extend the functionality of Apache Server. Oracle Apache server provides key infrastructure for serving the Internet’s HTTP protocol.
Main Components:
Http Listener is in charge of receiving incoming http requests and servicing these requests by sending them to appropriate processing component. Modules includes some standard Apache modules as well as Oracle proprietary modules & Some add-on modules. Modules extend basic functionality of web server. Modules such as:
Mod_security : protects web server from external attacks
Mod_perl : routes requests to PERL interpreter
Mod_plsql : routes requests to pl/sql engine
Mod_ossl : supports SSL
OHS Components
Apache
mod_plsql
mod_jserv
oproc
File System:
Its location on File System: As you know there are three ORACLE_HOME in Apps 8.0.6, iAS, 9.2.0.
Web Server is under iAS ----- iAS stands for Internet Application server ------ The environment variable to go to this location in apps user is (cd $) IAS_ORACLE_HOME.
Version:-
To find out the version of Apache and iAS, go to this location and type this if environment file is not sourced.
//ora/iAS/Apache/Apache/bin] $ httpd -v
Configuration Files:
httpd.conf - is a key configuration file for Oracle HTTP Server.
httpds.conf - this is configuration file if we use SSL (Secure Socket layer)
How Oracle Apache Server Works?
Apache is a program that runs under a suitable multitasking operating system such as Windows, Netware, OS2 and various unix flavours. The Apache binary is called “httpd” under unix and normally runs in background. On unix OnDemand environments you can see “httpd” executable under $APACHE_TOP/Apache/bin.
Starting and Stopping Apache:
You can start or stop httpd processes using httpd command line however, File “apachectl’ , which is a shell script calls this “httpd” executable and you can thus start or stop Apache program using apachectl start or stop arguments. Generally, in EBSO application, we use “adapcctl.sh” script from $SCRIPT_TOP location. This file reads environment variables and again calls “apachectl” file to start, stop or display status of Apache processes. Thus, finally it is the httpd executable which is being started.
When Apache Web server up it uses the below configuration Files.
adstrtall.sh -> adapcctl.sh ->apachectl-> httpd.conf (which in turns apache web server i.e http server will up)
When httpd executable first starts, this file is processed. Thus httpd.conf is the main configuration file.
httpd.conf -> jserv.conf -> jserv properties -> zone properties
httpd.conf -> oracle_apache.conf -> ojsp.conf -> plsql.conf -> apps.conf
httpd.conf -> oprocmgr.conf
LOCATIONS OF ALL CONFIGURATION FILES RELATED TO APACHE IN 11i :-
adstrtall.sh, adapcctl.sh -. COMMONTOP/admin/scripts/sid/
(adapcctl -> where ad -> application's DBA apc -- Apache ctl -- control)
apachectl -> APACHE TOP/apache/bin/
httpd.conf -> Apache top/apache/conf/
jserv.conf -> Apache top/jserv/etc/
jserv.properties -> Apache top/jserv/etc
zone.properties -> Apache top/jserv/etc/
oracle_apache.conf -> Apache top/apache/conf/
plsql.conf -> Apache/modplsql/cfg
oprocmgr.conf -> Apache top/apache/conf/
wdbsvr.app -> Apache top/modplsql/cfg/
( in this file the apps password is hardcoded).
IMPORTANT FILES/DIRECTIORIES IN IAS DIRECTORY:
We have to keep some concentration on these directories in IAS_ORACLE_HOME SID_Hostname.env, Apache, and network.
Env file is to set environment variable to iAS_ORACLE_HOME (During iAS patching)
Apache directory: -
Apache is main directory where you’re most web server configuration Sit. The
Important Files / dir under this directory are
1) Apache
2) Jserv and
3) modplsql
Mod_jserv related stuff goes in Jserv directory (it caters requesters like Self Service, Servlets, jsp pages), see the below screen
Mod_plsql related stuff goes in modplsql directory (it caters requesters like anything after /pls/ i.e., executing packages & procedures in DB).
Under iAS/Apache/Apache important directory/files is
bin (apachectl, httpd),
conf (httpd.conf, httpd_pls.conf, oracle_apache.conf),
logs (access_log, access_log_pls, error_log, error_log_pls, httpd.pid, httpd_pls.pid)
Under iAS/Apache/Jserv files you want to know are
etc (all configuration files),
logs (jvm, mod_jserv.log)
Under iAS/Apache/modplsql its
cache (cookie, plsql),
cfg (wdbsvr.app, *.conf)
MOD_JSERV
Mod_jserv related stuff goes in Jserv directory (it caters requester like Self Service, Servlets, jsp pages), see the below screen
mod_jserv is controlled by directives in jserv.conf.
Jserv is controled by jserv.properties.
MOD_PLSQL:
Mod_plsql(PHP) related stuff goes in modplsql directory (it caters requesters like anything after /pls/ i.e., executing packages & procedures in DB).
The following scenario provides overviews of what steps occur when a server receives a plsql related client request
Main Configurations Files and Directives (Apache PL/SQL (PHP)
1)The Oracle HTTP Server receives a PL/SQL Server Page request from a client browser.
2)The Oracle HTTP Server routes the request to mod_plsql.
3)The request is forwarded by mod_plsql to the Oracle Database. By using the configuration information stored in your Database Access Descriptor DAD(wbdsvr.app), mod_plsql connects to the database.
4)mod_plsql prepares the call parameters, and invokes the PL/SQL procedure in the application.
5)The PL/SQL procedure generates an HTML page using data and the PL/SQL Web Toolkit accessed from the database.
6)The response is returned to mod_plsql.
7)The Oracle HTTP Server sends the response to the client browser
EXPLANATION OF SOME IMPORTANT CONFIGURATION FILES in 11i:-
httpd.conf ->This is main Apache configuration file. From this configuration file it identify port definitions, memory settings, loggin levels, log file locations and other configuration options and files.
Port=web_cache_port: Specifies the Oracle Application Server Web Cache listening ports
Listen=Oracle_HTTP_Server_port: Specifies the HTTP and HTTPS ports obtained by Oracle HTTP Server.
jserv.conf -> Oracle HTTP Server includes a Java Virtual Machine (JVM), which is called
JServ. jserv.conf and jserv.properties are the key configuration files for Jserv
All our Self Service servlets requests are via mod_jserv like discoverer view, xml services or OAM login (So you know now where to look if issue happens in these services) If your Form Server is in servlet Mode then Core Applications are also accessed via Web Server (Jserv Component)
This file calls few properties files like jserv.properties, zone properties, viewer4i.properties, forms.properties, xmlsvcs.properties.
This file calls other configuration files like plsql.conf, immeting.conf, apps.conf.
oprocmgr.conf ->(in Apache/conf) This Oracle module provides process management and load balancing services to JServ processes
This module starts, stops, and detects death of processes (starting new processes to replace them), and provides load balancing services to the processes
oracle_apache.conf -> This configuration file is used to configure Oracle built modules supplied with default Apache like mod_pls, mod_ossl, oem, imeeting. These files are used for mod_pls configuration.
Plsql.conf ->This file is used to configure pls (Plsql). This file defines to forward all requests like /pls/ to dedicated apache listener.
mod_plsql is an Oracle HTTP Server plug-in that communicates with the database. It maps browser requests into database stored procedure calls over a SQL*Net connection. It is often indicated by a /pls/ virtual path.
wdbsvr.app ->Which in my views is named so after Web Database Server for Applications. This file contains your dad (database Access Descriptor) information like database connection description & apps user name & password. If you are changing apps password you use utility FNDCPASS and after changing password you have to manually change apps password in this file.
Configuration Files Under R12.
R12 File System INST_TOP in R12
Remember there are no jserv.properties or jserv.conf or zone.properties in R12 (new techstack), Jserv is replaced by OACORE!
The following will cover the configuration files that will fall under INST TOP directory structure.
All the configuration Files are placed under $ORA_CONFIG_HOME
If you go inside this directory you will see 10.1.2 and 10.1.3
10.1.2 configuration files will be residing in 10.1.2. for e.g $FORMS_WEB_CONFIG_FILE is placed under $ORA_CONFIG_HOME/10.1.2 - in my instance it is in /slot/ems1636/appmgr/inst/apps/tkr12r3d_rws60029rems/ora/10.1.2/forms/server/appsweb.cfg
10.1.3 configuration files will be placed under $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf/
httpd.conf is located at $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf/
Same location you will see (all apache related configurations files)
Env file:
$ORA_CONFIG_HOME/10.1.3/$CONTEXT_NAME.env
OH config files: Location: $ORA_CONFIG_HOME/10.1.3/config
These files are security related/iAS related parameters. Mostly no modifications required manually. OID/SSO registrations scripts modifies directly.
ias.properties
iasschema.xml
j2ee_instance_jazn.properties
jazn-data.xml
jazn.xml
Apache Related Configuration Files: $IAS_ORACLE_HOME/Apache/Apache/conf
apps.conf
custom.conf
dms.conf
httpd.conf
mod_oc4j.conf - newly introduced for OC4J conf
mod_osso.conf - replaced mod sso conf
oracle_apache.conf
osso
restricted_mode_apache.conf
security.conf
ssl.conf
ssl_terminator.conf
trusted.conf
url_fw.conf
OPMN config file:
$ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml
Used by Oracle Process Manager and Notification Server (OPMN)
Contains details of all the OC4J instances deployed on the server
Location of the log files for OPMN
Various ports used by OPMN
$ORA_CONFIG_HOME/10.1.3/network/tnsnames.ora - Apache connection config file
OC4J configuration files:
There are three OC4J deployments in 10.1.3 oracle Homes
they are oacore oc4j, forms oc4j, oafm oc4j. All oc4j's will have similar configuration files.
application.xml
default-web-site.xml
global-web-application.xml
j2ee-logging.xml
jazn.xml
jms.xml
oc4j-connectors.xml
oc4j.properties
ohwconfig.xml
rmi.xml
server.xml
system-application.xml
system-jazn-data.xml
JavaCache config file:
$ORA_CONFIG_HOME/10.1.3/javacache/admin/javacache.xml
10.1.2 OH related config Files:
Env file:
$ORA_CONFIG_HOME/10.1.2/$CONTEXT_NAME.env
Form Server Configuration Files:
Location: $ORA_CONFIG_HOME/10.1.2/forms/server
default.env (replacement of formservlet.ini in 11i)
socket.env
appsweb.cfg ($FORMS60_WEB_CONFIG_FILE is replaced with $FORMS_WEB_CONFIG_FILE)
Report Builder config file:
$ORA_CONFIG_HOME/10.1.2/reports/conf/rwbuilder.conf
10.1.2 Listener config files:
$ORA_CONFIG_HOME/10.1.2/network/admin
Mod_security : protects web server from external attacks
Mod_perl : routes requests to PERL interpreter
Mod_plsql : routes requests to pl/sql engine
Mod_ossl : supports SSL
OHS Components
Apache
mod_plsql
mod_jserv
oproc
File System:
Its location on File System: As you know there are three ORACLE_HOME in Apps 8.0.6, iAS, 9.2.0.
Web Server is under iAS ----- iAS stands for Internet Application server ------ The environment variable to go to this location in apps user is (cd $) IAS_ORACLE_HOME.
Version:-
To find out the version of Apache and iAS, go to this location and type this if environment file is not sourced.
//ora/iAS/Apache/Apache/bin] $ httpd -v
Configuration Files:
httpd.conf - is a key configuration file for Oracle HTTP Server.
httpds.conf - this is configuration file if we use SSL (Secure Socket layer)
How Oracle Apache Server Works?
Apache is a program that runs under a suitable multitasking operating system such as Windows, Netware, OS2 and various unix flavours. The Apache binary is called “httpd” under unix and normally runs in background. On unix OnDemand environments you can see “httpd” executable under $APACHE_TOP/Apache/bin.
Starting and Stopping Apache:
You can start or stop httpd processes using httpd command line however, File “apachectl’ , which is a shell script calls this “httpd” executable and you can thus start or stop Apache program using apachectl start or stop arguments. Generally, in EBSO application, we use “adapcctl.sh” script from $SCRIPT_TOP location. This file reads environment variables and again calls “apachectl” file to start, stop or display status of Apache processes. Thus, finally it is the httpd executable which is being started.
When Apache Web server up it uses the below configuration Files.
adstrtall.sh -> adapcctl.sh ->apachectl-> httpd.conf (which in turns apache web server i.e http server will up)
When httpd executable first starts, this file is processed. Thus httpd.conf is the main configuration file.
httpd.conf -> jserv.conf -> jserv properties -> zone properties
httpd.conf -> oracle_apache.conf -> ojsp.conf -> plsql.conf -> apps.conf
httpd.conf -> oprocmgr.conf
LOCATIONS OF ALL CONFIGURATION FILES RELATED TO APACHE IN 11i :-
adstrtall.sh, adapcctl.sh -. COMMONTOP/admin/scripts/sid/
(adapcctl -> where ad -> application's DBA apc -- Apache ctl -- control)
apachectl -> APACHE TOP/apache/bin/
httpd.conf -> Apache top/apache/conf/
jserv.conf -> Apache top/jserv/etc/
jserv.properties -> Apache top/jserv/etc
zone.properties -> Apache top/jserv/etc/
oracle_apache.conf -> Apache top/apache/conf/
plsql.conf -> Apache/modplsql/cfg
oprocmgr.conf -> Apache top/apache/conf/
wdbsvr.app -> Apache top/modplsql/cfg/
( in this file the apps password is hardcoded).
IMPORTANT FILES/DIRECTIORIES IN IAS DIRECTORY:
We have to keep some concentration on these directories in IAS_ORACLE_HOME SID_Hostname.env, Apache, and network.
Env file is to set environment variable to iAS_ORACLE_HOME (During iAS patching)
Apache directory: -
Apache is main directory where you’re most web server configuration Sit. The
Important Files / dir under this directory are
1) Apache
2) Jserv and
3) modplsql
Mod_jserv related stuff goes in Jserv directory (it caters requesters like Self Service, Servlets, jsp pages), see the below screen
Mod_plsql related stuff goes in modplsql directory (it caters requesters like anything after /pls/ i.e., executing packages & procedures in DB).
Under iAS/Apache/Apache important directory/files is
bin (apachectl, httpd),
conf (httpd.conf, httpd_pls.conf, oracle_apache.conf),
logs (access_log, access_log_pls, error_log, error_log_pls, httpd.pid, httpd_pls.pid)
Under iAS/Apache/Jserv files you want to know are
etc (all configuration files),
logs (jvm, mod_jserv.log)
Under iAS/Apache/modplsql its
cache (cookie, plsql),
cfg (wdbsvr.app, *.conf)
MOD_JSERV
Mod_jserv related stuff goes in Jserv directory (it caters requester like Self Service, Servlets, jsp pages), see the below screen
mod_jserv is controlled by directives in jserv.conf.
- ApJServManual, ApJServLogFile
- ApJServLogLevel
- ApJServGroup
- Ex: ApJServGroup OACoreGroup 4 1 //product/iAS/Apache/Jserv/etc/jserv.properties
Jserv is controled by jserv.properties.
- Port,
- log=[true,false]
- Heapsize ( -Xmx, -Xms )
- JTFDBCFILE
- LONG_RUNNING_JVM
- DCACHEMODE
MOD_PLSQL:
Mod_plsql(PHP) related stuff goes in modplsql directory (it caters requesters like anything after /pls/ i.e., executing packages & procedures in DB).
The following scenario provides overviews of what steps occur when a server receives a plsql related client request
Main Configurations Files and Directives (Apache PL/SQL (PHP)
1)The Oracle HTTP Server receives a PL/SQL Server Page request from a client browser.
2)The Oracle HTTP Server routes the request to mod_plsql.
3)The request is forwarded by mod_plsql to the Oracle Database. By using the configuration information stored in your Database Access Descriptor DAD(wbdsvr.app), mod_plsql connects to the database.
4)mod_plsql prepares the call parameters, and invokes the PL/SQL procedure in the application.
5)The PL/SQL procedure generates an HTML page using data and the PL/SQL Web Toolkit accessed from the database.
6)The response is returned to mod_plsql.
7)The Oracle HTTP Server sends the response to the client browser
EXPLANATION OF SOME IMPORTANT CONFIGURATION FILES in 11i:-
httpd.conf ->This is main Apache configuration file. From this configuration file it identify port definitions, memory settings, loggin levels, log file locations and other configuration options and files.
Port=web_cache_port: Specifies the Oracle Application Server Web Cache listening ports
Listen=Oracle_HTTP_Server_port: Specifies the HTTP and HTTPS ports obtained by Oracle HTTP Server.
jserv.conf -> Oracle HTTP Server includes a Java Virtual Machine (JVM), which is called
JServ. jserv.conf and jserv.properties are the key configuration files for Jserv
All our Self Service servlets requests are via mod_jserv like discoverer view, xml services or OAM login (So you know now where to look if issue happens in these services) If your Form Server is in servlet Mode then Core Applications are also accessed via Web Server (Jserv Component)
This file calls few properties files like jserv.properties, zone properties, viewer4i.properties, forms.properties, xmlsvcs.properties.
This file calls other configuration files like plsql.conf, immeting.conf, apps.conf.
oprocmgr.conf ->(in Apache/conf) This Oracle module provides process management and load balancing services to JServ processes
This module starts, stops, and detects death of processes (starting new processes to replace them), and provides load balancing services to the processes
oracle_apache.conf -> This configuration file is used to configure Oracle built modules supplied with default Apache like mod_pls, mod_ossl, oem, imeeting. These files are used for mod_pls configuration.
Plsql.conf ->This file is used to configure pls (Plsql). This file defines to forward all requests like /pls/ to dedicated apache listener.
mod_plsql is an Oracle HTTP Server plug-in that communicates with the database. It maps browser requests into database stored procedure calls over a SQL*Net connection. It is often indicated by a /pls/ virtual path.
wdbsvr.app ->Which in my views is named so after Web Database Server for Applications. This file contains your dad (database Access Descriptor) information like database connection description & apps user name & password. If you are changing apps password you use utility FNDCPASS and after changing password you have to manually change apps password in this file.
Configuration Files Under R12.
R12 File System INST_TOP in R12
Remember there are no jserv.properties or jserv.conf or zone.properties in R12 (new techstack), Jserv is replaced by OACORE!
The following will cover the configuration files that will fall under INST TOP directory structure.
All the configuration Files are placed under $ORA_CONFIG_HOME
If you go inside this directory you will see 10.1.2 and 10.1.3
10.1.2 configuration files will be residing in 10.1.2. for e.g $FORMS_WEB_CONFIG_FILE is placed under $ORA_CONFIG_HOME/10.1.2 - in my instance it is in /slot/ems1636/appmgr/inst/apps/tkr12r3d_rws60029rems/ora/10.1.2/forms/server/appsweb.cfg
10.1.3 configuration files will be placed under $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf/
httpd.conf is located at $ORA_CONFIG_HOME/10.1.3/Apache/Apache/conf/
Same location you will see (all apache related configurations files)
Env file:
$ORA_CONFIG_HOME/10.1.3/$CONTEXT_NAME.env
OH config files: Location: $ORA_CONFIG_HOME/10.1.3/config
These files are security related/iAS related parameters. Mostly no modifications required manually. OID/SSO registrations scripts modifies directly.
ias.properties
iasschema.xml
j2ee_instance_jazn.properties
jazn-data.xml
jazn.xml
Apache Related Configuration Files: $IAS_ORACLE_HOME/Apache/Apache/conf
apps.conf
custom.conf
dms.conf
httpd.conf
mod_oc4j.conf - newly introduced for OC4J conf
mod_osso.conf - replaced mod sso conf
oracle_apache.conf
osso
restricted_mode_apache.conf
security.conf
ssl.conf
ssl_terminator.conf
trusted.conf
url_fw.conf
OPMN config file:
$ORA_CONFIG_HOME/10.1.3/opmn/conf/opmn.xml
Used by Oracle Process Manager and Notification Server (OPMN)
Contains details of all the OC4J instances deployed on the server
Location of the log files for OPMN
Various ports used by OPMN
$ORA_CONFIG_HOME/10.1.3/network/tnsnames.ora - Apache connection config file
OC4J configuration files:
There are three OC4J deployments in 10.1.3 oracle Homes
they are oacore oc4j, forms oc4j, oafm oc4j. All oc4j's will have similar configuration files.
application.xml
default-web-site.xml
global-web-application.xml
j2ee-logging.xml
jazn.xml
jms.xml
oc4j-connectors.xml
oc4j.properties
ohwconfig.xml
rmi.xml
server.xml
system-application.xml
system-jazn-data.xml
JavaCache config file:
$ORA_CONFIG_HOME/10.1.3/javacache/admin/javacache.xml
10.1.2 OH related config Files:
Env file:
$ORA_CONFIG_HOME/10.1.2/$CONTEXT_NAME.env
Form Server Configuration Files:
Location: $ORA_CONFIG_HOME/10.1.2/forms/server
default.env (replacement of formservlet.ini in 11i)
socket.env
appsweb.cfg ($FORMS60_WEB_CONFIG_FILE is replaced with $FORMS_WEB_CONFIG_FILE)
Report Builder config file:
$ORA_CONFIG_HOME/10.1.2/reports/conf/rwbuilder.conf
10.1.2 Listener config files:
$ORA_CONFIG_HOME/10.1.2/network/admin
Balaji@Very Nice Article in simple english.Thanks
ReplyDeleteAwesome article bro...Thanks for the detailed note...I found it very useful.
ReplyDeleteThanks,
Harsha
very helping
ReplyDeletehai I am a new bee to oracle applications. I got complete information of apache in oracle apps 11i and R12 thank you.
ReplyDeletevery nice job
thank you
ReplyDeletevery informative
ReplyDeleteGood Stuff ...
ReplyDeleteI really enjoyed reading it.!!!
ReplyDeletereally its very good .thank you
ReplyDeleteNice blog
ReplyDeletehttp://www.iwebtechnologies.in/
Learning English language is not easy, especially the expressions, but Convo website courses help in teaching expressions that are an important part of making everyday English sentence, these courses of English expressions are available for free to beginners up to advanced users., which enable you to perfect the language to all ages, it also enables you to become an instructor yourself if you want expressions for excitement
ReplyDeleteاستقرار في الاسعار مع بداية عام 2021 حيث اصبح اسعار الخامات تترواح بين 85 الى 100 جنية على ارضة اما اسعار التوريد والتركيب تتراوح بين 180 الى 200 جنية بالسقالات الهواري للديكور افضل شركة توريد وتركيب في مصر
ReplyDeleteاسعار الحجر الهاشمي
حجر هاشمي
حجر هاشمي
حجر هاشمي
حجر هاشمي ابيض
حجر هاشمي
حجر هاشمي هيصم
اسعار القرميد البلاستيك
اسعار القرميد البلاستيك التركي
اسعار الحجر البازلت
اسعار الحجر الفرعوني
اسعار الانترلوك الناعم والخشن توريد وتركيب في مصر 2022
ReplyDeleteاسعار الانترلوك الناعم والخشن بالتفاصيل والصور في مصر 2022
ارخص اسعار الانترلوك الناعم والخشن في مصر 2022