Introduktion
Oracle SQL Developer är ett kraftfullt utvecklingsverktyg med många funktioner för att interagera med Oracle-databaser. Förutom att skriva och skicka SQL-satser med hjälp av SQL-arbetsbladet har SQL Developer kraftfulla verktyg för att hantera databaser, designa och omvända databaser med hjälp av datamodeller och köra datautvinningsjobb. Den senaste versionen (version 19.4 från och med 20 december 2019) innehåller några grundläggande databasadministrationsverktyg, stöd för REST-frågor och tolka JSON-dokument också.
Om du arbetar på MacOSX kan du hitta instruktioner om hur du installerar och arbetar med SQL Developer på MacOSX här.
Nästa avsnitt i denna handledning handlar om nedladdning och installation av SQL Developer. Om du redan har laddat ner och installerat SQL Developer, kanske du vill hoppa vidare till nästa sida för att lära dig hur du skapar en ny databasanslutning.
Mot slutet av denna handledning finns det några sidor som täcker hur man skriver, kör och sparar SQL-satser, hur man exporterar data med SQL Developer och hur man importerar data till Oracle med SQL Developer. Du kanske också är intresserad av att använda SQL Developer för att bakåtkonstruera ett Oracle-schema. Den självstudien är länkad här.
Hämta och installera SQL Developer
SQL Developer kan laddas ner gratis från Oracle Developer nätverk. SQL Developer kräver ett Java Development Kit för att kunna köras. Till exempel kräver SQL Developer version 4.1.3 och senare JDK 1.8.
Besök följande länk för att ladda ner SQL Developer-filerna:
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
Välj den version som matchar ditt operativsystem (och eller som inkluderar JDK om det behövs). Resten av den här självstudien slutfördes med Windows-versionen.
SQL Developer-nedladdningen är en enda .zip-fil, till exempel:sqldeveloper-4.1.3.20.78-no-jre.zip (eller en nyare version som sqldeveloper-17.4.0.355.2349-x64.zip)
Packa upp SQL Developer zip-filen till en lämplig enhet. Resultatet bör vara en enkel sqldeveloper-mapp.
Dubbelklicka på den körbara filen sqldeveloper.exe. En dialogruta kan visas som uppmanar dig att ange sökvägen till hemmakatalogen för Java Development Kit (JDK).
Klicka på knappen Bläddra och navigera till JDK-hemmappen.
Klicka på Välj mapp och sökvägen till JDK visas i dialogrutan:
Klicka på OK-knappen så startar SQL Developer
När SQL Developer körs kommer du att se följande skärm:
Konfigurera en ny databasanslutning
Den första uppgiften är att skapa en ny anslutning till din Oracle-databas. För att skapa en ny anslutning behöver du veta:
- Namnet (eller IP-adressen) på servern som kör Oracle. Om du har installerat Oracle på din lokala dator är det troligt att du kan använda "localhost" (eller 127.0.01).
- TCP/IP-portnumret där Oracle Listener-processen körs. Standardinställningen för Oracle är att använda port 1521. Använd 1521 om du inte har konfigurerat detta annorlunda.
- Oracle System Identifier (SID) eller tjänstnamn som identifierar den specifika Oracle-instansen på servern.
Några vanliga kombinationer kan vara:
- Oracle 11g eller 12c Enterprise Edition installerad på samma (lokala) server eller PC:Värd:localhost, Port:1521, SID:orcl
- Oracle 11g Express Edition installerad på samma (lokala) server eller PC:Värd:localhost, Port:1521, SID:xe
- Oracle 11g eller 12c Enterprise Edition installerad på fjärrservern:Värd:myhostname.domain.com, Port:1521, SID:orcl
- Oracle 12c Enterprise Edition installerad på fjärrservern med hjälp av Multi-tenant-databas:Värd:myhostname.domain.com, Port:1521, Service Name:pdb1
- Oracle Autonomous Data Warehouse eller Autonomous Transaction Processing-databas som kör Oracle Cloud:Ändra Anslutningstyp till Cloud Wallet och välj sedan din plånbok .zip-fil som laddades ner från din molndatabasinstans. Följ dessa instruktioner (Sida 6).
Observera att om ditt mål-DBMS är en autonom databas i Oracle Cloud, måste du följa lite andra instruktioner som använder Oracle Cloud Wallet. Följ dessa instruktioner (Sida 6) för att skapa en anslutning till en autonom databas.
För att komma igång med att konfigurera den nya anslutningen, klicka på nedåtpilen bredvid det gröna +-tecknet och välj Ny anslutning...
Standardfönstret "Ny / Välj databasanslutning" visas.
Ange ett nytt namn för din anslutning och fyll i användarnamnet och lösenordet för det Oracle-databaskonto som du vill ansluta till.
Fyll i värdnamnet med internetvärdnamnet eller IP-adressen för servern där Oracle-databasen körs. Ställ in porten så att den matchar där Oracle Listener körs (1521 är standardinställningen).
Om värden har en Oracle System Identifier (SID) inställd, skriv in det. Annars, om Oracle-servern använder multi-tenant (via oracle 12c eller nyare), välj Service Name och ange tjänstnamnet för databasinstansen.
Andra avancerade autentiserings-, kryptering- och säkerhetsinställningar kan då vara specifika vid behov.
Nedan är ett exempel på anslutning till en Oracle 12c-instans på den lokala servern med hjälp av Oracle-systemkontot. Lösenordet för detta konto ställdes in under databasinstallationen.
Testa anslutningen genom att klicka på testknappen. Notera Status i det nedre vänstra hörnet för att se om det finns några felmeddelanden. Bilden nedan visar "framgång":
Typiska inloggningsfel och saker att kontrollera
Det finns ett antal anledningar till varför SQL Developer kanske inte gör en framgångsrik anslutning till Oracle Server. Några av de vanligare potentiella problemen och lösningarna listas nedan. Tänk på "Client/Server" Oracle-arkitekturen och det faktum att det finns ett nätverk mellan dem.
Status :Fel - Test misslyckades:IO-fel:Nätverksadaptern kunde inte upprätta anslutningen |
Det finns ett problem med att ansluta över nätverket mellan SQL Developer-klienten och Oracle-databasservern. Antingen är värdnamnet (eller IP-adressen) eller portnumret felaktigt. Eller något annat nätverksproblem (DNS, brandvägg, etc.) hindrar SQL Developer från att ansluta till Oracle-servern. Det är också möjligt att Oracle Listener (nättjänsten som accepterar inkommande anslutningar) inte körs eller lyssnar på en annan nätverksport. Försök att använda traceroute (tracert på Windows) för att se om servern överhuvudtaget kan nås. Kontrollera att Oracle-databasen är igång tillsammans med Oracle Listener-tjänsten och att inga brandväggar blockerar anslutningar till port 1521.
Status:Misslyckande -Test misslyckades:Lyssnaren vägrade anslutningen med följande fel: ORA-12505, TNS:listener känner för närvarande inte till SID som ges i anslutningsbeskrivningen |
SQL Developer ansluter framgångsrikt till Oracle Server Listener-processen, men det angivna SID-numret matchar inte det som är konfigurerat på databasservern.
Status:Misslyckande -Test misslyckades:Lyssnaren nekade anslutningen med följande fel: ORA-12514, TNS:listener känner för närvarande inte till tjänst som begärts i anslutningsbeskrivningen |
SQL Developer ansluter framgångsrikt till Oracle-servern, men det angivna tjänstnamnet stämmer inte överens med det som är konfigurerat på databasservern.
Status:Misslyckande -Test misslyckades:ORA-01017:ogiltigt användarnamn/lösenord; inloggning nekad |
SQL Developer ansluter framgångsrikt till Oracle-servern och till instansen (så värdnamn, port och SID eller tjänstnamn är korrekta). Användarnamnet och/eller lösenordet stämmer dock inte överens.
Status :Misslyckande - Testet misslyckades:ORA-28000:kontot är låst |
SQL Developer ansluter framgångsrikt till Oracle-servern och till instansen (så värdnamn, port och SID eller tjänstnamn är korrekta). Oracle-kontot har dock låsts (t.ex. för många misslyckade inloggningsförsök eller lösenord har gått ut).
ORA-12518:TNS:listener kunde inte lämna ut klientanslutning |
SQL Developer ansluter framgångsrikt till Oracle-servern och till instansen (så värdnamn, port och SID eller tjänstnamn är korrekta). Men lyssnaren kan i sin tur inte göra en anslutning till Oracle-databasen. Detta kan hända om databasen inte körs eller öppnas, eller om servern som kör Oracle har slut på RAM. Det kan också hända om det finns ett problem med användarbehörigheter mellan lyssnarprocessen och databasprocesserna.
Spara SQL Developer Connection
Om testet lyckas, klicka på knappen Spara för att spara denna anslutning.
Ansluter till Oracle-databasen
Slutligen, nu när anslutningen har testats och sparats, klicka på knappen Anslut för att ansluta till databasservern.
De fyra huvudområdena på skärmen inkluderar nu:
Anslutningsfönster, Reports Navigator-fönster, SQL-kalkylblad och skriptutmatningsfönster. Du kanske inte ser Script Output-fönstret förrän du kör en SQL-sats i SQL-arbetsbladet. Om SQL-arbetsbladet av någon anledning inte går att besöka, dra ned Verktyg menyn och välj SQL-arbetsbladet menyalternativ.
Alla SQL-satser kan skrivas in direkt i SQL-arbetsbladet eller klistras in från ett annat dokument, webbsida, e-post etc.
SQL-arbetsbladet får ett standardfilnamn som orcl_localhost.sql
Den här filen kan sparas i vilken lokal mapp som helst på datorn. Att spara den här filen är ett utmärkt sätt att hålla reda på historiken för SQL-satser när du skriver och skriver om dem.
För att öppna en befintlig SQL-skriptfil, dra ned Arkiv-menyn och välj Öppna. Navigera till mappen med SQL-skriptfilen, markera den och klicka på knappen Öppna.
Exportera Oracle-data med SQL Developer
SQL Developer har en funktion som gör det mycket enkelt att exportera data från en Oracle-tabell eller vy. Det finns många olika sätt att exportera data från Oracle beroende på kapaciteten hos måldatabasen eller dataverktygen. Några vanliga exempel på export av data är:
- SQL Data Definition Language och SQL INSERT-satsfil som används för att återskapa tabellen med data i en annan databas.
- Oracle SQL Loader-fil och skript som kan användas för att importera data till en annan Oracle-databas eller -schema.
- Comma-Separated Values (.csv)-fil som kan importeras av många olika programvaruverktyg, databaser etc.
- Microsoft Excel-fil
- eXtensible Markup Language (XML)-fil som kan importeras till olika programvaruverktyg
- HyperText Markup Language (HTML)-fil som kan visas på en webbsida
- Vanlig textfil med fast avstånd eller med någon annan avgränsare som kan importeras av många olika programvaruverktyg och databaser.
Det här exemplet förutsätter att du har minst en tabell eller vy med data i ditt schema (anslutning) som kan exporteras. Om du inte har något i ditt schema, skapa en grundläggande tabell och lägg till några data med hjälp av SQL-satserna nedan:
-- Create a simple Employee table CREATE TABLE employee ( employee_id INTEGER NOT NULL, first_name VARCHAR2(35), last_name VARCHAR2(65), salary NUMBER(12,2), department_number INTEGER ); -- Add three new records to the employee table INSERT INTO employee VALUES (101, 'Joe', 'Smith', 47000.00, 1); INSERT INTO employee VALUES (102, 'Alice', 'Jones, 49000.00, 2); INSERT INTO employee VALUES (103, 'Greg', 'Brown', 42500.00, 1, 2);
För att komma igång öppnar du navigeringsträdet i området Anslutningar till vänster på SQL Developer-skärmen. Under namnet på anslutningen kommer tabellerna, vyerna, versionsvyerna, indexen etc. att listas. Öppna tabellerna och Visningar kategorier också.
I det här exemplet kommer tabellen MEDARBETARE att exporteras.
Högerklicka på tabellen MEDARBETARE och välj menyalternativet Exportera... som visas nedan.
Detta kommer att ta upp en kort exportguide.
Standardinställningarna för att exportera en Oracle-tabell
Det finns många olika sätt att exportera data från Oracle beroende på kapaciteten hos måldatabasen eller dataverktygen. I det här exemplet kommer tabellen ANSTÄLLDA att exporteras till ett Microsoft Excel-kalkylblad.
När du exporterar till en CSV-fil eller ett kalkylblad är det inte nödvändigt att inkludera Data Definition Language (DDL) som anger strukturen för tabellen eller vyn. Så för det här exemplet, ta bort kryssrutan bredvid Exportera DDL .
I Exportera data ändra Format: till excel 2003+ ( xlsx )
Den här formatinställningen kommer att använda Excels nyare filformat som kan rymma upp till en miljon rader. För bakåtkompatibilitet med äldre versioner av Excel kan du istället välja Excel ’95 – 2003 (xls) som formatet.
Ge det nya kalkylbladet ett namn i textrutan bredvid Data kalkylbladsnamn: uppmaning.
Om du vill inkludera texten i SQL-satsen som används för att hämta data från Oracle, markera rutan bredvid Query Worksheet Name och ge sedan ett nytt namn för Excel-arbetsbladet där SQL-syntaxen kommer att visas (för det här exemplet, vi valde att inte inkludera SQL-koden).
Det sista avsnittet specificerar hur data ska lagras i en fil eller en uppsättning filer. I det här exemplet kommer data att exporteras till en enda fil. Filnamnet anges sedan i textrutan bredvid Fil: prompt. Använd knappen Bläddra... för att hitta en mapp (katalog) som har tillräckligt med ledigt diskutrymme. Lägg sedan till filnamnet i sökvägen.
När alla dessa är konfigurerade (som visas nedan), klicka på knappen Nästa>.
Nästa skärm ger två möjligheter att filtrera kolumnerna och/eller raderna på data som ska exporteras.
Som standard kommer alla kolumner och alla rader att exporteras. För att välja specifika kolumner klickar du på utrymmet bredvid tabellen under Kolumner rubrik. Klicka sedan på pennikonen för att redigera. Ett nytt fönster kommer att dyka upp med bockar bredvid de kolumner som ska inkluderas i dataexporten. I det här exemplet kommer alla kolumner att exporteras.
Klicka på OK för att stänga fönstret Datakolumner.
För att filtrera raderna som ska exporteras kan en WHERE-sats läggas till. Klicka i utrymmet under rubriken Objekt Var och klicka sedan på blyertsikonen för att ta fram Var-redigeraren.
Lägg till alla villkor (som avdelningsnummer =1) som behövs. För det här exemplet har inga Where-villkor lagts till eftersom vi vill att all data ska exporteras. Klicka på OK-knappen för att stänga fönstret Data Where när du är klar.
Klicka på knappen Nästa> för att komma till skärmen Exportsammanfattning. På den här skärmen anges en sammanfattning av alla exportalternativ.
Om något av alternativen inte är korrekt inställt, använd
Om alla exportalternativ ser bra ut klickar du på knappen Slutför för att påbörja exportjobbet.
Om du får några fel, se till att du har angett en målmapp som faktiskt finns (kopiera inte bara blint vad jag har i den här handledningen). Se också till att målfilen inte redan är öppen av till exempel Excel.
Använd Windows Explorer för att navigera till mappen för att se den nya exporterade filen. Till exempel:
Öppna Excel-filen för att se innehållet:
Innan du exporterar data igen, se till att stänga Excel-filen.
SQL Developer har en funktion som gör det mycket enkelt att importera data från ett brett utbud av datakällor till Oracle. Det finns många olika sätt att importera data till Oracle beroende på källan till data. Några vanliga dataformat som SQL Developer kan importera inkluderar:
Det här exemplet förutsätter att du har en anslutning till en Oracle-databas gjord via SQL Developer.
Filen som ska importeras kommer att vara filen customers_export.csv som länkas här. Datan ser ut som följande (319 rader med 21 kolumner):
För att komma igång öppnar du navigeringsträdet i området Anslutningar till vänster på SQL Developer-skärmen. Högerklicka på Tabell och välj menyalternativet Importera data... från popup-menyn.
Vid det här laget kommer äldre versioner av SQL Developer (före 4.1.3) att visa en filvalsdialogruta där du kan välja filen som ska importeras. Nyare versioner av SQL Developer (4.1.3 och senare) kommer att presentera det första steget i dataimportguiden som visas nedan.
För den nyare SQL-utvecklaren, klicka på knappen Webbläsare för att visa dialogrutan Filval för att välja din fil.
Navigera till mappen där din fil finns och välj den. Observera att filtypen har ställts in för att filtrera efter Excel-filer, CSV-filer och några andra varianter av textfiler.
Klicka på knappen Öppna för att starta guiden Dataimport.
Det första steget i Dataimportguiden ger en förhandsvisning av data som ska importeras. I det här exemplet har CSV-filen en rad med rubriker som importguiden kommer att använda för att skapa variabelnamn. Det finns ytterligare alternativ i det här steget i guiden för att hoppa över ett antal rader i början (0 i det här exemplet), välj formatering (csv i det här exemplet), teckenkodning, citattecken som används för att omsluta text eller strängar och rad avslutning/terminator. I de flesta fall kan dessa inställningar lämnas som standard.
Några ändringar som kan hjälpa i vissa situationer inkluderar:
Om alla inställningar ser bra ut och de förhandsgranskade uppgifterna ser bra ut, klicka på knappen Nästa> för att gå till nästa steg.
Importera data med SQL Developer
Komma igång med dataimporten
Förhandsgranska data som ska importeras och bekräfta inställningar
Välja importmetod
Nästa steg i guiden är att ange importmetoden. Ett antal olika importmetoder tillhandahålls:
- Infoga – Infoga data direkt i en ny eller befintlig tabell.
- Infoga skript – Skapa en SQL-skriptfil som innehåller alla nödvändiga DDL- och INSERT-satser för att ladda data till en databas. Det här skriptet kan köras omedelbart eller flyttas till en annan databasanslutning och köras där.
- Extern tabell – Konfigurerar en extern tabellstruktur inom Oracle där tabellen visas i datalexikonet men data bevaras i en extern fil.
- SQL Loader Utility – Skriv SQL Loader-skriptet och kommandon för att importera data till Oracle.
För det här exemplet Infoga metod kommer att användas så att data infogas direkt i en ny tabell.
Ange ett namn på tabellen. Om det finns en anledning att begränsa antalet rader som ska importeras, kontrollera Importera radgräns rutan och ange antalet rader. Till exempel, om din datafil har miljontals rader men du bara är intresserad av att veta hur en del av datan ser ut, kan du begränsa antalet importerade rader. I det här exemplet kommer alla rader att importeras.
Klicka på knappen Nästa> för att gå till nästa steg.
Välj de kolumner som ska importeras
Steg 3 i guiden är att välja de kolumner som ska importeras. Markera eventuella kolumner i Tillgängliga kolumner fönstret och klicka på högerpilen för att flytta dem till Valda kolumner fönster. I det här exemplet kommer alla kolumner att importeras.
Klicka på knappen Nästa> för att gå till nästa steg.
Tilldela datatyper till varje kolumn
Steg 4 i guiden låter oss definiera datatyperna och storlekarna för kolumnerna som ska skapas i den nya datatabellen. Detta är ett mycket viktigt steg! Om fel datatyp väljs, eller om en datatyp inte har tillräckligt med utrymme för att lagra inkommande data, kommer importen att misslyckas.
De nyare versionerna av SQL Developer visar en dataförhandsgranskning för varje kolumn när den väljs:
Några vanliga problem som uppstår inkluderar:
- Det finns inte tillräckligt med utrymme i en VARACHAR-kolumn för att rymma det största strängen/textvärdet.
- Användning av en NUMBER datatyp i en kolumn när vissa texttecken finns i datan.
- Använder ett felaktigt datum- eller tidsformat vid import av datum och tider.
Besök var och en av Källdatakolumnerna genom att klicka på dem en i taget. Gör justeringar av datatyperna allt eftersom. För detta exempel görs följande justeringar:
- CUSTOMER_ID ändra till INTEGER Data Type och ta bort kryssrutan för Nullable
- CUST_FIRST_NAME använder VARCHAR2 med storleken 30
- CUST_LAST_NAME använder VARCHAR2 med storleken 60
- STREET_ADDRESS använder VARCHAR2 med storleken 65
- POST_CODE använder VARCHAR2 med storleken 20
- CITY använder VARCHAR2 med storleken 35
- STATE_PROVINCE använder VARCHAR2 med storleken 6
- COUNTRY_ID använder VARCHAR2 med storleken 4
- COUNTRY_NAME använder VARCHAR2 med storleken 60
- REGION_ID använder VARCHAR2 med storleken 2
- NLS_LANGUAGE använd VARCHAR2 med storleken 6
- NLS_TERRITORY använder VARCHAR2 med storleken 30
- CREDIT_LIMIT använd NUMBER med storlek/precision på 10 och skala 0
- CUST_EMAIL använder VARCHAR2 med storleken 60
- PRIMARY_PHONE_NUMBER använd VARCHAR2 med storleken 30
- PHONE_NUMBER_2 använder VARCHAR2 med storleken 30
- ACCOUNT_MGR_ID använder VARCHAR2 med storleken 6
- LOCATION_GTYPE använder INTEGER
- LOCATION_SRID använder INTEGER
- LOCATION_X använder NUMBER med storlek/precision på 14 och skala 6
- LOCATION_Y använd NUMBER med storlek/precision på 14 och skala 6
Klicka på knappen Nästa> för att gå till nästa steg.
Verifiera importparametrarna (äldre SQL-utvecklare)
För äldre (före 4.1.3) versioner av SQL Developer ger det sista steget i dataimportguiden en chans att verifiera att dataparametrarna och inställningarna tillåter att datafilen kan analyseras. Den här skärmen visas nedan:
Klicka på knappen Verifiera för att kontrollera att alla inställningar fungerar korrekt. Resultaten av verifieringsprocessen visas nedan:
Om det finns några problem, använd
Nyare versioner av SQL Developer (4.1.3 och nyare) har en något annorlunda slutskärm. Vid denna tidpunkt har inställningarna redan kontrollerats och därför visas en sammanfattningsskärm. Knappen Spara tillstånd i det övre högra hörnet ger ett sätt att spara alla importinställningar till en fil. Den här inställningsfilen kan laddas nästa gång dataimportguiden körs.
I det här exemplet, om du använder den nyare versionen av SQL Developer, klicka på knappen Spara tillstånd och spara inställningarna i en fil med namnet:oracle_sqldev_import_customers.
I båda fallen (gammal eller nyare version av SQL Developer) för att starta dataimporten, klicka på knappen Slutför. När importen är klar visas en dialogruta. Eventuella fel som uppstår under importen kommer att visas.
Gå tillbaka till SQL Developer och se strukturen för den importerade tabellen.
Granska sedan data (klicka på fliken Data) för att se till att datavärdena importerades korrekt.
Spara importparametrarna (nyare versioner av SQL Developer)
Köra importen
För nyare versioner av SQL Developer kan de sparade importinställningarna importeras i det första steget i guiden Importera data för att köra om eller för att ändra importinställningar innan du kör om dataimporten.