Jak utworzyć nową bazę danych po początkowej instalacji Oracle Database 11g Express Edition?


112

Zainstalowałem Oracle Database 11g Express Edition na moim komputerze (Windows 7) i zainstalowałem również Oracle SQL Developer.

Na początek chcę utworzyć prostą bazę danych, może z jedną lub dwiema tabelami, a następnie użyć Oracle SQL Developer do wstawiania danych i wykonywania zapytań.

Kiedy otwieram Oracle SQL Developer, prosi mnie o utworzenie nowego połączenia, dlatego zakłada, że ​​baza danych została już utworzona.

Moje pytanie brzmi, jak utworzyć początkową bazę danych w Oracle 11g?

Odpowiedzi:


56

To łącze: Tworzenie przykładowej bazy danych w Oracle 11g Release 2 jest dobrym przykładem tworzenia przykładowej bazy danych.

To łącze: Przewodnik dla początkujących po typowych problemach bazy danych Oracle 11g powinien pomóc w przypadku napotkania typowych problemów podczas tworzenia bazy danych.

Powodzenia!

EDYCJA: Ponieważ używasz XE, powinieneś mieć już utworzoną bazę danych, aby łączyć się za pomocą SQL * Plus i SQL Developer itp. Informacje są tutaj: Łączenie się z Oracle Database Express Edition i Exploring It .

Wyciąg:

Łączenie się z Oracle Database XE z poziomu SQL Developer SQL Developer to program kliencki, za pomocą którego można uzyskać dostęp do Oracle Database XE. W przypadku Oracle Database XE 11g Release 2 (11.2) należy używać programu SQL Developer w wersji 3.0. W tej sekcji przyjęto, że w systemie jest zainstalowany program SQL Developer, i pokazano, jak go uruchomić i połączyć z Oracle Database XE. Jeśli w systemie nie jest zainstalowany program SQL Developer, instrukcje dotyczące instalacji można znaleźć w podręczniku użytkownika Oracle Database SQL Developer.

Uwaga:

Aby wykonać następującą procedurę: Przy pierwszym uruchomieniu programu SQL Developer w systemie należy podać pełną ścieżkę do pliku java.exe w kroku 1.

W kroku 4 potrzebujesz nazwy użytkownika i hasła.

W kroku 6 potrzebujesz nazwy hosta i portu.

Aby połączyć się z Oracle Database XE z poziomu SQL Developer:

Uruchom SQL Developer.

Aby uzyskać instrukcje, zobacz Podręcznik użytkownika programu Oracle Database SQL Developer.

Jeśli jest to pierwsze uruchomienie programu SQL Developer w systemie, zostanie wyświetlony monit o wprowadzenie pełnej ścieżki do java.exe (na przykład C: \ jdk1.5.0 \ bin \ java.exe). Wpisz pełną ścieżkę po monicie lub przejdź do niej, a następnie naciśnij klawisz Enter.

Otworzy się okno Oracle SQL Developer.

W ramce nawigacji okna kliknij opcję Połączenia.

Pojawi się okienko Połączenia.

W okienku Połączenia kliknij ikonę Nowe połączenie.

Otworzy się okno New / Select Database Connection.

W oknie Nowe / Wybierz połączenie z bazą danych wpisz odpowiednie wartości w polach Nazwa połączenia, Nazwa użytkownika i Hasło.

Ze względów bezpieczeństwa wpisywane znaki hasła są wyświetlane jako gwiazdki.

W pobliżu pola Hasło znajduje się pole wyboru Zapisz hasło. Domyślnie nie jest zaznaczone. Oracle zaleca zaakceptowanie wartości domyślnej.

W oknie Nowe / Wybierz połączenie z bazą danych kliknij zakładkę Oracle.

Pojawi się okienko Oracle.

W okienku Oracle:

W polu Typ połączenia zaakceptuj wartość domyślną (Podstawowe).

W polu Rola zaakceptuj wartość domyślną.

W polach Nazwa hosta i Port zaakceptuj wartości domyślne lub wpisz odpowiednie wartości.

Wybierz opcję SID.

W polu SID wpisz akceptację domyślną (xe).

W oknie New / Select Database Connection kliknij przycisk Test.

Połączenie jest testowane. Jeśli połączenie się powiedzie, wskaźnik stanu zmieni się z pustego na sukces.

Opis ilustracji sukcesu.gif

Jeśli test się powiódł, kliknij przycisk Połącz.

Okno Nowe / Wybierz połączenie z bazą danych zostanie zamknięte. W okienku Połączenia wyświetlane jest połączenie, którego nazwę wprowadzono w polu Nazwa połączenia w kroku 4.

Jesteś w środowisku SQL Developer.

Aby wyjść z SQL Developer, wybierz Exit z menu File.


1
czy masz na myśli, że Asysta podczas konfigurowania bazy danych jest wdrażana wraz z bazą danych? Nie mogłem go znaleźć
Zo72

5
Przepraszamy, właśnie zauważyłem, że używasz XE. Zezwala tylko na jedną instancję, czy nie monitował o utworzenie instancji podczas instalacji oprogramowania? Powinieneś mieć już utworzoną bazę danych o identyfikatorze SID „XE”. Powinieneś także ustawić hasła dla użytkowników SYS i SYSTEM.
Ollie

3
Dziękuję za pomoc, sprawdzę to i jeśli będzie poprawna,
oznaczę

Podczas odwoływania się do linków lepiej jest używać określeń opisowych na wypadek, gdyby były uszkodzone, tak jak w przypadku pierwszego, który uważam za uszkodzony. Następnie możesz go znaleźć za pomocą wyszukiwarki Google. HTH
James Drinkard

59

Po zainstalowaniu XE ... automatycznie utworzono bazę danych o nazwie „XE”. Możesz użyć swojego "systemu" logowania i hasła, które ustawiłeś do logowania.

Kluczowe informacje

serwer: (zdefiniowałeś)
port: 1521
baza danych: XE
nazwa użytkownika:
hasło systemowe : (zdefiniowałeś)

Również Oracle jest trudne i nie mówi ci łatwo o utworzeniu kolejnej bazy danych. Musisz użyć SQL lub innego narzędzia, aby stworzyć więcej baz danych poza "XE".


6
Dzięki, świetna odpowiedź, właśnie tego potrzebowałem. Ta odpowiedź powinna zostać wybrana na szczyt.
KevSheedy

1
To znacznie bardziej pomocna odpowiedź niż ta przyjęta.
AfterWorkGuinness

1
To nie daje odpowiedzi na pytanie
Philip Rego

9

Jeśli chcesz stworzyć nowy schemat w XE, musisz stworzyć UŻYTKOWNIKA i przypisać mu uprawnienia. Wykonaj następujące kroki:

  • Otwórz wiersz polecenia SQL * Plus
SQL> connect sys as sysdba
  • Podaj hasło
SQL> CREATE USER myschema IDENTIFIED BY Hga&dshja;
SQL> ALTER USER myschema QUOTA unlimited ON SYSTEM;
SQL> GRANT CREATE SESSION, CONNECT, RESOURCE, DBA TO myschema;
SQL> GRANT ALL PRIVILEGES TO myschema;

Teraz możesz łączyć się przez Oracle SQL Developer i tworzyć swoje tabele.


5

„Jak utworzyć początkową bazę danych?”

Utworzyłeś bazę danych podczas instalacji XE. W pewnym momencie proces instalacji poprosił o podanie hasła do konta SYSTEM. Użyj tego, aby połączyć się z bazą danych XE za pomocą wiersza polecenia SQL w menu aplikacji.

Dokumentacja XE jest dostępna online i bardzo pomocna. Znajdziesz to tutaj .

Warto wspomnieć, że 11g XE ma kilka ograniczeń, z których jednym jest tylko jedna baza danych na serwer. Dlatego rozsądną opcją jest użycie wstępnie zainstalowanej bazy danych.


To naprawdę nie jest odpowiedź, po prostu użyj istniejącej? Zapytał, jak zrobić nowy.
Gherbi Hicham

1
@gherbihicham - rzeczywiste pytanie Poszukiwacza brzmiało „jak utworzyć początkową bazę danych?” Wyjaśniłem, że proces instalacji utworzył początkową bazę danych. W rzeczywistości używają XE, który ma wyraźne ograniczenie jednej bazy danych na komputer, więc mówienie im, jak utworzyć kolejną bazę danych, byłoby bezcelowe.
APC

1
OK, uczciwie, usunąłem mój głos przeciw.
Gherbi Hicham

2

Zapisz następujący kod w pliku wsadowym (np. CreateOraDbWin.bat). Zmień wartości parametrów, takie jak nazwa_aplikacji, ora_dir itp., Uruchom plik z uprawnieniami administratora. Plik wsadowy tworzy podstawową bazę danych Oracle:

Uwaga : może zająć dużo czasu (powiedzmy około 30 minut)

REM ASSUMPTIONS
rem oracle xe has been installed
rem oracle_home has been set
rem oracle_sid has been set
rem oracle service is running

REM SET PARAMETERS
set char_set =al32utf8
set nls_char_set =al16utf16

set ora_dir=d:\app\db\oracle
set version=11.2.0.0
set app_name=xyz
set db_name=%app_name%_db
set db_sid=%db_name%_sid
set db_ins=%db_name%_ins
set sys_passwd=x3y5z7
set system_passwd=1x4y9z

set max_log_files=32
set max_log_members=4
set max_log_history=100
set max_data_files=254
set max_instances=1

set version_dir=%ora_dir%\%version%
set db_dir=%version_dir%\%db_name%

set instl_temp_dir=%db_dir%\instl\script

set system_dir=%db_dir%\system
set user_dir=%db_dir%\user
set undo_dir=%db_dir%\undo
set sys_aux_dir=%db_dir%\sysaux
set temp_dir=%db_dir%\temp
set control_dir=%db_dir%\control

set pfile_dir=%db_dir%\pfile
set data_dir=%db_dir%\data
set index_dir=%db_dir%\index
set log_dir=%db_dir%\log
set backup_dir=%db_dir%\backup
set archive_dir=%db_dir%\archive

set data_dir=%db_dir%\data
set index_dir=%db_dir%\index
set log_dir=%db_dir%\log
set backup_dir=%db_dir%\backup
set archive_dir=%db_dir%\archive
set undo_dir=%db_dir%\undo
set default_dir=%db_dir%\default

set system_tbs=%db_name%_system_tbs
set user_tbs=%db_name%_user_tbs
set sys_aux_tbs=%db_name%_sys_aux_tbs
set temp_tbs=%db_name%_temp_tbs
set control_tbs=%db_name%_control_tbs

set data_tbs=%db_name%_data_tbs
set index_tbs=%db_name%_index_tbs
set log_tbs=%db_name%_log_tbs
set backup_tbs=%db_name%_backup_tbs
set archive_tbs=%db_name%_archive_tbs
set undo_tbs=%db_name%_undo_tbs
set default_tbs=%db_name%_default_tbs

set system_file=%system_dir%\%db_name%_system.dbf
set user_file=%user_dir%\%db_name%_user.dbf
set sys_aux_file=%sys_aux_dir%\%db_name%_sys_aux.dbf
set temp_file=%temp_dir%\%db_name%_temp.dbf
set control_file=%control_dir%\%db_name%_control.dbf

set data_file=%data_dir%\%db_name%_data.dbf
set index_file=%index_dir%\%db_name%_index.dbf
set backup_file=%backup_dir%\%db_name%_backup.dbf
set archive_file=%archive_dir%\%db_name%_archive.dbf
set undo_file=%undo_dir%\%db_name%_undo.dbf
set default_file=%default_dir%\%db_name%_default.dbf

set log1_file=%log_dir%\%db_name%_log1.log
set log2_file=%log_dir%\%db_name%_log2.log
set log3_file=%log_dir%\%db_name%_log3.log

set init_file=%pfile_dir%\init%db_sid%.ora
set db_create_file=%instl_temp_dir%\createdb.sql
set db_drop_file=dropdb.sql

set db_create_log=%instl_temp_dir%\db_create.log
set db_drop_log=db_drop.log

set oracle_sid=%db_sid%

REM WRITE DROP DATABASE SQL COMMANDS TO FILE
echo shutdown immediate;>%db_drop_file%
echo startup mount exclusive restrict;>>%db_drop_file%
echo drop database;>>%db_drop_file%

REM EXECUTE DROP DATABASE SQL COMMANDS FROM THE FILE    
rem sqlplus -s "/as sysdba" @"%db_drop_file%">%db_drop_log%

REM DELETE WINDOWS ORACLE SERVICE
rem oradim -delete -sid %db_sid%

REM CREATE DIRECTORY STRUCTURE
md %system_dir%
md %user_dir%
md %sys_aux_dir%
md %temp_dir%
md %control_dir%

md %pfile_dir%
md %data_dir%
md %index_dir%
md %log_dir%
md %backup_dir%
md %archive_dir%
md %undo_dir%
md %default_dir%
md %instl_temp_dir%

REM WRITE INIT FILE PARAMETERS TO INIT FILE
echo db_name='%db_name%'>%init_file%
echo memory_target=1024m>>%init_file%
echo processes=150>>%init_file%
echo sessions=20>>%init_file%
echo audit_file_dest=%user_dir%>>%init_file%
echo audit_trail ='db'>>%init_file%
echo db_block_size=8192>>%init_file%
echo db_domain=''>>%init_file%
echo diagnostic_dest=%db_dir%>>%init_file%
echo dispatchers='(protocol=tcp) (service=%app_name%xdb)'>>%init_file%
echo shared_servers=4>>%init_file%
echo open_cursors=300>>%init_file%
echo remote_login_passwordfile='exclusive'>>%init_file%
echo undo_management=auto>>%init_file%
echo undo_tablespace='%undo_tbs%'>>%init_file%
echo control_files = ("%control_dir%\control1.ora", "%control_dir%\control2.ora")>>%init_file%
echo job_queue_processes=4>>%init_file%
echo db_recovery_file_dest_size = 10g>>%init_file%
echo db_recovery_file_dest=%log_dir%>>%init_file%
echo compatible ='11.2.0'>>%init_file%

REM WRITE DB CREATE AND ITS RELATED SQL COMMAND TO FILE    
echo startup nomount pfile='%init_file%';>>%db_create_file%
echo.>>%db_create_file%

echo create database %db_name%>>%db_create_file%
echo user sys identified by %sys_passwd%>>%db_create_file%
echo user system identified by %system_passwd%>>%db_create_file%
echo logfile group 1 ('%log1_file%') size 100m,>>%db_create_file%
echo group 2 ('%log2_file%') size 100m,>>%db_create_file%
echo group 3 ('%log3_file%') size 100m>>%db_create_file%
echo maxlogfiles %max_log_files%>>%db_create_file%
echo maxlogmembers %max_log_members%>>%db_create_file%
echo maxloghistory %max_log_history%>>%db_create_file%
echo maxdatafiles %max_data_files%>>%db_create_file%
echo character set %char_set %>>%db_create_file%
echo national character set %nls_char_set %>>%db_create_file%
echo extent management local>>%db_create_file%
echo datafile '%system_file%' size 325m reuse>>%db_create_file%
echo sysaux datafile '%sys_aux_file%' size 325m reuse>>%db_create_file%
echo default tablespace %default_tbs%>>%db_create_file%
echo datafile '%default_file%'>>%db_create_file%
echo size 500m reuse autoextend on maxsize unlimited>>%db_create_file%
echo default temporary tablespace %temp_tbs%>>%db_create_file%
echo tempfile '%temp_file%'>>%db_create_file%
echo size 20m reuse>>%db_create_file%
echo undo tablespace %undo_tbs%>>%db_create_file%
echo datafile '%undo_file%'>>%db_create_file%
echo size 200m reuse autoextend on maxsize unlimited;>>%db_create_file%
echo.>>%db_create_file%

echo @?\rdbms\admin\catalog.sql>>%db_create_file%
echo.>>%db_create_file%

echo @?\rdbms\admin\catproc.sql>>%db_create_file%
echo.>>%db_create_file%

echo create spfile from pfile='%init_file%';>>%db_create_file%
echo.>>%db_create_file%

echo shutdown immediate;>>%db_create_file%
echo.>>%db_create_file%

echo startup;>>%db_create_file%
echo.>>%db_create_file%

echo show parameter spfile;>>%db_create_file%
echo.>>%db_create_file%

REM CREATE WINDOWS ORACLE SERVICE
oradim -new -sid %db_sid% -startmode auto

REM EXECUTE DB CREATE SQL COMMANDS FROM FILE
sqlplus -s "/as sysdba" @"%db_create_file%">%db_create_log%

pause

Powitaj swoje poprawki i ulepszenia!

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.