Új hozzászólás Aktív témák
-
lakisoft
veterán
Más lesz a gond?
Mely config fileok kellenek az adatbázis működéséhez?
listener.ora és tnsnames.ora elég vagy kell az sqlnet.ora is?
Server: Oracle Enterprice Linux 6 update 5 64 bit
Client: Windows 7 32 bit# listener.ora Network Configuration File:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = PLSExtProc)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/xe)
(PROGRAM = extproc)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
(ADDRESS = (PROTOCOL = TCP)(HOST = hostnév)(PORT = 1521))
)
)
DEFAULT_SERVICE_LISTENER = (XE)# tnsnames.ora Network Configuration File:
XE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = hostnév)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC_FOR_XE))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)[ Szerkesztve ]
-
lakisoft
veterán
Gondolom ez nem teljesen jó így .
./lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 29-JUL-2014 11:53:52
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Message 1053 not found; No message file for product=network, facility=TNSMessage 1020 not found; No message file for product=network, facility=TNSMessage 1021 not found; No message file for product=network, facility=TNSMessage 1022 not found; No message file for product=network, facility=TNSMessage 1023 not found; No message file for product=network, facility=TNSMessage 1026 not found; No message file for product=network, facility=TNSMessage 1034 not found; No message file for product=network, facility=TNSMessage 1024 not found; No message file for product=network, facility=TNSMessage 1025 not found; No message file for product=network, facility=TNSMessage 1040 not found; No message file for product=network, facility=TNSMessage 1422 not found; No message file for product=network, facility=TNSMessage 1033 not found; No message file for product=network, facility=TNSMessage 1028 not found; No message file for product=network, facility=TNSMessage 1415 not found; No message file for product=network, facility=TNS Message 1050 not found; No message file for product=network, facility=TNS
Message 1050 not found; No message file for product=network, facility=TNS
Message 1050 not found; No message file for product=network, facility=TNS
Message 1029 not found; No message file for product=network, facility=TNSMessage 1411 not found; No message file for product=network, facility=TNS
Message 1408 not found; No message file for product=network, facility=TNS
Message 1411 not found; No message file for product=network, facility=TNS
Message 1408 not found; No message file for product=network, facility=TNS
Message 1411 not found; No message file for product=network, facility=TNS
Message 1408 not found; No message file for product=network, facility=TNS
Message 1052 not found; No message file for product=network, facility=TNS./tnsping
TNS Ping Utility for Linux: Version 11.2.0.2.0 - Production on 29-JUL-2014 11:57:10
Copyright (c) 1997, 2011, Oracle. All rights reserved.
TNS-03502: Message 3502 not found; No message file for product=network, facility=TNS
-bash-4.1$ ./trcroute
Trace Route Utility for Linux: Version 11.2.0.2.0 - Production on 29-JUL-2014 11:57:31
Copyright (c) 1995, 2011, Oracle. All rights reserved.
TNS-03602: Message 3602 not found; No message file for product=network, facility=TNS
-bash-4.1$[ Szerkesztve ]
-
lakisoft
veterán
-bash-4.1$ ./lsnrctl start
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 29-JUL-2014 11:59:39
Copyright (c) 1991, 2011, Oracle. All rights reserved.
TNS-01106: Message 1106 not found; No message file for product=network, facility=TNS [LISTENER]viszont:
-bash-4.1$ ps -ef | grep oracle
root 13205 13022 0 11:36 pts/1 00:00:00 su - oracle
oracle 13206 13205 0 11:37 pts/1 00:00:01 -bash
oracle 13365 1 0 11:41 ? 00:00:00 xe_pmon_XE
oracle 13367 1 0 11:41 ? 00:00:00 xe_psp0_XE
oracle 13369 1 0 11:41 ? 00:00:01 xe_vktm_XE
oracle 13373 1 0 11:41 ? 00:00:00 xe_gen0_XE
oracle 13375 1 0 11:41 ? 00:00:00 xe_diag_XE
oracle 13377 1 0 11:41 ? 00:00:00 xe_dbrm_XE
oracle 13379 1 0 11:41 ? 00:00:00 xe_dia0_XE
oracle 13381 1 0 11:41 ? 00:00:00 xe_mman_XE
oracle 13383 1 0 11:41 ? 00:00:00 xe_dbw0_XE
oracle 13385 1 0 11:41 ? 00:00:00 xe_lgwr_XE
oracle 13387 1 0 11:41 ? 00:00:02 xe_ckpt_XE
oracle 13389 1 0 11:41 ? 00:00:02 xe_smon_XE
oracle 13391 1 0 11:41 ? 00:00:00 xe_reco_XE
oracle 13393 1 0 11:41 ? 00:00:02 xe_mmon_XE
oracle 13395 1 0 11:41 ? 00:00:00 xe_mmnl_XE
oracle 13397 1 0 11:41 ? 00:00:00 xe_d000_XE
oracle 13399 1 0 11:41 ? 00:00:00 xe_s000_XE
oracle 13401 1 0 11:41 ? 00:00:00 xe_s001_XE
oracle 13403 1 0 11:41 ? 00:00:00 xe_s002_XE
oracle 13405 1 0 11:41 ? 00:00:00 xe_s003_XE
oracle 13475 1 0 11:44 ? 00:00:03 xe_vkrm_XE
oracle 13477 1 0 11:45 ? 00:00:00 xe_qmnc_XE
oracle 13479 1 0 11:45 ? 00:00:00 xe_q000_XE
oracle 13481 1 0 11:45 ? 00:00:00 xe_q001_XE
oracle 13496 1 0 11:45 ? 00:00:00 xe_cjq0_XE
oracle 13568 1 0 11:49 ? 00:00:00 /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr LISTENER -inherit
oracle 13582 1 0 11:50 ? 00:00:00 xe_smco_XE
oracle 13733 1 0 12:00 ? 00:00:00 xe_w000_XE
oracle 13772 13206 2 12:01 pts/1 00:00:00 ps -ef
oracle 13773 13206 0 12:01 pts/1 00:00:00 grep oracle -
bpx
őstag
válasz lakisoft #653 üzenetére
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export PATH=$ORACLE_HOME/bin:$PATH
lsnrctl statusAz ORACLE_HOME-ot be kell állítani, azon belül vannak azok a fájlok, amelyben a hibakódok és szöveges leírásuk vannak összemappelve. A TNS-1106 egyébként azt jelenti, hogy fut már ilyen nevű listener, így nem tudja elindítani.
XE-nél van ilyen is:
/etc/init.d/oracle-xe status
Az adatbázis működéséhez egyébként nem kell listener.ora, tnsnames.ora, sqlnet.ora.
Viszont érdekelne, hogy hogyan próbálkozol SQL Developerből, és milyen hibaüzenet kapsz, mert amit írtál, nem áll össze, ORA-1031 helyett TNS-12528-at kellett volna kapnod már ott is, ha az adatbázis eddig is ebben az állapotban volt, mint amit délelőtt írtál.
-
lakisoft
veterán
lsnrctl status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 29-JUL-2014 12:17:41
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 29-JUL-2014 11:49:34
Uptime 0 days 0 hr. 28 min. 7 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostnév)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostnév)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfullyrun as oracle user:
/etc/init.d/oracle-xe status
You must be root user to run the configure script. Login as root user and
then run the configure script.run as root user:
/etc/init.d/oracle-xe status
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 29-JUL-2014 12:21:10
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 11.2.0.2.0 - Production
Start Date 29-JUL-2014 11:49:34
Uptime 0 days 0 hr. 31 min. 37 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Default Service XE
Listener Parameter File /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/oracle/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC_FOR_XE)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostnév)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=hostnév)(PORT=8080))(Presentation=HTTP)(Session=RAW))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "XE" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
Service "XEXDB" has 1 instance(s).
Instance "XE", status READY, has 1 handler(s) for this service...
The command completed successfully[ Szerkesztve ]
-
sutszi
veterán
Játék a típusokkal...
Szóval úgy kezdődött, hogy adott két rekord típusom egy package-ben. Mindkettő kölcsönösen tartalmazza a másikat, vagyis csak tartalmazná mert PL/Sql ugye nem engedi...
Aztán találtam egy olyat, hogy Forward Type Definition...Pl:
create type employee as object(
num integer,
dept Ref department
);illetve
create type department as object(
num integer,
emp Ref employee
);Ennek jól megörültem mert működik. Itt jött a probléma.
Akartam csinálni egy ilyet:
create type department as object(
num integer,
emp Ref employee,
myfield mypackage.mytype
);A típus létezik, és a csomag is valid. Azonban mégis azt írja, hogy ez a típus nincs deklarálva.
( a department type természetesen drop-ot kapott és tiszta lappal indítva próbáltam meg újra létrehozni.)
Tud erre valaki valamit? Vagy egyáltalán két típus egymásban felhasználhatóságát..?
[ Szerkesztve ]
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
bpx
őstag
Olyat szeretnél, amit nem lehet. A 10.1-es doksiban egyértelműen le van írva konkrétan ez, hogy nem lehetséges:
http://docs.oracle.com/cd/B14117_01/appdev.101/b10807/10_objs.htm#i7523
The datatype can be any Oracle type except:
...
- Types defined inside a PL/SQL packageAz újabbakban már cifrázták kicsit:
http://docs.oracle.com/database/121/LNPLS/create_type.htm#LNPLS1652
The data type of an ADT attribute. This data type must be stored in the database; that is, either a predefined data type or a user-defined standalone collection type.
http://docs.oracle.com/database/121/LNPLS/composites.htm#LNPLS354
A collection type defined at schema level is a standalone type. You create it with the "CREATE TYPE Statement".
Tehát vagy predefined típusok, vagy általad definiált standalone kollekció.
-
sutszi
veterán
Ó....basszus... Délután már néztem ezt a doksit, de valahogy átsiklottam az "...except..." szó fölött. Értetlenkedtem is magamban...
Köszi az info-t.
Sajnos így ki kell találnom valami más utat...
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
lakisoft
veterán
Ha ezek beállítom, akkor minden okés, de újraindítás után újra nem tudok kapcsolódni a szerverhez.
Ez lehet a gond, hogy a környezeti változók nincsenek benne a bashrc-ben?Másik kérdés:
daemon 19942 0.0 1.2 217312 13008 ? Ssl 03:38 0:00 /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr LISTENER -inherit
Ez így jó? nem az oracle usernek kellene ezt is futtatnia?
[ Szerkesztve ]
-
lakisoft
veterán
válasz lakisoft #661 üzenetére
./lsnrctl start
LSNRCTL for Linux: Version 11.2.0.2.0 - Production on 04-AUG-2014 04:24:17
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Starting /u01/app/oracle/product/11.2.0/xe/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 11.2.0.2.0 - Production
System parameter file is /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/oracle/listener/alert/log.xml
Error listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC_FOR_XE)))
TNS-12555: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00525: Insufficient privilege for operation
Linux Error: 1: Operation not permitted
Listener failed to start. See the error message(s) above...
bash-4.1$ less /u01/app/oracle/product/11.2.0/xe/log/diag/tnslsnr/oracle/listener/alert/log.xml
bash-4.1$ ls -la /u01/app/oracle/product/11.2.0/xe/network/admin/*
-rwxr-xr-x. 1 oracle dba 439 Jul 21 11:20 /u01/app/oracle/product/11.2.0/xe/network/admin/listener.ora
-rwxr-xr-x. 1 oracle dba 426 Jul 21 11:20 /u01/app/oracle/product/11.2.0/xe/network/admin/tnsnames.oraMegint gond van. .
-
bpx
őstag
válasz lakisoft #662 üzenetére
de, oracle-ként kellene futnia
az automatikus indulás nem használ .bashrc-t vagy ilyesmit, szép is lenne
az /etc/init.d/oracle-xe az induláshoz használt script
ebben pl. az ORACLE_OWNER változó mondja meg, hogy kinen a nevében fusson a listener + adatbázis, szóval megnézném hogy került oda a daemon
a fenti listeneres hibát is tipikusan az okozza, hogy különböző userek próbálják meg ugyanazt a listenert matatni -
lakisoft
veterán
válasz lakisoft #664 üzenetére
less /etc/init.d/oracle-xe:
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export ORACLE_BASE=/u01/app/oracle
export PATH=$ORACLE_HOME/bin:$PATH
LSNR=$ORACLE_HOME/bin/lsnrctl
SQLPLUS=$ORACLE_HOME/bin/sqlplus
ORACLE_OWNER=oracle
LOG="$ORACLE_HOME_LISTNER/listener.log" -
fapuskapa
csendes tag
Sziasztok!
Segítséget szeretnék kérni tőletek adatbázismentés tesztelésében.
Minden éjszaka lefut egy Enterprise Managerben beállított teljes mentés. Ezt sikerült már tesztelnem, adatbázisfájlok törlése után sikerült azokat visszaállítanom az eredeti szerveren.
Most szeretnék egy disaster recoveryt is kipróbálni egy virtuális gépen, egy általam telepített Oracle adatbázisszerveren. RMAN-al sikerült visszaállítanom az SPFILE-t, control fájlokat és adatbázisfájlokat, viszont eddig nem voltam képes ezeket működőképessé tenni.Tudna valaki segíteni egy folyamatleírással, esetleg egy linkkel?
Üdv: Laci
-
bpx
őstag
válasz fapuskapa #667 üzenetére
Restoring a Database on a New Host
Mivel egy részét már megcsináltad, azt is leírhatnád, hogy eddig mit csináltál, és hol nem tudsz tovább menni.
-
fapuskapa
csendes tag
Átolvastam a leírást és korábban elkövettem azt a hibát, hogy FROM paraméterrel hivatkoztam a mentések fájljaira a RESTORE parancsban.
Ha követem a leírást, szerintem nem sikerül az autobackup-ok helyét definiálnom.Kiadott parancsok:
% rman NOCATALOG
RMAN> CONNECT TARGET /
SET DBID 0000000000;
STARTUP NOMOUNT
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE DISK;
SET CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u03/backup/online_backup/dbsid/%F';
RESTORE SPFILE TO PFILE '/u03/recovery/initdbsid.ora' FROM AUTOBACKUP;
SHUTDOWN ABORT;
}Output:
felszabadított csatorna: ORA_DISK_1
kiosztott csatorna: c1
c1 csatorna: SID=19, eszköztípus=DISKparancs végrehajtása: SET CONTROLFILE AUTOBACKUP FORMAT
restore indítása 2014/08/04 helyen
Helyreállítási terület célja: /u01/app/oracle/flash_recovery_area
a kereséshez használt adatbázisnév (vagy egyedi adatbázisnév): DBSID
c1 csatorna: nem található automatikus biztonsági másolat a helyreállítási területen
c1 csatorna: a vezérlőfájl 20140804 napi automatikus biztonsági másolatának keresése
c1 csatorna: a vezérlőfájl 20140803 napi automatikus biztonsági másolatának keresése
c1 csatorna: a vezérlőfájl 20140802 napi automatikus biztonsági másolatának keresése
c1 csatorna: a vezérlőfájl 20140801 napi automatikus biztonsági másolatának keresése
c1 csatorna: a vezérlőfájl 20140731 napi automatikus biztonsági másolatának keresése
c1 csatorna: a vezérlőfájl 20140730 napi automatikus biztonsági másolatának keresése
c1 csatorna: a vezérlőfájl 20140729 napi automatikus biztonsági másolatának keresése
c1 csatorna: nem található 7 napon belül készelt automatikus biztonsági másolat
felszabadított csatorna: c1
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: hiba a(z) restore parancsban a(z) 08/04/2014 20:31:16 helyen
RMAN-06172: nem található AUTOBACKUP, vagy a megadott leíró nem érvényes másolatra vagy parcellára mutatHol lehet hiba?
[ Szerkesztve ]
-
bpx
őstag
-
fapuskapa
csendes tag
Backup fájlok helye: /u03/backup/online_backup/dbsid
Fájlnevek:
-rwxrwxrwx. 1 oracle oinstall 6598336512 Aug 1 18:32 hlpeshe3_1_1
-rwxrwxrwx. 1 oracle oinstall 9863168 Aug 1 18:32 hmpeshhn_1_1
-rwxrwxrwx. 1 oracle oinstall 1982173184 Aug 1 18:33 hnpeshhq_1_1
-rwxrwxrwx. 1 oracle oinstall 9830400 Aug 1 18:33 hopeshjr_1_1A 7 napba még belefér. Viszont elég érdekes fájlnevek, de a megfelelő adatokat tartalmazza.
-
lakisoft
veterán
Ennyi van itt:
less rc.d/init.d | grep oracle
-rwxr-xr-x. 1 root root 19592 Aug 29 2011 oracle-xe*
A listener nem indul el automatikusan. Ez létezik?Más: Az apexhez mit kell beállítani hogy működjön?
Ezzel próbálkoztam, de nem sikerült belőni.
1) Install Oracle 11g with embedded pl/sql gateway ------------OK
2) Run apxconf.sql ----------------------------------------------------------OK
3) ALTER USER ANONYMOUS ACCOUNT UNLOCK;--------OK
4) Enabling Oracle XML DB HTTP Server. --------------------------OK
5) Run application.(http://user:8080/apex/f?p=102:2) -----------OK
6) Access application from other pc(http://user:8080/apex/f?p=102:2)[ Szerkesztve ]
-
bpx
őstag
válasz fapuskapa #672 üzenetére
Ok, de ezek között nincs controlfile autobackup, ez ránézésre látszik. A controlfile autobackupnak saját rögzített formátuma van (%F - c-DBID-datum-sequence), ezek sima %U-s formattal készített backupok.
A méretükből ítélve a hmpeshhn_1_1 és hopeshjr_1_1 tűnik controlfile backupnak. A hlpeshe3_1_1 gondolom az adatbázis fájljait tartalmazza. Aztán mivel nincs controlfile autobackup, ilyenkor implicit módon történik egy controlfile mentés az adatfájlok mentése után, gondolom ez a hmpeshhn_1_1. Online mentés, az archivelogokat is menteni kell, arra tippelek, hogy azok lehetnek a hnpeshhq_1_1-ban. Végül hogy használható legyen a mentés, kell egy controlfile backup a legvégén, ez lehet a hopeshjr_1_1.
Ha a fenti igaz, akkor nincs autobackup, sem spfile backup.
Én átmásolnám az spfile-t a meglévő adatbázisról, vagy összeraknék egy minimális pfile-t az új gépen. Ha ez megvolt, akkor mehet a STARTUP NOMOUNT. Utána RMAN-ban:
restore controlfile from '/u03/backup/online_backup/dbsid/hopeshjr_1_1';
alter database mount;Ha a mentések ugyanezen az útvonalon készülnek a forrás gépen (/u03/backup/...), akkor a következő lépésre nincs szükség, ha viszont nem, akkor be kell katalogizálni a mentéseket:
catalog start with '/u03/backup/online_backup/dbsid/';
Végül az adatbázis visszaállítása, recovery, és megnyitása:
restore database;
recover database;
alter database open resetlogs; -
papasoft80
tag
Remélem van itt olyan, aki tud segíteni, mert nem tudom hogyan induljak el.
Korábban Oracle 8i-t használtam Delphi 6-ból ADO-val Oracle Forms Runtime-al(a Net8 miatt).
Na most ez már nem elérhető, így váltanom kellett Oracle 11g R2-re. A Forms Runtime-ot amúgy sem használom és most rátaláltam az Oracle Instant Client(továbbiakban OIC)-re, ami úgy láttam, hogy pont a nekem való megoldás.
Nagy nehezen sikerült megoldanom, hogy a kliens gépről SQLPlus-al már megy a kapcsolat az OIC-el. Persze tnsnames.ora és sqlnet.ora nélkül "sima" kapcsolódással(user/password@//ip:port/SID).Namost a problémám, hogy hogyan tudok Delphi-ből(6-os vagy 7-es, vagy esetleg újabb, de azokat nem ismerem) kapcsolódni az Oracle 11-hez az OIC-en keresztül. Az ADO mindenáron keresi a "Forms Runtime szerű" adatokat a kapcsolathoz és nem tudom hogyan lehetne megmondani neki, hogy hogyan kapcsolódjon.
ODBC is játszik, ha azzal menne a dolog. Win7 64bit-en próbáltam az OIC-ODBC-s verzióját és ment a kapcsolat tesztelése(az ODBC managerben), XP-n már nem ment. Próbáltam a környezeti változókat is megadni, hátha(ORACLE_HOME, TNS_ADMIN).
VirtualBox-ot használok. Host: Win7 64bit OIC64bit_11.2.0.1. guest1: CentOS6.5 Oracle 11gR2_0.1. guest2: XP OICx32_11.2.0.1 Bridge-el hálózattal, vagyis a guest gépeknek is azonos tartományú az IP-címe.
Gyors megoldás kellene, ha favágós, az sem érdekel, majd később finomítom.
Segítségeteket előre is nagyon köszönöm! -
rum-cajsz
őstag
válasz papasoft80 #675 üzenetére
nem értek a windows programozáshoz, de ha jól értelek, akkor mégiscsak a tnsnames és sqlnet ora fájlokat kellene jól belőni.
Nálam az Instant client könyvtárba betéve jól működik az OCI kapcsolat. Annyi az újdonság, hogy a 10-estől felfelé kis-nagybetű érzékeny lett a szervernév valamiért, így nem mindegy hogyan szerepel a tnsnames.ora fájlban az adatbázis szerver neve. Ha jól emlékszem, akkor csupa kisbetű kell.=Kilroy was here============================ooO=*(_)*=Ooo=======
-
papasoft80
tag
válasz rum-cajsz #676 üzenetére
Tökéletes meglátás! Nagyon köszönöm!
Nem tudtam, hogy már case-sensitive lett az Oracle. A 8.1.7-ben, még a jelszavaknál sem nézte
Most a gondom, hogy nem látszanak az ékezetek az adatoknál, de ez már inkább az adat migrálás miatt lehet. Az eredeti dump EE8MSWIN1250 NCHAR-ban készült és EE8MSWIN1250 UTF-8-ba lett befogadva. Lehet, hogy itt kell majd valamit mahinálni, majd utána olvasok.
Még egyszer köszönöm a gyors választ!
-
papasoft80
tag
válasz papasoft80 #677 üzenetére
Pfúú! Nagy ám itt a káosz(a fejemben is egyre inkább)
Az úgy volt, hogy egy linux-os szerveren volt egy Oracle 8.1.7, onnan az alábbi dump készült:
Kapcsolódva: Oracle8i Enterprise Edition Release 8.1.7.0.1 - Production
JServer Release 8.1.7.0.1 - Production
Az exportálás EE8ISO8859P2 karakterkészlettel és EE8ISO8859P2 NCHAR karakterkészlettel befejeződöttEz be lett töltve egy win-es Oracle 8.1.7-be így:
Kapcsolódva: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
JServer Release 8.1.7.0.0 - Production
Exportfájl, amelyet a hagyományos elérési útvonalon keresztül EXPORT:V08.01.07 hozott létre
az importálás a(z) EE8MSWIN1250 karakterkészletben és a(z) EE8MSWIN1250 NCHAR karakterkészletben történt
az exportáló ügyfél a(z) EE8ISO8859P2 karakterkészletet használja (lehet, hogy karakterkészlet-konverzióra kerül sor)
az exportáló kiszolg. a(z) EE8ISO8859P2 NCHAR kar.készletet használja (lehet, hogy a nemzeti kar.készlet konverziójára kerül sor)Itt látszanak az ékezetek.
Ebből az export így néz ki:
Kapcsolódva: Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
JServer Release 8.1.7.0.0 - Production
Az exportálás EE8MSWIN1250 karakterkészlettel és EE8MSWIN1250 NCHAR karakterkészlettel befejeződöttA feladat az lenne, hogy a Windows-os gépről kellene olyan exportot készítenem, ami tartalmazza az ékezeteket és ezt kellene betöltenem egy linuxos Oracle 11g R2.0.1-be, amit - ha jól láttam a createdb.sql-ben - sikerült EE8MSWIN1250 UTF8-al létrehozni.
Az ellenőrzést az is bonyolítja, hogy az SQLPlus a környezeti NLS_LANG változóra érzékenyen jeleníti meg a szöveget.
A kérdés, hogy jó-e így a 11g adatbázis, vagy csináljak újat más karakterkészlettel, vagy van valami mód a migrálásra?
Korrigáljatok, ha nagy baromságokat írtam. -
fapuskapa
csendes tag
sajna megint elakadtam.
RMAN> recover database;
recover indítása 2014/08/11 helyen
kiosztott csatorna: ORA_DISK_1
ORA_DISK_1 csatorna: SID=23, eszköztípus=DISKadathordozó-helyreállítás megkezdve
ORA_DISK_1 csatorna: archivált napló visszaállításának indítása az alapértelmezett helyen
ORA_DISK_1 csatorna: archivált napló visszaállítása
archivált napló: szál=1, sorszám=3002
ORA_DISK_1 csatorna: olvasás a(z) /u03/backup/online_backup/dbsid/hvpflqfp_1_1 mentésparcellából
ORA_DISK_1 csatorna: parcellakezelő=/u03/backup/online_backup/dbsid/hvpflqfp_1_1, címke=BACKUP_dbsid.ZEISS_081114083558
ORA_DISK_1 csatorna: visszaállított mentésparcella: 1
ORA_DISK_1 csatorna: visszaállítás befejeződőtt, eltelt idő: 00:00:07
archivált napló: fájlnév=/u03/admin/dbsid/arch/1_3002_777371879.dbf, szál=1, sorszám=3002
nem található archivált napló
archivált napló: szál=1, sorszám=3003
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: hiba a(z) recover parancsban a(z) 08/11/2014 14:20:43 helyen
RMAN-06054: Az adathordozó-helyreállítási művelet ismeretlen archivált naplóra hivatkozik. Szál: 1, sorszám: 3003, kezdő SCN: 126746227. -
fapuskapa
csendes tag
Sajnos arra jön egy további probléma. Azt hittem, hogy a hiányzó fájlok miatt.
SQL> alter database open resetlogs;
alter database open resetlogs
*
Hiba a(z) 1. sorban:
ORA-01092: ORACLE instance terminated. Disconnection forced
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
Processz azonosítója: 4058
Munkamenet azonosítója: 23, sorozatszáma: 9 -
bpx
őstag
válasz fapuskapa #684 üzenetére
Ha magasabb verziójú lenne, akkor meg lehetne nyitni
alter database open resetlogs upgrade;
paranccsal. Így, hogy alacsonyabb verziójú, a
alter database open resetlogs downgrade;
működhet, de csak akkor, ha a forrás rendszeren a compatible paraméter legfeljebb 11.2.0.1. Mindkét esetben további lépések szükségesek, hogy az adatbázis használható állapotba kerüljön. Szerintem ebben a helyzetben egyikre sem érdemes időt pazarolni, rakj fel egy ugyanolyan verziót.
-
sutszi
veterán
Van egy ilyen bug-om:
ORA-04030: out of process memory when trying to allocate 16356 bytes (koh-kghu sessi,pmuccst: adt/recordAkkor dob egy ilyet ha mondjuk két egymásba ágyazott for-al próbálok szimulálni egy tábla sor/oszlop feltöltést.
Sor 32000-50000
Oszlop 25-50Persze a belső ciklusban hívok egy saját eljárást amit teszi a dolgát...(mondjuk úgy külső eljárás) de ez most mindegy igazából.
Aztán google túrkálás közben találtam a fenti problémára egy ilyet:
alter system set "_realfree_heap_pagesize_hint"= 262144 scope = spfile;A hibát a gépem 32K sor és 25 oszlopnál már bedobta. A fenti sor után hirtelen 2,4GB-ot bekajált a RAM-ból de legalább lefutott.
A probléma az scope = spfile résszel van. Restartolnom kell hozzá a DB-t. Éles rendszerre így nem biztos, hogy ki tud menni.
Van olyan megoldás aminél nem kell oracle szervert restartolni?
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
rum-cajsz
őstag
-
sutszi
veterán
válasz rum-cajsz #688 üzenetére
Köszi, hogy ezt írtad, mert ugyanezeket kérdeztem vissza.
Ezek szerint jólfelé gondolkodtam.Igen láttam ezt az oldalt.
Történet:
Beesett ez a bug egy ügyféltől, azzal a kísérőszöveggel, hogy eddig ment de most reggel ezt dobja, és mennyi memória kell az alkalmazásnak... Ebből már az elején az volt az érzésem, hogy némileg rosszul állnak a probléma kezeléséhez.Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
sutszi
veterán
Hát ez egy jó kérdés...
Korlátozottak az én információim is meg aztán nem is írhatom le ide a részleteket nagyon.
A dupla ciklust én írtam azért, hogy szimuláljam azt a lekérdezést amit az ügyfél végez a saját DB-jén. Mivel nem áll rendelkezésemre 50 oszlopnyi és legalább 30000 sornyi adat...
A ciklusváltozók értékeit használom fel, hogy valami értelmessel megtöltsem azt a fájlt amit ezután blobként tárolok le. nevezzük mondjuk *.csv-nek...akár...
Saját gépemen figyeltem, hogy ugrik meg az oracle.exe memóriafelhasználása...nálam alapból 300 MB körül használ...Innen ugrott fel a kérdéses méretre.
Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
sutszi
veterán
válasz rum-cajsz #692 üzenetére
Ami nálam van lokálban az egy Win7 Prof 64bit + 4GB RAM.
Ezen nem csoda, hogy megfekszik a dolog...Már annak is örültem, hogy a hidden parameter állítása után lefutott a fele oszlopszámmal. Dupla ennyi RAM mint nekem meg csak van abban a nyüves szerverben amin futtatni akarják.Mondja, Mr. Babbage, ha rossz adatokat ad meg a gépnek, akkor is jó válasz fog kijönni belőle?" Képtelen vagyok felfogni azt az értelmi zavart, ami valakit egy ilyen kérdés feltevésére késztethet. - by Charles Babbage
-
bpx
őstag
válasz lakisoft #696 üzenetére
A gyári megoldás a listenerek és adatbázisok automatikus indítására a Grid Infrastructure. Viszont ez single instance adatbázisra (ASM nélkül) + listenerre overkill, szóval ott egyedi init scripteket szoktunk használni. Példa itt: [link]
Ha viszont még mindig ugyanarról az XE adatbázisról van szó, az ezt megcsinálja magának alapból.
-
bpx
őstag
válasz lakisoft #698 üzenetére
Az /etc/init.d/oracle-xe scriptben nézelődnék, esetleg beleraknék saját logolást, ha nincs benne. Ha minden OK benne, pár lehetséges ok a listener nem indulására (feltéve, hogy eljut idáig):
- név+IP megfeleltetése rossz: /etc/hosts-ban a hostname + IP nem jó, esetleg a listener.ora-ban rossz hostname vagy IP szerepel
- foglalt a port
- fut már a listener (egyik korábbi postban, amit írtál a daemon nevében indult)
- a listener.ora-ban szintaktikai hiba van[ Szerkesztve ]
-
lakisoft
veterán
Nincsen probléma a hostnév + IP megfeleltetéssel. Nem fut a listener. Ha kézzel indítom akkor daemon userrel fut.
az oracle-xe ide vonatkozó része így néz ki:
start() {
if [ "$CONFIGURE_RUN" != "true" ]
then
echo "Oracle Database 11g Express Edition is not configured. You must run
'/etc/init.d/oracle-xe configure' as the root user to configure the database."
exit 0
fi
status=`ps -ef | grep tns | grep oracle`
if [ "$status" == "" ]
then
if [ -f $ORACLE_HOME/bin/tnslsnr ]
then
echo "Starting Oracle Net Listener."
$SU -s /bin/bash $ORACLE_OWNER -c "$LSNR start" > /dev/null 2>&1
touch /var/lock/subsys/listener
fi
fi
pmon=`ps -ef | egrep pmon_$ORACLE_SID'\>' | grep -v grep`
if [ "$pmon" = "" ];
then
echo "Starting Oracle Database 11g Express Edition instance."
$SU -s /bin/bash $ORACLE_OWNER -c "$SQLPLUS -s /nolog @$ORACLE_HOME/config/scripts/startdb.sql" > /dev/null 2>&1
else
echo "Oracle Database 11g Express Edition instance is already started"
fi
RETVAL=$?
if [ $RETVAL -eq 0 ]
then
echo
touch /var/lock/subsys/oracle-xe
else
echo Failed to start Oracle Net Listener using $ORACLE_HOME/bin/tnslsnr\
and Oracle Express Database using $ORACLE_HOME/bin/sqlplus.
RETVAL=1
fi
return $RETVAL
}
Új hozzászólás Aktív témák
- HiFi műszaki szemmel - sztereó hangrendszerek
- Kertészet, mezőgazdaság topik
- Vodafone mobilszolgáltatások
- Yettel topik
- A fociról könnyedén, egy baráti társaságban
- Hobby rádiós topik
- Luck Dragon: Asszociációs játék. :)
- Facebook és Messenger
- Mindent megtudtunk az új Nokia 3210-ről
- Fűnyíró topik
- További aktív témák...
- Apple iPhone 12 Pro Max, Pacific Blue, 128Gb, független 86% akku
- Szuper Akció:Igényeseknek-Exkluziv-12Genes-Core i7-Dell Latitude 5430-Harmad áron-garival!!!
- Western Digital 6TB NasWare 3.0 WD60EFRX-68l0bn1 keveset használt eladó.
- ÚJ Under Armour HOVR Machina 2 futócipő,sportcipő 44-es méretben eladó
- Teljes Playstation VR szett PS5 adapterrel
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Promenade Publishing House Kft.
Város: Budapest