Hozzászólások
A nagybetus resznel a sorvegeken erdekes, hogy hol van vesszo es hol nincs. A pld.-ban ha nem tevedek, ahol kell ott van, ahol nem kell, ott nincs. Mondjuk a maxdatafiles sor kimaradhat, ha nincs sok files.
- A hozzászóláshoz be kell jelentkezni
[quote:a8687420de="sancy"]A nagybetus resznel a sorvegeken erdekes, hogy hol van vesszo es hol nincs. A pld.-ban ha nem tevedek, ahol kell ott van, ahol nem kell, ott nincs. Mondjuk a maxdatafiles sor kimaradhat, ha nincs sok files.
Linux es az Oracle csak a 9-es verziotol tud nagyobbat letrehozni mint 2GB-s dbf file.
- A hozzászóláshoz be kell jelentkezni
[quote:c0b72a7460="mocsi"][quote:c0b72a7460="sancy"]A nagybetus resznel a sorvegeken erdekes, hogy hol van vesszo es hol nincs. A pld.-ban ha nem tevedek, ahol kell ott van, ahol nem kell, ott nincs. Mondjuk a maxdatafiles sor kimaradhat, ha nincs sok files.
Linux es az Oracle csak a 9-es verziotol tud nagyobbat letrehozni mint 2GB-s dbf file.
Ez tévedés. Már korábban is lehetett nagyobb file-okat létrehozni.
Akkor a lényegre.
Van egy forrás adatbázisod. A SID-je pl: PRD
Ezt egy az egyben le akarod másolni egy másik gépra mondjuk TST SID-el.
Akkor: Belépsz a PRD-be. Az épen fut. Kiadod az :
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
Ez a parancs generál egy SQL command file-t. Leteszi az init-file-ban definiált user_dump könyvtárba. ( megtudhatod így: select * from v$parameter where name = 'user_dump_dest'; )
Ezután leállítod a célrendszeren az adatbázist. Letörlöd az összes adatfile-t, az összes controlfile-t és az összes online log filet.
Ezután az összes adatfile-t átmásolod a célgépre. (természetesen leállított adatbázis mellett). A controlfile-okat és az online logfile-okat NEM MÁSOLOD ÁT!!!! Ha az adatfile-ok ottvannak, akkor átmásolod a generált sql parancsfile-t. Megeditálod a következő képpen:
Ezt:
"CREATE CONTROLFILE REUSE DATABASE "PRD" NORESETLOGS ARCHIVELOG"
Erre javítod át:
"CREATE CONTROLFILE SET DATABASE "TST" RESETLOGS ARCHIVELOG"
Ha változik az adatfile-ok elérési útja akkor a script további részében ezt értelemszerűen változtasd meg.
A végén a RECOVER DATABASE utáni részt letörlöd.
Nevezd át a file createControl.sql-re. Irány a svrmgrl, vagy az sqlplus (verziófüggő) és @createControl. Fontos, hogy ne legyen egy controlfile sem meg a régiek közül (egyik sem, ami az init-fileban definiálva van)
Ha lefut, akkor:
ALTER DATABASE OPEN RESETLOGS
Ez legenerálja az üres online logfileokat és megnyitja az adatbázist.
Ennyi!!!!!
Sok sikert.
- A hozzászóláshoz be kell jelentkezni
Kosz! Most tudok csak nekifutni Bizom benne hogy a leirasotok alapjan menni fog:)
- A hozzászóláshoz be kell jelentkezni
[quote:1cbe3f5830="LeoALo"]
Ez tévedés. Már korábban is lehetett nagyobb file-okat létrehozni.
Haaaat nekem nem ment, se SQL-en se DBAssist-on keresztul, bar lehet, hogy te jobban tudod. En csak a 8.1.7.-nel probaltam utoljara.
- A hozzászóláshoz be kell jelentkezni
[quote:1137cac054="LeoALo"][quote:1137cac054="mocsi"][quote:1137cac054="sancy"]A nagybetus resznel a sorvegeken erdekes, hogy hol van vesszo es hol nincs. A pld.-ban ha nem tevedek, ahol kell ott van, ahol nem kell, ott nincs. Mondjuk a maxdatafiles sor kimaradhat, ha nincs sok files.
Linux es az Oracle csak a 9-es verziotol tud nagyobbat letrehozni mint 2GB-s dbf file.
Ez tévedés. Már korábban is lehetett nagyobb file-okat létrehozni.
Akkor a lényegre.
Van egy forrás adatbázisod. A SID-je pl: PRD
Ezt egy az egyben le akarod másolni egy másik gépra mondjuk TST SID-el.
Akkor: Belépsz a PRD-be. Az épen fut. Kiadod az :
ALTER DATABASE BACKUP CONTROLFILE TO TRACE;
Ez a parancs generál egy SQL command file-t. Leteszi az init-file-ban definiált user_dump könyvtárba. ( megtudhatod így: select * from v$parameter where name = 'user_dump_dest'; )
Ezután leállítod a célrendszeren az adatbázist. Letörlöd az összes adatfile-t, az összes controlfile-t és az összes online log filet.
Ezután az összes adatfile-t átmásolod a célgépre. (természetesen leállított adatbázis mellett). A controlfile-okat és az online logfile-okat NEM MÁSOLOD ÁT!!!! Ha az adatfile-ok ottvannak, akkor átmásolod a generált sql parancsfile-t. Megeditálod a következő képpen:
Ezt:
"CREATE CONTROLFILE REUSE DATABASE "PRD" NORESETLOGS ARCHIVELOG"
Erre javítod át:
"CREATE CONTROLFILE SET DATABASE "TST" RESETLOGS ARCHIVELOG"
Ha változik az adatfile-ok elérési útja akkor a script további részében ezt értelemszerűen változtasd meg.
A végén a RECOVER DATABASE utáni részt letörlöd.
Nevezd át a file createControl.sql-re. Irány a svrmgrl, vagy az sqlplus (verziófüggő) és @createControl. Fontos, hogy ne legyen egy controlfile sem meg a régiek közül (egyik sem, ami az init-fileban definiálva van)
Ha lefut, akkor:
ALTER DATABASE OPEN RESETLOGS
Ez legenerálja az üres online logfileokat és megnyitja az adatbázist.
Ennyi!!!!!
Sok sikert.
Eloszor is Kosz ugy nez ki mux..
2. masik csatornarol is kaptam infot....
3. voltak sajna dolgok amiket nem jol alitottak be aztan (pl.:lang) ennek ismerete nelkul nagy szivacs lett volna...
amugy az ora 9.2 koruli verzio
de a Te leirasod is nagyon sokat segitet!
Koszontem!
- A hozzászóláshoz be kell jelentkezni
Nincsmit. Ha valami gond van menet közben, sikíts! mondjuk ide: lbuday@freemail.hu
Csináltam már pár ilyet és most hétvégén is le kell másolni egy 400 GB-os kicsikét :roll:
- A hozzászóláshoz be kell jelentkezni
Hello all!
Van 2 db RHES szerverem amin Oracle db -k futnak
Egy eles + 1 teszt.
Az elesbol at kellene szinkronizali adatokat a tesztre....
Az rsync es resz mar megvolt, de ugyabar a tesztnek mas lesz a SID -je ...kontrolfilet kell generalni, stb...
Errol nem tudna valaki valami magyarnyelvu leirassal megdobni??? mert ami egyeb supportot kapok az sovany vigasz a ( rendszerunket szallito cegtol)....:(
Elore is kosz a segitseget.
Foci
- A hozzászóláshoz be kell jelentkezni
Melyik verzioju Oracle-rol van szo? 9.2-tol lehet szepen cluster-ezgetni, vagy replog-ozni, da ha ezzel nem akarsz tokoreszni, mert minek a teszt-nel, akkor az rsync-nek siman kell mennie, ha mindket gep arhitekturaja ugyanaz.
Semmi sem valtozik, csak eleg ha az oracle programot es az adatbazis file-okat szepen ugyanabba a strukturaban atmasoltam geprol-gepre (ilyenkor minden megy, control file, redo, rbs, datafile, replog stbstb). Amit modositottam utolag az az user-ek jelszava, nehogy veletlenul is az eles gepre csatlakozva valamit csinaljanak. Jha es persze a tnsnames.ora-ban maskepp hivjak a tesztekett mint az eleseket.
- A hozzászóláshoz be kell jelentkezni
Mas arhitektura kozott meg csak a exp/imp a hivatalos szinkornizalas.
- A hozzászóláshoz be kell jelentkezni
En a replikacios szolgaltatassal probalkoznek, mert az a legtisztabb.
Ha nem megy, akkor egy kicsit reszelosen, snapshot szeruen, de teszt dbhez jo (regen csinaltam valami ilyesmit, szoval lehet hogy valamit kihagyok):
- Hozd letre az uj adatbazist
- az uj adatbazisban kezzel hozd letre a szoban forgo tablespacekat es semakat plusz adj nekik dba role-t.
- csinalj az eredeti adatbazison egy dumpot a szukseges semarol
- importald be az ujba
- szedd le a dba role-t
Ha nagyon kell utanaturhatok egy par scriptnek amit irtam anno, de remelem enelkul is megy ;-)
- A hozzászóláshoz be kell jelentkezni
resetelni kell !!!!
pld.: ( nem egeszen linux alol, de a lenyeg latszik.
Az "ora_db:" helyett a path. Ez pont 9.2, azt hiszem
8.1... kornyeken a temp is a datafile kozt kell )
(VMS alol van a pld., ezert keveredik a bagy/kisbetu)
$ sqlplus/nolog
connect /as sysdba
startup nomount
create controlfile reuse
set database <sid>
LOGFILE 'ORA_DB:REDO01.RDO' size 400M reuse,
'ORA_DB:REDO02.RDO' size 400M reuse,
'ORA_DB:REDO03.RDO' size 400M reuse
RESETLOGS
DATAFILE 'ORA_DB:T01.DBF' size 8192M,
'ORA_DB:L01.DBF' size 2048M,
'ORA_DB:IND01.DBF' size 8192M,
'ORA_DB:SYSTEM01.DBF' size 2048M,
'ORA_DB:RB01.DBF' size 16384M,
'ORA_DB:DATA01.DBF' size 8192M,
'ORA_DB:DATA02.DBF' size 8192M,
'ORA_DB:UNDO01.DBF' size 4096M
MAXDATAFILES 48
CHARACTER SET EE8ISO8859P2;
ALTER DATABASE OPEN RESETLOGS;
ALTER TABLESPACE TEMP ADD TEMPFILE
'ORA_DB:TEMP01.DBF' REUSE;
$
- A hozzászóláshoz be kell jelentkezni