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’.