Please enable JavaScript to view this site.

Invantive Estate

Navigatie: Invantive Estate > Installatie Server > Omgeving Dupliceren

Omgeving Dupliceren met een Schema Export

Inhoud Vorige Home Volgende More

Een omgeving dupliceren met een schema export maakt het mogelijk om de namen van de betrokken schema's te wijzigen.

Voer de volgende stappen uit om een omgeving te kopieren, bijvoorbeeld door productie te kopieren naar test:

Maak een configuratiebestand.

Maak de gebruikers en tablespaces aan met bubs_create.bat.

Installeer de omgeving van Invantive Estate tot de instantiate objects als de doelomgeving de eerste keer gebruikt wordt.

Exporteer de data naar een bestand met de statements:

 

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8

exp userid=pbubs/pbubs@orcl buffer=1000000 file=pbubs.dmp grants=no log=pbubs_exp.log consistent=yes

 

Controleer in de eerste tien regels van het logbestand dat geen conversie van karakters tussen karaktersets heeft plaatsgevonden.

Stop Microsoft IIS en Apache Tomcat voor de doelomgeving.

Maak de doelomgeving leeg: verwijder alle oude tabellen, sequences, views, functies, procedures, triggers en packages.

Lees het bestand in onder de nieuwe omgeving op basis van een export gemaakt als de eigenaar van de applicatie zelf:

 

set NLS_LANG=AMERICAN_AMERICA.AL32UTF8

imp userid=tbubs/tbubs@orcl buffer=1000000 file=pbubs.dmp log=imp_bubs.log full=y ignore=y

 

Controleer dat alle objecten geldig zijn en dat de tellingen qua aantallen objecten tussen beide omgevingen kloppen, bijvoorbeeld met de volgende query:

 

select owner

,      count(*)

,      object_type

,      status

from   dba_objects

where  owner like '%BUBS'

group

by     owner

,      object_type

,      status

/

 

Kopieer de rechten door het volgende script te draaien als de Invantive Estate applicatie-eigenaar (in dit voorbeeld pbubs). Vervang wel eerst OUD en NIEUW door de juiste schemanamen:

 

set pages 0

set feedback off

set lines 500

set trimspool on

spool grt.sql

select replace

      ( replace

        ( 'grant '

          || privilege

          || ' on '

          || table_name

          || ' to '

          || grantee

          || ';'

        , 'OUD'

        , 'NIEUW'

        )

      , 'OUDITGEN'

      , 'NIEUWITGEN'

      )

      txt

from   user_tab_privs

where  1=1

and    grantee <> 'OUD'

/

spool off

exit

 

Meld je vervolgens aan als de nieuwe Invantive Estate applicatie-eigenaar NIEUW onder Oracle SQL*Plus en voer het script uit:

 

connect NIEUW@orcldb01

@grt

 

Voeg de nodige synoniemen toe onder Oracle SQL*Plus:

 

connect NIEUW_tomcat@DATABASEID

begin

 <BUBS OWNER>.bubs_maintain_my_synonyms('<BUBS OWNER>');

end;

 

Kopieer tenslotte de software uit de Tomcat webapps boom naar de doelserver:

 

cd /opt/tomcat/webapps

mv bubstarget /tmp/bubstarget

cp -pr bubssource bubstarget

 

Vergeet niet om in site.properties de juiste wachtwoorden op te voeren en de URLs aan te passen. Zie Site.properties.

Herstart Invantive Estate:

 

/etc/init.d/bubs3 restart

 

Open de applicatie als gebruiker ‘system’.

Wijzig in de Instellingen de omschrijving van de omgeving.

Pas de profielopties aan.

Wijzig in het scherm financiële Administraties de administraties waar gegevens uit geladen worden.

Wijzig eventueel de wachtwoorden van alle gebruikers met een SQL update:

 

connect NIEUW_tomcat@DATABASEID

 

begin

 bubs_session.set_session_info(null, null, 'system', null, null, null, null);

end;

/

 

update bubs_gebruikers_v

set    gbr_wachtwoord='test'

where  gbr_wachtwoord is not null

/

commit

/

 

Verwijder alle documenten uit de documentenmap van de doelomgeving.

Kopieer de documenten uit de documentenmap van de bronomgeving naar de doelomgeving.

Koppel de documenten aan de nieuwe directory:

 

update bubs_documenten_v

set    dct_bestandsinhoud=bfilename('<NIEUW_DCT>', bubs_get_bfile_filename(dct_bestandsinhoud))

where  bubs_get_bfile_directory(dct_bestandsinhoud) <> '<NIEUW>_DCT'

and    dct_bestand_url is null

/

commit

/

 

Werk de licentie bij als gebruiker ‘system’.