Oracle Blogs

Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1)

Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1)
Written by admin

Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1)

  • This document describes the process of migrating an Oracle application (middle) tier to any platform that is supported with Oracle E-Business Suite Release 12.0.x and 12.1.x Rapid Install.
  • The content only applies to Oracle E-Business Suite releases 12.0.x and 12.1.x. Where applicable, 12.0.x releases will in general be referred to as Release 12.0, and 12.1.x releases as Release 12.1.
  • This procedure does not apply to release Oracle E-Business Suite Release 12.2.

Benefits

  • The process described provides a way to quickly and easily move an existing Oracle E-Business Suite application tier to a different platform, allowing you to utilize different hardware for the application tier.
  • The migration utility retains the exact Oracle E-Business Suite patch level, so that no APPL_TOP/Database synchronization is necessary; this also allows you to retain many customizations.
  • The Source System can remain up and running until the last step of the migration process.

Restrictions

  • This migration methodology requires Oracle E-Business Suite Release 12.0.4 or higher.
  • The instructions in this document are for migration to a target UNIX/Linux platform. At present, Windows is only supported as a source platform.
  • For database migration view my other blog post.

Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1)  Sections:

Section 1: Prerequisites: Must be completed prior to using the migration utility.
Section 2: Migration Tasks : Tasks to migrate an application tier to a new platform.
Section 3: Finishing Tasks: Tasks that need to be performed after the migration.



We migrated from 12.1.1 from Windows 32 bit to Linux 64 bit

Section 1: Prerequisites

 Prepare the Source System before migrating to a new platform. If your system uses multiple application tier nodes, the following prerequisite steps must be performed on all nodes.

 

Section 1: Prerequisites

1

 

  • Verify operating system requirements on Target System
    Before migrating to the new platform, ensure the Target System meets all the requirements for Oracle E-Business Suite Release 12.0.4 or 12.1.1 posted in the Oracle E-Business Suite Release Notes (available as My Oracle Support Knowledge Documents 549389.1 and 798258.1), and in the Oracle E-Business Suite Installation and Upgrade Notes for each platform (available as My Oracle Support Knowledge Documents 394692.1 and 790942.1).
    For the latest installation guidelines, refer to My Oracle Support Knowledge Document 405565.1.

In our case we Skip

2

Verify Source and Target nodes software versions
In addition to the usual Oracle E-Business Suite operating system requirements, the following software component versions must exist on the Source and Target nodes.

 

Software Minimum Version Details
Zip 2.3

 

(or Higher)

Download from InfoZip. Zip must be in your $PATH. If using files bigger than 2Gb, you should use InfoZip ZIP 3.0 or higher.
Unzip 5.52

 

(or higher)

Download from InfoZip. Unzip must be in your $PATH. If using files bigger than 2Gb, you should use InfoZip UNZIP 5.52 or higher.
Operating System utilities N/A The required operating system utilities for your platform must be in your $PATH when running adcfgclone.pl. For example, make, ld, and ar on UNIX. Refer to Oracle Applications Installation Guide: Using Rapid Install (see Footnote 1)
JDK 1.5.x or higher Use the JDK shipped with OracleAS 10.1.3 if available or download it from java.sun.com.
Perl 5.x Use the Perl shipped with OracleAS 10.1.3 if available or download it from Perl.com. Perl must be in the PATH and PERL5LIB must be correctly set before migrating.

Footnote 1 This is the Release 12.1.1 version; versions for earlier releases are also available from the Oracle E-Business Suite Online Documentation Library 

 

In our case we Skip


3. Apply the latest AD patch

p9239089_R12.AD.B_R12_WINNT

1. Create $ORACLE_HOME/appsutil/admin on the database server.

2. Copy  copy adgrants_nt.sql  from this patch directory to
%ORACLE_HOME%/appsutil/dmin.

3. Set the environment to point to ORACLE_HOME on the database server.

4. Use SQL*Plus to run the script:

Windows:
C:\> sqlplus /nolog
SQL> %$ORACLE_HOME%\appsutil\admin\adgrants_nt.sql APPS

Apply The Patch Apply patch This patch contains the following unified driver file to be applied with
AutoPatch:
u9239089.drv (This is the unified driver)


4. Upgrade Oracle E-Business Suite to Release 12.0.4 (or Higher)

 If not already applied, update the Oracle E-Business Suite file system with Patch 6435000 (Oracle E-Business Suite RUP4). Refer to My Oracle Support Knowledge Document 465776.1 for the latest instructions on applying this patch.

Note: This step only applies to 12.0 code line.

In our case we skip


5. Apply the latest AutoConfig Template patch

 Update the Oracle E-Business Suite file system with the latest AutoConfig template files by applying the TXK AutoConfig Template rollup patch to all application tier server nodes. Refer to My Oracle Support Knowledge Document 387859.1 for details of the latest Autoconfig Template rollup patch.

6. Apply the latest Rapid Clone patches

Update the Oracle E-Business Suite file system with the latest Patches required by Rapid Clone. Refer to My Oracle Support Knowledge Document 406982.1 for details of the latest required patches. 

For Release 12.1:

Apply patches as listed in Table 3.b.
Table 3.b: Release 12.1 Rapid Clone patches
Patch     Description
9171651:R12.OAM.B     12.1 RAPIDCLONE CONSOLIDATED FIXES JUL/2010
9833058:R12.OAM.B     HOT CLONE FAILS WITH ORA-00201 DURING RECOVERY MANAGER
12404574:R12.OAM.B     ORACLE_HOME REGISTRATION DOES NOT HAPPEN WITH CENTRAL INVENTORY ON LOZ
12598630:R12.OAM.B     R12.1 ONE-OFF FOR S_DB_LISTENER BUG 12362010
15969020:R12.OAM.B     APPSST12C: INCORRECT DIRECTORY WHEN RUNNING ADCFGCLONE.PL
8919489
16958896:R12.OAM.B     R12.1 FWDPRT BUG16958392 TCH12C: ADCFGCLONE.PL FAILURE DUE TO DEPRECATED PARAM
13942692:R12.OAM.B     ADPRECLONE.PL FAILS INTERMITTENTLY ON DB TIER WHILE CHECKING LISTENER STATUS

Other Patches (All releases):

Apply patches as listed in Table 3.c.

Table 3.c: Other Patches

Patch     Description
8246709     Required for Microsoft Windows if using OracleAS 10.1.3.4.
This patch must be re-applied to the OracleAS 10.1.3.4 ORACLE_HOME before every cloning operation.

README for 8246709
Patch Details

One-off shiphome to install win_touch.exe file on top of 10.1.3.1, 10.1.3.2 or 10.1.3.3 or 10.1.3.4

This installs the following missing file into the ORACLE_HOME:

win_touch.exe

Please install this after the 10.1.3.4 patchset install.

Installation Instructions:
1) Unzip the file that was downloaded
2) Copy the win_touch.exe file to the bin directory in the ORACLE_HOME


7. Apply Platform Migration Patches

  • Update the Oracle E-Business Suite file system with the following patches:
    • For Release 12.0:

      Patch

      Description

      6903505:R12.AD.A QRMP:NOT ABLE TO APPLY R12 PLATFORM SPECIFIC PATCH DURING PLATFORM MIGRATION
      6156498:R12.OAM.A MIGRATION: CHANGES NEEDED TO ADCLONECTX.PL SCRIPT
  • For Release 12.1:
    No patches required at this time.We are on 12.1 we skip

 

8. Apply Additional Patches (Conditional)

    • If not already applied, update the Oracle E-Business Suite file system with the following patches:
      • For Release 12.0:

Patch

Description

6767273:R12.AD.A INSTALLING R12.AD.A.DELTA.4 FAILS FOR OFF-CYCLE PRODUCTS (AD)
6742236:R12.TXK.A FORMS FAILS TO LAUNCH USING FIREFOX AND MOZILLA (TXK)

For Release 12.1:

No patches required at this time.

 We are on 12.1 we skip

9. Run AutoConfig on the Source System

Follow the steps under section “Run AutoConfig on the Application Tiers” in My Oracle Support Knowledge Document 387859.1 to Run AutoConfig on all application tier nodes.  

 D:\Oracle\prodcolne\inst\apps\PRODCLONE_qamar\appl\admin>

Copy AutoConfig to the RDBMS ORACLE_HOME
Update the RDBMS ORACLE_HOME file system with the AutoConfig files by performing the following steps:

On the application tier (as the APPLMGR user):
Log in to the APPL_TOP environment (source the environment file)
Create appsutil.zip file
perl %AD_TOP%\bin\admkappsutil.pl
This will create appsutil.zip in <INST_TOP>/admin/out

On the database tier (as the ORACLE user):
Copy or FTP the appsutil.zip file to the <RDBMS ORACLE_HOME>
cd <RDBMS ORACLE_HOME>
unzip -o appsutil.zip

 

cd appsutil/bin

perl adbldxml.pl appsuser=apps appspass=apps jtop=/opt/oracle/db/tech_st/11.1.0/jdk/

su –

cd /
chown -R oracle:oinstall /opt
chmod -R 777 /opt

sh adconfig.sh contextfile=/opt/oracle/db/tech_st/11.1.0/appsutil/PROD_qamar.xml appspass=apps

cd /opt/oracle/db/tech_st/11.1.0/appsutil/scripts/PROD_qamar

./adautocfg.sh

APPS NODE

%AD_TOP%\bin\adchkcfg.cmd contextfile=D:\Oracle\CLONPROD\inst\apps\CLONPROD_source\appl\admin\CLONPROD_source.xml

%inst_top%\admin\scripts

adautoconfig.cmd

 

 

 

10.  Run adpreclone on the Source System  

Execute adpreclone.pl on all the application tiers. Refer to My Oracle Support Knowledge 

$ cd [RDBMS ORACLE_HOME]/appsutil/scripts/[CONTEXT_NAME]  

$ perl adpreclone.pl dbTier

$ cd %INST_TOP%/admin/scripts
$ perl adpreclone.pl appsTier

11. Maintain Snapshot Information


Log in to each application tier node as the applmgr user, and run “Maintain Snapshot information” in AD Administration (adadmin).

12. Identify Technology Stack Updates
If you have applied any patches on the Oracle E-Business Suite Technology Stack you must apply them on the Target System after the migration. At this point, you must identify all the patches applied to the Oracle Application Server 10.1.2 and 10.1.3 ORACLE_HOMEs on the Source System, so they can be applied to the Target System in a later step. 

 

  1. Verify the patch level on the ORACLE_HOMEs by executing the Technology Stack Inventory Utility. This utility will produce an HTML report (or text report if desired). Review any required actions before proceeding with the Applications Technology updates.
  2. Establish the needed environment parameters by sourcing the Applications environment file as the owner of the application tier file system.
  3. Ensure the “APPLRGF” variable is set in environment. If not, set it to the same value as “APPLTMP”.
  4. Navigate to [FND_TOP]/patch/115/bin. Run the utility as follows:
    Operating System Command Line
    UNIX/Linux $ perl $FND_TOP/patch/115/bin/TXKScript.pl
    -script=$FND_TOP/patch/115/bin/txkInventory.pl
    -txktop=$APPLTMP -contextfile=$CONTEXT_FILE
    -appspass=apps
    -outfile=$APPLTMP/Report_Inventory.html
    Windows C:\>perl %FND_TOP%\patch\115\bin\TXKScript.pl
    -script=%FND_TOP%\patch\115\bin\txkInventory.pl
    -txktop=%APPLTMP% -contextfile=%CONTEXT_FILE%
    -appspass=apps
    -outfile=%APPLTMP%/Report_Inventory.html

    Where:

Parameter Usage
txktop Temporary working directory use by Perl Modules. Should not be an empty string.
contextfile Location of the context file. If not passed, default is picked from the environment.
appspass APPS schema password. If not passed, default password is used.
outfile Location for the report being generated. If not passed, the default location is [APPLTMP]/TXK.

To generate the report in text format, the parameter -reporttype=text needs to be passed to the above commands. For example:

$ outfile=$APPLTMP/Report_Inventory.html -reporttype=text

Note: If you upgraded the Technology Stack components to higher versions than those included with the Oracle E-Business Suite Release 12.0.4 or 12.1.1 install media, they will have to be upgraded on the Target System after the migration. Examples could include Oracle Application Server 10.1.3.3 or JDK 1.6. Refer to My Oracle Support Knowledge Document 380482.1 for a list of relevant documents.

perl %FND_TOP%\patch\115\bin\TXKScript.pl -script=%FND_TOP%\patch\115\bin\txkInventory.pl -txktop=%APPLTMP% -contextfile=%CONTEXT_FILE% -appspass=apps -outfile=%APPLTMP%/Report_Inventory.html

 

Section 2: Migration Tasks

The second step of Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1) is Prerequisites

1. Generate and upload the manifest of customer-specific files

    a. Generate customer-specific manifest file:

    Log in to your Source System application tier node as the applmgr user

    and Source the APPL_TOP environment file.

    Execute the following command to generate the customer-specific file manifest:

   

    $ cd [AD_TOP]/bin

    $ perl adgenpsf.pl

   

    The above command will generate the file adgenpsf.txt

    under [APPL_TOP]/admin/[TWO_TASK]/out. This step should take about a minute.

 

    b.Upload Manifest File for generation to target UNIX/Linux platform:

    Go to https://updates.oracle.com/PlatformMigration, log in with your

    My Oracle Support username and password, then follow the instructions

    on the screen to upload the manifest file previously generated.

 

    The migration patch for Linux x86 will be generated using patch 18598233.

    When the migration patch is available, an email will be sent to you

    with the password and instructions on how to download.

 

2.     Copy the Source System to the Target System

 

    Copy the application tier file system from the Source Oracle E-Business Suite system to the Target Node by executing the following steps in the order listed. Make sure the applmgr user owns the files copied to the Target System.

        [APPL_TOP]

        [COMMON_TOP]/clone

        [COMMON_TOP]/java

        [COMMON_TOP]/_pages

        [COMMON_TOP]/webapps

        [COMMON_TOP]/util

 

    Copy only the directories listed, not the full COMMON_TOP.

we use 7 zip software to make tar.gz easily transfer of files in less time

 

    If you want the migrated system to have a new digital signature, remove the file [APPL_TOP]/admin/appltop.cer from the Target System.


3. Skip

4. Copy the Source System Context File to the Target System

5. Clone the Applications Context File on the Target System

s_systemname=PROD

s_dbSid=PROD

s_jdktop=/etc/alternatives/java

s_jretop=/etc/alternatives/java

 

–Change Database PORT and db settings in context file copy from source on target

 

cd [COMMON_TOP]/clone/bin

 

perl adclonectx.pl migrate java=/usr pairsfile=/opt/expimp/pairsfile.txt contextfile=/opt/expimp/PRODCLONE_qamar.xml

 

Log file located at /opt/oracle/apps/apps_st/comn/clone/bin/CloneContext_0416233554.log

contextfile=/opt/oracle/inst/apps/PRODCLONE_qamar/appl/admin/FINCLONE_qamar.xml

Check Clone Context logfile /opt/oracle/apps/apps_st/comn/clone/bin/CloneContext_0416233554.log for details.

 


6.Install the Application Tier Technology Stack

Run the Rapid Install Wizard with the -techstack option to install the Oracle E-Business Suite Technology Stack. Use the Target System context file created in the previous step:

 

–FIRST make direcotires

 

cd /opt/oracle/apps

 

mkdir -p tech_st

 

cd tech_st

 

mkdir -p 10.1.2

 
 

mkdir -p 10.1.3

 

$ cd [Stage12]/startCD

 

— copy patch in startCD

 

unzip -o p6796703_R12_GENERIC.zip

 
 

$ cd [Stage12]/startCD/Disk1/rapidwiz

 

$ ./rapidwiz -techstack

Refer to the Oracle E-Business Suite Installation Guide for more details.

 

Note: Use the latest startCD available. Patch 6796703 For details of the latest startCD Patch for Release 12.0.4 or 12.1.1, refer to the “Current Version of Rapid Install” section in the relevant Oracle E-Business Suite Release Notes available My Oracle Support Knowledge Documents 549389.1 (12.0.4) and 798258.1 (12.1.1).

 
 
 

Click in Applicaiton Technology Stack

 

Click Next

 

Give Path New created context file in last step

 

/opt/oracle/inst/apps/PROD_qamar/appl/admin/PROD_qamar.xml

 

Click Next

 

give

web oracle home

 

/opt/oracle/apps/tech_st/10.1.3

 

toos oracle home

 

/opt/oracle/apps/tech_st/10.1.2

 

click next

 

click yes

 

Click next finish


7.Run AutoConfig setup phase on the Target System

Execute the INSTE8_SETUP phase of AutoConfig with the new context file.

This will create the environment files required for the AutoPatch session:

 

 $ cd /opt/oracle/apps/apps_st/appl/ad/12.0.0/bin

$ ./adconfig.sh run=INSTE8_SETUP contextfile=/opt/oracle/inst/apps/PROD_qamar/appl/admin/PROD_qamar.xml

 

Note: This command does not require the environment to be sourced.

 

Note: If you have chosen to create a new digital signature for the Target System,

the above AutoConfig session may complete with errors: specifically, the adgenjky.sh script fails to generate the appltop.cer file. This can occur because the adjkey executable that this script calls is still specific to Source system. However, the adgenjky script will be executed correctly on the last step of the migration.

8. Download and apply the customer-specific update with AutoPatch

Within 30 minutes from the time you uploaded the manifest file at Step

1b you should receive a notification email stating that your customer-specific update patch is ready. Follow the instructions in the email to download it from My Oracle Support.

The patch should be applied on all Target System Application Nodes. Source the APPL_TOP environment file before applying the patch. AutoPatch will automatically relink the executables.

 

Note: In order to execute AutoPatch successfully on the new platform, you must use the adpatch executable included in this patch instead of the one located in [AD_TOP]/bin.

A compiled adpatch executable for all the supported platforms is included in the ZIP file Patch Directory/ad/patch/115/etc/adpatchR12_AD_A.zip for 12.0 and Patch Directory/ad/patch/115/etc/adpatchR12_AD_B.zip for 12.1. Refer to the README.txt file located in these ZIP files for details on the directory locations for the adpatch executable for your platform.

 

 . /opt/oracle/apps/apps_st/appl/APPSPROD_qamar.env

 
 

unzip p18598233_R12_LINUX.zip

 
 

cd /home/oracle/patches/18598233/ad/patch/115/etc

 

unzip adpatchR12_AD_B.zip

 
 

cd 46

 
 

This patch must be applied as follows

 
 

$ adpatch options=hotpatch,phtofile

 

Note: Executables dependent on third party products (such as ilog, Roguewave, Quantum, SHT) may fail during relinking. This is expected and is addressed in “Section 3: Finishing Tasks”. In such a case, answer “yes” when adpatch asks whether to “Continue as if it were successful”.

9.Review Component Versions and Technology Stack patch level

In Section 1, Step 11 you identified updates applied to your Source System Technology Stack. If any, apply these patches to the Target System technology stack now.

 

 perl $FND_TOP/patch/115/bin/TXKScript.pl -script=$FND_TOP/patch/115/bin/txkInventory.pl -txktop=$APPLTMP -contextfile=$CONTEXT_FILE -appspass=apps -outfile=$APPLTMP/Report_Inventory.html

 

10.Regenerate File System Objects

Source the APPL_TOP environment file and perform the following tasks to regenerate the platform dependent files on the Target System:

 

a.    If migrating an application tier that starts Forms, run the following commands:

  

 

 $ cd /opt/oracle/apps/apps_st/appl/ad/12.0.0/bin

 $ ./adgensgn.sh apps/apps

 
 

b. Run adadmin to generate messages, forms, reports and product jar files.


11.Clean Nodes (Conditional)

If you are migrating into a different machine name, you will need to recreate the Node configuration by completing the following two steps:

 

a.  Run afcpclean.sh in the Target Application Tier.

 

    $ cd /opt/oracle/inst/apps/PROD_qamar/admin/install

 

    $ ./afcpclean.sh apps apps

 

b. Log into the Source Database Tier and run Autoconfig

cd /opt/oracle/db/tech_st/11.1.0/appsutil/scripts/PROD_ae01ofapp01

 

 ./adautocfg.sh

12. Run AutoConfig to complete the Target System configuration

 

$ cd /opt/oracle/apps/apps_st/appl/ad/12.0.0/bin

$ ./adconfig.sh contextfile=/opt/oracle/inst/apps/PROD_qamar/appl/admin/PROD_qamar.xml 

 
 

Section 3: Finishing Tasks OF Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1)

The most important step of Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1) 

This section lists tasks that may be necessary, depending on your implementation and the intended use of the migrated system.

  1. Update Third Party Extensions
    If your Oracle E-Business Suite system is implementing any products which use ilog, RogueWave, Quantum or SHT, you will need to update the Target System with the objects for the third party extensions, then relink any dependent products.

     

    Third Party Software Action Needed
    ilog Apply Patch 10135606 and relink dependent executables.
    RogueWave Apply Patch 10135608 and relink dependent executables.
    Quantum Follow instructions in My Oracle Support Knowledge Document 224273.1 Document 224273.1.
    Application Shared Technology (SHT) Apply Patch 10135610 and relink dependent executables
  2. Review and update Target System Application Tier Settings and Customizations
    Recompile any custom code (forms, C) in the Target System APPL_TOP.If you were using Oracle Discoverer 10.1.2, OID, SSO or Portal 10g on the Source System, refer to the corresponding documentation to complete the migration:

     

    Product Documentation
    Oracle Discoverer 10.1.2 My Oracle Support Knowledge Document 373634.1.
    Oracle Internet Directory (OID) and Oracle Single Sign-On (SSO) My Oracle Support Knowledge Document 376811.1.
    Oracle Portal 10g My Oracle Support Knowledge Document 380484.1.

    Note: Refer to My Oracle Support Knowledge Document 380482.1 for documents relating to other Technology Stack components.

  3. Update printer settings
    If the newly migrated system needs to utilize different printers, update the target system with the new printer settings now.
  4. Update Oracle Workflow configuration settings
    Migrating an Oracle E-Business Suite instance will not update the host and instance specific information used by Oracle Workflow. Review the following tables and columns to verify there is no instance specific data in the Workflow configuration on the Target System.

     

    Table Name Affected Column(s) Column Value Action Needed
    WF_NOTIFICATION_ATTRIBUTES TEXT_VALUE Value starts with http://[old web host] : Update to new web host
    WF_ITEM_ATTRIBUTE_VALUES TEXT_VALUE Value starts with http://[old web host] : Update to new web host
    WF_SYSTEMS GUID Create a new system defined as new global database name, via Workflow Administrator Web Applications responsibility.
    NAME Replace value with database global name
    WF_AGENTS ADDRESS Update database link with new database global name.
    FND_FORM_FUNCTIONS WEB_HOST_NAME Update with new web host name
    WEB_AGENT_NAME Update to point to new PL/SQL listener name
    FND_CONCURRENT_REQUESTS LOGFILE_NAME Update with the correct path to  logfile directory
    OUTFILE_NAME Update with the new directory path on Target System
  5. Verify the APPLCSF variable setting
    Source the APPS environment and review that the variable APPLCSF (identifying the top-level directory for concurrent manager log and output files) points to a suitable directory. To modify it, change the value of the s_applcsf variable in the context file and then run AutoConfig.
  6. Update the SESSION_COOKIE_DOMAIN value in ICX_PARAMETERS
    If the Target System is in a different domain name than the Source System and SESSION_COOKIE_DOMAIN was not null in the Source System, update that value to reflect the new domain name.
  7. Start all services on the Target System
    Start all services by running the script:

     

    $ cd [INST_TOP]/admin/scripts
    $ ./adstrtal.sh [Apps User] / [Apps Password]

    We have completed

    Application Tier Platform Migration with Oracle E-Business Suite Release 12 (Doc ID 438086.1).

If you like this post you can read one of the most important blogs of Oracle Clonning 

 

 

About the author

admin

6 Comments

  • I’m impressed, I have to admit. Genuinely rarely should i encounter a weblog that’s both educative and entertaining, and let me tell you, you may have hit the nail about the head. Your idea is outstanding; the problem is an element that insufficient persons are speaking intelligently about. I am delighted we came across this during my look for something with this.

  • I was just seeking this information for a while. After six hours of continuous Googleing, at last I got it in your site. I wonder what’s the lack of Google strategy that do not rank this kind of informative websites in top of the list. Generally the top websites are full of garbage.

  • As I web-site possessor I believe the content material here is rattling magnificent , appreciate it for your hard work. You should keep it up forever! Best of luck.

Leave a Reply

%d bloggers like this: