SQL*Plus
Językiem
który umożliwia zarządzanie bazą danych jest język SQL
(Structured Query Language). Wszystkie narzędzia dostępne na rynku
służące do graficznego zarządzania bazą i umożliwiające
„wyklikanie” zapytania są jedynie nakładką na ten język.
SQL*Plus
jest podstawowym narzędziem Oracle służącym do komunikacji z bazą
danych. Umożliwia wykonywanie zapytań do bazy i wyświetlanie
wyników. Poza obsługą poleceń SQL, SQL*Plus posiada też zestaw
własnych komend służących do konfiguracji programu oraz
nawiązywania połączeń z bazami.
Aby
uruchomić SQL*Plus wybieramy jego nazwę z menu start lub wpisując
w konsoli:
sqlplus
lub
sqlplus
nazwa_uzytkownika/haslo@sidbazy
SQL*Plus
instalowany jest razem zawsze podczas instalacji Oracle Database.
Mimo że jest programem konsolowym i subiektywnie postrzegając -
mało wygodnym, warto się z nim zapoznać. Jednym z zasadniczych
powodów jest fakt, że przy jego użyciu możemy sterować pracą
instancji oraz zarządzać danymi i obiektami bazodanowymi również
na serwerach które pozbawione są środowiska graficznego. Serwery
produkcyjne rzadko kiedy udostępniają port 1521 (czyli domyślny
port nasłuchu listenera), a często ten port jest blokowany na
poziomie bramki sieciowej. Mamy wówczas jedynie SSH i naszym jedynym
narzędziem staje się właśnie SQL*Plus.
Podstawowe
polecenia SQL*PLUS
CONNECT
polecenie
nawiązuje połączenie ze wskazaną bazą danych. Niezbędne do
rozpoczęcia pracy z bazą danych. Bez nawiązania połączenia z
bazą danych nie możemy wykonywać na niej żadnych operacji.
Składnia
polecenia connect jest następująca:
connect
nazwa_użytkownika/hasło@nazwa_bazy_wg_deskryptora
Ciąg
który następuje po znaku @ to nazwa połączenia wg pliku
tnsnames.ora. Możemy również podłączyć się do instancji
podając adres ip serwera oraz SID bazy. Przykład:
connect
hr/test@192.168.1.1/xe
Aby
zalogować się na użytkownika HR, po wcześniejszym odblokowaniu
go, podajemy następującą ścieżkę:
connect
hr/hasło_które_ustawiliśmy@localhost;
krótszą
formą polecenia connect jest polecenie conn :
conn
hr/hasło_które_ustawiliśmy@localhost;
Korzystając
z SQL*Plusa możemy również podać dane autoryzacyjne przy
uruchamianiu programu:
sqlplus
hr/hr@localhost;
Możemy
łączyć się przy pomocy SQL*Plusa za pośrednictwem listenera lub
bezpośrednio nawet do wyłączonej instancji. Pomijamy w takim
wypadku @adres_ip_lub_sid np.:
sqlplus
hr/hr
Warunkiem
połączenia się jest w takim przypadku uruchamianie SQL*Plusa z
konsoli hosta na którym zainstalowana jest baza lub poprzez SSH.
Zaletą jest możliwość połączenia się nawet do wyłączonej
instancji (tylko jako SYS). Łącząc się jako SYS musimy pamiętać
o dodaniu frazy as sysdba:
sqlplus
sys/haslo as sysdba
lub
sqlplus
sys/haslo@192.168.1.1/xe as sysdba
DISCONNECT
Polecenie
zamyka sesję nawiązaną przy pomocy connect, nie powoduje wyjścia
z programu.
EXIT
Polecenie
kończy sesję, okno programu zostaje zamknięte.
DESC
To
polecenie pozwala na uzyskanie opisu wybranego obiektu bazy danych.
@
Uruchamia
polecenia określone w pliku wskazanym jako parametr polecenia. Np.
jeśli na partycji c:\
naszego dysku stworzymy plik test.sql w którym umieścimy
zapytanie o treści:
select
* from jobs;
Uruchamiamy
komendę
@c:\test.sql
odnosząc
się do stworzonego wcześniej skryptu, czego efektem będzie taki
oto ekran:
SPOOL
przy
pomocy tej komendy jesteśmy w stanie zapisać do pliku tekstowego
wszystkie wykonywane polecenia oraz wyniki ich działań. Wszystkie
te dane będą pozostawać wyłącznie w pamięci operacyjnej i nie
będą widoczne w pliku aż do czasu wykonania polecenia spool
off,
kończącego zapis. Poniżej konsola wraz z plikiem efekty.txt do
którego zostały zapisane komendy wraz z wynikami. Proszę zwrócić
uwagę że zostały zapisane działania
w konsoli wykonane dopiero po wydaniu komendy spool.
w konsoli wykonane dopiero po wydaniu komendy spool.
SPOOL
OFF
Kończy
zapis do pliku, zatrzymuje komendę spool.
Podstawowe opcje SQL*Plus
Opcje
SQL*Plusa ustawiamy przy pomocy polecenia SET:
SET nazwa_opcji wartość
Na
przykład:
autocommit {on | off }
Zmienna modyfikuje ustawienie automatycznego zatwierdzenia wykonania poleceń lub po wykonaniu serii instrukcji (Domyślnie on).
Commit jest poleceniem służącym do zatwierdzania zmian w danych, wprowadzonych w obrębie sesji. Polecenie to może być wydawane jawnie lub niejawnie tj. możemy wyłączyć autocommit i zatwierdzać samodzielnie poprzez wydanie komendy commit; lub ustawić automatyczne zatwierdzanie. Jeśli nie zatwierdzimy zmian danych, zmiany będą dotyczyć tylko naszej sesji i nie będą widoczne dla innych użytkowników.
echo {on | off}
decyduje, czy polecenia wysyłane na serwer są powtórnie wyświetlane w wyniku wykonania się polecenia. (Domyślnie on)
linesize n
zmienna
określa jak długa ma być linia w buforze ekranowym SQL*Plusa.
(Domyślnie 80)
pagesize n
określa rozmiar strony w wierszach. (Domyślnie 24)
serveroutput {on | off}
określa, czy komunikaty wypisywane podczas działania podprogramów PL/SQL mają być wyświetlane na konsoli SQL*Plusa. Domyślnie ustawiony jest brak wyświetlania.
(Domyślnie off)
SQL
DEVELOPER
Graficzną
alternatywą dla SQL Plusa jest SQL Developer. Możemy z niego
korzystać pod warunkiem, że możemy się połączyć z serwerem
Oracle poprzez sieć (mamy port nasłuchu otwarty) lub jeżeli
łączymy się bezpośrednio z maszyny na której zainstalowany jest
serwer. Jest to program bezpłatny rozpowszechniany przez firmę
Oracle. Musimy go jednak zainstalować oddzielnie, nie jest
dostarczany wraz z bazą danych.
TWORZENIE,
TESTOWANIE I ZAPISYWANIE NOWEGO POŁĄCZENIA
Aby
utworzyć nowe połączenie klikamy zielony krzyżyk znajdujący się
w lewym górnym rogu na zakładce „Connections”. W poniższym
oknie wprowadzamy:
Connection Name - własna nazwa połączeniaUsername - nazwa użytkownika z którego uprawnieniami chcemy połączyć się do bazy danych.Password – hasło w.w. Użytkownika.Save Password – zaznaczamy jeśli chcemy aby hasło zostało zapamiętane w programie. Jeśli tego nie zaznaczymy, przy każdym łączeniu się z bazą będzie trzeba to hasło wpisać.Hostname – host na którym znajduje się serwer Oracle. Jeśli łączymy się do bazy znajdującej się na tym samym komputerze, wpisujemy „localhost”Port – port sieciowy pod którym nasłuchuje serwer bazy danych. Domyślny to 1521SID – sid bazy, dla naszych potrzeb będzie to zawsze XE. Jeśli pracujesz na innej wersji Oracle niż Express Edition zapytaj swojego administratora o sid bazy.
Jeśli autoryzujemy się jako użytkownik SYS, musimy dodatkowo zmienić ustawienie Role z Default na SYSDBA.
Prawidłowość wprowadzonych danych możemy sprawdzić naciskając przycisk Test. W lewym dolnym rogu okna zostanie wypisany status połączenia: Success jeśli dane umożliwiają autoryzację, lub Failure z przyczyną jeśli nie można zrealizować połączenia.
Połączenie możemy zapisać klikając SAVE, oraz połączyć się klikając CONNECT.
Connection Name - własna nazwa połączeniaUsername - nazwa użytkownika z którego uprawnieniami chcemy połączyć się do bazy danych.Password – hasło w.w. Użytkownika.Save Password – zaznaczamy jeśli chcemy aby hasło zostało zapamiętane w programie. Jeśli tego nie zaznaczymy, przy każdym łączeniu się z bazą będzie trzeba to hasło wpisać.Hostname – host na którym znajduje się serwer Oracle. Jeśli łączymy się do bazy znajdującej się na tym samym komputerze, wpisujemy „localhost”Port – port sieciowy pod którym nasłuchuje serwer bazy danych. Domyślny to 1521SID – sid bazy, dla naszych potrzeb będzie to zawsze XE. Jeśli pracujesz na innej wersji Oracle niż Express Edition zapytaj swojego administratora o sid bazy.
Jeśli autoryzujemy się jako użytkownik SYS, musimy dodatkowo zmienić ustawienie Role z Default na SYSDBA.
Prawidłowość wprowadzonych danych możemy sprawdzić naciskając przycisk Test. W lewym dolnym rogu okna zostanie wypisany status połączenia: Success jeśli dane umożliwiają autoryzację, lub Failure z przyczyną jeśli nie można zrealizować połączenia.
Połączenie możemy zapisać klikając SAVE, oraz połączyć się klikając CONNECT.
DRZEWO
OBIEKTÓW
Po
uruchomieniu nowego połączenia możemy w zakładce Connections
kliknąć w symbol plusika znajdujący się przy nazwie połączenia.
Pojawi nam się okno edycji oraz lista obiektów bazy danych
pogrupowana w kategorie. Rozwijając kolejne gałęzie możemy
przeglądać listy obiektów, struktury, a nawet zawartość tabeli
(po dwukrotnym kliknięciu symbolu danego obiektu).
Klikając
prawym przyciskiem na nazwę połączenia, a następnie z menu
wybierając Open SQL Worksheet
uruchomimy kolejny edytor kodu. Klikając View
- > DBMS Output uruchomi nam się
konsola na której wyświetlane będą przez nas komunikaty
wywoływane w podprogramach PL/SQL.
Aby
konsola wyświetlała komunikaty z aktywnego połączenia musimy
kliknąć zielony krzyżyk w jej lewym górnym rogu a następnie
wybrać połączenie które nas interesuje:
URUCHAMIANIE PODPROGRAMÓW W EDYTORZE
Po napisaniu programu w edytorze możemy go uruchomić naciskając przycisk „run” wyglądający jak „Play” w magnetofonach. Jeśli w edytorze mamy kilka podprogramów, zostaną wykonane wszystkie. Jeśli chcemy uruchomić tylko jeden, zaznaczamy go i klikamy „run” lub kombinację klawiszy CTRL + ENTER
Po napisaniu programu w edytorze możemy go uruchomić naciskając przycisk „run” wyglądający jak „Play” w magnetofonach. Jeśli w edytorze mamy kilka podprogramów, zostaną wykonane wszystkie. Jeśli chcemy uruchomić tylko jeden, zaznaczamy go i klikamy „run” lub kombinację klawiszy CTRL + ENTER
Brak komentarzy:
Prześlij komentarz