Oracle Database



Oracle databaser er stærke og solide database, der er er bredt brugt i erhverslivet.

Hvis du vil bruge oracle privat eller i firma regi. Er det muligt at hente en gratis udgave af oracle. Den kan hentes her:
Oracle Database 10g Express Edition


Brug af oracle databaser i Windows NT/XP

Åben en promt (cmd i kør) husk at afslutte med semikollon i promt kommandoer.

For at logge ind skriv: "sqlplus /nolog" uden "

For at forbinde til oracle skriv: "connect [user]/[pass]@[serveren]"
Hvis du er forbundet, kan du forespørge følgende:

user_tables -- tabeller ejet af brugeren
all_tables -- tabbeller brugeren har adgang til.
dba_tables -- alle relationelle tabeller
dba_all_tables -- alle relationelle tabeller og objekt tabeller
dba_object_tables -- objekt tabeller
dba_catalog -- tabeller,views, synonyms og sequences

Hvis man er vant til MySQL eller MSSQL og man kommer over på oracle, skal man se måden hvorpå server-instance-tabeller ligger på, på en anden måde. Se det (som begynder) som server-schema (en user) - tabeller.
Hvis man fx vil lave noget der svare til database1 med tabellerne t1,t2 og t3, vil man lave en schema (en bruger), og logge ind som denne. Herinde kan de tre tabeller så oprettes. Hvis man laver et andet schema og laver nogle tabeller der. Kan man ikke se tabellerne fra det første skema. Det kan dog lade sig gøre hvis man tildeler en role til brugeren, som giver lov til at bruge en andens brugers tabel.

I oracle er en bruger en der kan forbinde sig til en database (hvis han har nok privilegier) og
han (hvis han har rettigheder nok) kan eje objekter, som fx tabeller i databasen.
Objekterne en bruger ejer er samlet set kaldt et schema, derved er der en EnTilEn ralation mellem schemaet og brugeren.


Hvis du vil se en beskrivelse af disse tabeller, hvilket kollonner de indeholder kan du skrive:
desc [tabel] - fx desc all_tables

Disse kan der så laves normale sql forespørsler på.

For at lave en bruger på databasen
create user [navn] identified by [password]

For at lave en rolle:
create role [navn]

For at knytte en rolle til en user:
grant [rolle] to [brugeren]

Roller kunne være
DBA - administrator
CONNECT
[Egne dannede roler]

Skal man fjerne en bruger:
drop user [bruger]
drop role [rollen]

I Oracle Express er der Locator understøttelse, dvs en del af oracles spatial database er indeholdt heri.
Det vil sige at der er understøttelse for geografiske objekter. Disse kan bruges til at gemme placeringer af punkter, linier og polygoner (områder). Disse geografiske punkter er knyttet til et koordinat system, som derved muliggør for locator at lave beregninger på disse data.
Fx Hvor mange punkter ligger inden for en radius af ti kilomter.

Man kan fx oprette en tabel ved navn:

create table bygninger( bygning_navn varchar(30), bygning_type varchar(20), bygning_placering SDO_GEOMETRY)

Man indsætter ved følgende:
insert into bygninger(bygning_navn, bygning_type, bygning_placering) values ('Christiansborg', 'Statsbygning', SDO_GEOMETRY(2001, 8307, SDO_POINT_TYPE(-70.00, 40.00, NULL), NULL,NULL))
For hver kolonne man indsætter, skal man opdatere USER_SDO_GEOM_METADATA
Derpå, skal der laves Spatiale index.


Oracle hjælpeside

For at benytte tnsnames på en pc hvor oracleXEclient er installeres. Kopier NETWORK FOLDEREN over fra serveren til klienten på niveau med sqlplus mappen! Indstild heri!