Új hozzászólás Aktív témák
-
peterszky
őstag
Először is köszönöm a részletes leírást!
Most értem haza, így megnéztem, amit elsőnek írtál, a karakterkódolást, ami valóban az. Eddig csak a webes felületen néztem a próba lekérdezést, aminél az ékezetes karakterek helyén két kérdőjel jelent meg, ezért tippeltem arra, hogy emiatt nem stimmel valami, így utólag látom, hogy hibásan.
Most megnéztem terminálban az SQLPlus-szal, ott minden rendben. Még nem volt fent, ezért letöltöttem az Oracle SQL Developert is, amin pedig újból a kérdőjelek fogadtak.
Lehet, hogy az NLS paraméterek körül van valami gond (az adatbázis alaból amerikai beállításokat tartalmaz) vagy csak én néztem el valamit ismét?
SELECT * FROM nls_database_parameters;
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0 -
bpx
őstag
válasz
peterszky #296 üzenetére
XE-ben a default adatbázis UTF8 kódolású, amiben hibátlanul működnek a magyar ékezetes karakterek is
ha nálad mégsem (és ezért akarsz karakterkészletet váltani), akkor nem ez a gondha mégis ragaszkodsz a magyar/kelet-európai karakterkészlethez (ee8iso8859p2), kb. ezt kell végigcsinálni egy kicsit máshogy [link]
- a mostani adatbázisból controlfile-ból kell egy "szöveges" változat
export ORACLE_SID=XE
sqlplus / as sysdba
SQL> show parameter user_dump_dest
SQL> alter database backup controlfile to trace;a user_dump_dest egy könvytár, és oda létrejön egy XE_ora_... nevű fájl (dátum szerint valószínűleg a legújabb, saját nevet nem lehet adni neki) amiben lesz egy 'CREATE CONTROLFILE...' több soron keresztül tartó parancs
- mostani db leállít
- step 1-2-3-4-5 felesleges ha ugyanolyan nevű db-t szeretnél
- step 6: startup nomount
- step 7: össze kell rakni egy CREATE DATABASE parancsot mint a doksiban és lefuttatni, ehhez segítség az elején létrehozott fájl
mivel az adatfájlok, redo logok már megvannak a fájlok méreteinek megadása után még kell egy REUSE is (így felülírja a régieket) + a CREATE DATABASE xe után még kell egy CONTROLFILE REUSE is, hogy azt is tudja, hogy felülírhatja
alternatív lehetőség: törlöd az összes fájlt (ami fel van sorolva a korábban generált fájlban) és nem kell a REUSE-zal foglalkozni
a CREATE DATABASE-ben van egy olyan opció hogy CHARACTER SET, ezután kell beírni amilyet szeretnél (ee8iso8859p2 - Kelet-Európa, ebben van a magyar)
- step 8: opcionális
- step 9: ezt mindenképp csináld meg
- step 10-11: opcionálisszerk: ezzel egy teljesen új, üres adatbázisod lesz
a régi adatbázisból ha kell adat exportáld ki, majd az újba importáld be -
bpx
őstag
válasz
peterszky #294 üzenetére
arra az adatbázisra amit alapból létrehoz, nincs lehetőség ezt megmondani
újabb adatbázist lehet létrehozni, ha az ember tudja a módját (manuálisan), de egyszerre csak 1 adatbázis futhat
én pl. most simán csináltam egy újabb XE adatbázist magyar (ee8iso8859p2) karakterkészlettelde ugyanezzel a módszerrel az eredeti adatbázis is újra létrehozható más karakterkészlettel, és akkor még új sem kell
-
peterszky
őstag
Oracle 10g XE-t be lehet úgy állítani, hogy magyar karakterkészletet használjon? Az alap telepítés (apt-get install + Oracle által biztosított csomag) közben ilyen beállításra nem emlékszem. Ahogy olvastam, második adatbázist létrehozni nem lehet, mivel ez az XE egyik korlátja.
-
-
peterszky
őstag
Egy érdekes kérdésem lenne dátum/timestamp konverzióknál használt format maskok működéséről, lehet, hogy csak én nem látom a logikát benne egyelőre.
Oracle leírás: [link]
SELECT to_date('02/01/01', 'YY/MM/DD') FROM DUAL;
Ez azt adja, amit vártam, 2002-01-01. YY az utolsó két digitet állítja, az első kettőt az aktuális évből veszi (2011)Az is tiszta, ha a YY digiteknek csak egy hosszú adatot adok, akkor a szabad helyre nullát tesz. Példa:
SELECT to_date('11/01/01', 'YY/MM/DD') FROM DUAL;
-> 2011-01-01
SELECT to_date('1/01/01', 'YY/MM/DD') FROM DUAL;
-> 2001-01-01Ezek működnek YYYY, YYY, YY-vel, Y-nél ugye nem lehet kevesebbet, az már hiba. A leírás szerint többet egyik sem fogad el. Ez YYYY / YYY / Y esetében igaz is. Viszont YY esetén nem!
SELECT to_date('111/01/01', 'YY/MM/DD') FROM DUAL;
-> 0111-01-01
Látszólag olyan, mintha YYYY maszkot használnék három digittel és ezt nem értem, hogy miért van így, ötletek? -
Ablakos
őstag
Mi a magyarázata, hogy két tábla összekapcsolásnál, amelyik táblát outerrel kapcsolom és konstanssal is akarom szűrni ezt a táblát, akkor elvesznek rekordok, ha nem outerrel kapcsolom a konstanst is?
select a,*,b.* from a,b where a.id(+) = b.id and a.name(+) = 'talmi'
-
bpx
őstag
RMAN már 8-as Oracle óta van, szóval egyáltalán nem új dolog, és teljesen kiforrott, az rman A backup
kétféle backup/recovery módszer létezik egyébként:
user managed, és RMAN - ebből az utóbbit használják 99%-banlakisoft:
rman-t csak elindítottad, de nem csatlakoztál az adatbázishoz, így a show all nem tudja lekérdezni a controlfile-ból a paramétereket
rman target /
282,283# azért ne keverjük a dolgokat
SYSTEM jelszót rosszul adta meg
a SYSTEM-nek köze nincs a SYSDBA jogosultsághoz
a "/ as sysdba" az SYS userként fog belépni -
rum-cajsz
őstag
válasz
lakisoft #282 üzenetére
1. Az "as sysdba" kapcsoló maradt le.
exp 'userid="/ as sysdba"' full=y
vagy
exp \'/ as sysdba\' full=y2. exp helyett javaslom az expdp progit. Ez a korszerű exportáló ma már.
expdp 'userid="/ as sysdba"' full=y3. Az RMAN-hoz nem értek sajnos. Mire akarod használni? Ez egy elég új dolog még, nem tudom mennyire kiforrott.
-
lakisoft
veterán
És egy másik probléma:
oracle@server1:/u01/app/oracle/product/11.2.0/xe/bin$ exp full=Y
Export: Release 11.2.0.2.0 - Production on Wed Oct 19 22:13:44 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Username: system
Password:
EXP-00056: ORACLE error 1017 encountered
ORA-01017: invalid username/password; logon deniedMit csináltam rosszul?
-
lakisoft
veterán
válasz
lakisoft #280 üzenetére
Bevált a megoldás
.
Viszont van újabb probléma:
Ez mitől van:
Recovery Manager: Release 11.2.0.2.0 - Production on Wed Oct 19 21:19:27 2011
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
RMAN> show all;
using target database control file instead of recovery catalog
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of show command at 10/19/2011 21:19:36
RMAN-06171: not connected to target database -
-
lakisoft
veterán
válasz
márNemKereső #276 üzenetére
uhh nálam is van bőven 566-at talált
.
Szerintem is export/import lesz belőle mert így nem fogok boldogulni.
Azzal szerintem is működnie kell.Köszi szépen a tippet. Hasznos volt.
-
márNemKereső
tag
válasz
lakisoft #274 üzenetére
Kicsit jobban megnézve: a hibaüzeneted alapján a nálad futó verzió nem engedi a karakterkészlet változtatását, ha az adatbázisod tartalmaz CLOB típusú oszlopokat.
Ha lekéred a dba_tab_columns nézetből azokat a sorokat, amelyekben a DATA_TYPE='CLOB', akkor látni fogod, hogy a SYS tulajdonában rengeteg ilyen tábla van. (nálam egy patch-eletlen 10.2 fut, abban nagyon sokat találtam)Az egyetlen, amit szerintem tehetsz, ha exportálod, létrehozol egy üres adatbázist a megfelelő karakterkészlettel és importálod.
-
lakisoft
veterán
Ezzel kezdtem:
SQL> DROP USER HR CASCADE;
User dropped.
UTF8-ra szeretném konvertálni az adatbázis karakterkészletét. De egyszerűen nem sikerül mindig ugyan azzal a hibaüzenettel száll el:
SQL> connect as sysdba
Enter user-name: system
Enter password:
Connected.
SQL> SHUTDOWN IMMEDIATE;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> STARTUP MOUNT;
ORACLE instance started.Total System Global Area 392495104 bytes
Fixed Size 2226840 bytes
Variable Size 171967848 bytes
Database Buffers 213909504 bytes
Redo Buffers 4390912 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;System altered.
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> ALTER DATABASE CHARACTER SET AL32UTF8;
ALTER DATABASE CHARACTER SET AL32UTF8
*
ERROR at line 1:
ORA-12716: Cannot ALTER DATABASE CHARACTER SET when CLOB data existsMi lehet a gond?
-
lakisoft
veterán
XE alatt hogyan írtanátok ki a HR minta adatbázis-t.
-
lakisoft
veterán
Ha valakinek gondja lenne vele akkor ezek segíthetnek:
Select-re kihegyezett anyag:
http://psoug.org/reference/select.html
Like-ra kihegyezett anyag:
http://www.techonthenet.com/sql/like.php -
emmm
őstag
Sziasztok!
Szeretnék egy olyat lekérdezni oracle-ben, hogy keressük azokat a termékeket, amelyeknél az adott termékhez tartozó címke nevében szerepel a márka neve.
Ez a mező így néz ki, pl:
ADIDAS tusfürdő akármileírás 250 mlÉs van egy külön mező a márkára, amiben szerepel az ADIDAS.
A gondom az, hogy sima LIKE paranccsal nem tudom azt lekérdezni, hogy egy mező adatát keresse meg a szövegben. Van erre valami megoldás?
Előre is köszönöm!
-
lakisoft
veterán
Nem teljesen témába vágó dolog de gondoltam hátha valakinek hasznos lesz:
Oracle DB 11g XE telepítése Debian 6.0-ra:# install necessary packages
apt-get install alien bc libaio1# convert the file including scripts
alien --to-deb --keep-version --scripts oracle-xe-11.2.0-0.5.x86_64.rpm# create the user and directory (suse-specifics in scripts, not working with debian... I assume somebody with more experience with package conversion could fix this)
mkdir -p /u01/app
groupadd dba
/usr/sbin/useradd -m -g dba -d /u01/app/oracle -s /bin/bash oracle
touch /sbin/chkconfig; chmod u+x /sbin/chkconfig# 2. install
dpkg --install oracle-xe_11.2.0-0.5_amd64.deb# 3. configure
/etc/init.d/oracle-xe configurenyilván a verziószámok megfelelően helyettesítendők.
Jelenleg: oracle-xe-11.2.0-1.0.x86_64.rpm.
Oracle Enterprice Linux 5 update 2-on tökéletesen megy minden különösebb konfigolás nélkül is.Részletek itt olvashatók
-
ibazsb
tag
Sajnálom hogy ennyire halott a topic.
Oracle licencekkel kapcsolatos kérdésekben tud vki segíteni? -
Yom
aktív tag
Na ezt már sikerült megoldani, már csak egy olyan problémám van, hogy view-nál nem tudom megadni feltételhez legyen kötve a lekérdezés:
SELECT
*
FROM
"Local"
if (Select Test_dbLink() from Dual) IS NOT NULL then
UNION
SELECT
*
FROM
"DBLink"
end if;ilyenkor:
ORA-00933: SQL command not properly ended
00933. 00000 - "SQL command not properly ended"
*Cause:
*Action:where feltételbe téve (select * from "DBLink" where (Select Test_dbLink() from Dual) IS NOT NULL) nem jó, mert mire teszteli a kapcsolatot, addigra már olvasna a távoli táblából.
valami feltételhez kötött view-t hogyan lehetne csinálni?
-
Yom
aktív tag
Sziasztok!
Egy olyan kérdésem lenne, hogy olyat hogyan lehetne csinálni:
Van 1 adatbázisom a helyi gépen (xe) és 1 távoli adatbázis (teljes). Létrehoztam 1 database linket a helyi adatbázison és egy nézettáblát amiben 1 helyi tábla és 1 távoli tábla adatai szerepelnek (union-nal). Ez működik is, de a gond akkor van, amikor a távoli server nem elérhető. Ilyenkor lehal a nézettábla:
ORA-12545: Connect failed because target host or object does not exist
Azt hogyan lehetne megoldani, hogy amikor a távoli server offline akkor is működjön a nézet? (a nézetben ne szerepeljenek annak az adatai) Gondoltam job-ra ami futna mondjuk percenként és ha nem elérhető a távoli gép akkor a database linket magára állítaná. Csak megvalósítani nem sikerült.
Lenne esetleg valami ötletetek, hogyan lehetne ezt megoldani?
Köszi: Yom -
Relisys
senior tag
Hello!
Egy újabb problémám merült fel.
Kitöröltem az első oldalt az egyik általam készített alkalmazásból és mikor a "run application" -re megyek akkor hibaüzenetet dob ki. 'Page 1 not found'.
Gondolom van valami referencia az első oldalra (de nem általam beállított, mert azt tudnám).
Van valakinek esetleg tippje? -
Relisys
senior tag
válasz
Parameter #252 üzenetére
systemként próbáltam kiadni a parancsot, de látszólag le is futott rendesen.
Ezek a beállítások:
NLS_LANGUAGE HUNGARIAN
NLS_TERRITORY HUNGARY
NLS_CURRENCY Ft
NLS_ISO_CURRENCY HUNGARY
NLS_NUMERIC_CHARACTERS ,
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT RR-MON-DD
NLS_DATE_LANGUAGE HUNGARIAN
NLS_SORT HUNGARIAN
NLS_TIME_FORMAT HH24.MI.SSXFFJa és még egy kérdés:
Ha van egy SQL scriptem amivel töltöm fel a táblákat, akkor egy csomó helyen nem ismeri fel az ékezeteket és helyette fordított kérdőjeleket tesz be a táblába:S
Például így:
insert into mkonyv values('Sz¿el-l¿kkel f¿zni', 'Kylie Kwong',2008);
Unicode UTF8-ként töltöttem fel a scriptet.
Új hozzászólás Aktív témák
- Azonnali fáradt gőzös kérdések órája
- Samsung Galaxy Watch7 - kötelező kör
- Gaming notebook topik
- Milyen okostelefont vegyek? OFF topik
- Okos Otthon / Smart Home
- Apple iPhone 16 Pro - rutinvizsga
- Xiaomi 15 - kicsi telefon nagy energiával
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- iPhone topik
- iPad topik
- További aktív témák...
- Archer AX23 AX1800 v1.20 Kétsávos Wi-Fi 6 Router
- Lenovo ThinkPad X395 - Ryzen 5 PRO 3500U - 8GB - 256GB
- Fujitsu Celsius R920 Szerver/Gamer 2x Xeon e5-2670 256GB Ram, 10TB tárhely, FirePro 8GB GDDR5 VGA
- Asus A15 F507NU-LP101 2 év garancia, újszerű
- HIHETETLEN! DE ÚJ DOBOZOS LAPTOPOK AKÁR FÉLPÉNZÉRT FÉLÁRON !!! ///////// FÉLPÉNZES LAPTOP //////////
- Samsung Galaxy A35 5G 256GB, Kártyafüggetlen, 1 Év Garanciával
- LG 27GP95RP - 27" Nano IPS - UHD 4K - 160Hz 1ms - NVIDIA G-Sync - FreeSync Premium PRO - HDR 600
- Lenovo ThinkPad X270 (15) - i5-7300U, 16GB, 512GB SSD, 12" FULL HD
- iKing.Hu- Apple Macbook 13 M1 Pro Touchbar - 2020 - Használt, karcmentes, 22 töltés
- LG 45GS95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest