Як створити нову базу даних після початкової установки бази даних Oracle 11g Express Edition?


112

Я встановив Oracle Database 11g Express Edition на своєму ПК (Windows 7), а також встановив Oracle SQL Developer.

Я хочу створити просту базу даних для початку, можливо, з однієї таблиці або двох, а потім використовувати Oracle SQL Developer для вставки даних і запиту їх.

Коли я відкриваю Oracle SQL Developer, він просить мене створити нове з'єднання, тому передбачає, що база даних вже створена.

Отже, моє запитання полягає в тому, як створити початкову базу даних в Oracle 11g?

Відповіді:


56

Це посилання: Створення зразкової бази даних в Oracle 11g Release 2 - хороший приклад створення зразкової бази даних.

Посилання: Посібник для новачків до бази даних Oracle 11g Поширені проблеми повинні допомогти вам, якщо ви зіткнетесь із типовими проблемами створення вашої бази даних.

Удачі!

EDIT: Оскільки ви використовуєте XE, у вас повинен бути вже створений БД, для підключення за допомогою SQL * Plus та SQL Developer і т.д. інформація тут: Підключення до Oracle Database Express Edition та вивчення його .

Витяг:

Підключення до Oracle Database XE від SQL Developer SQL Developer - це клієнтська програма, за допомогою якої ви можете отримати доступ до Oracle Database XE. З Oracle Database XE 11g, випуск 2 (11.2), ви повинні використовувати SQL Developer версії 3.0. У цьому розділі передбачається, що розробник SQL встановлений у вашій системі, і показує, як його запустити та підключитися до бази даних Oracle XE. Якщо розробник SQL не встановлений у вашій системі, див. Посібник користувача щодо встановлення Oracle Database SQL Developer's Guide.

Примітка:

Для наступної процедури: Під час першого запуску розробника SQL у вашій системі ви повинні надати повний шлях до java.exe на кроці 1.

Для кроку 4 вам потрібно ім’я користувача та пароль.

Для кроку 6 вам потрібно ім'я хосту та порт.

Щоб підключитися до Oracle Database XE від SQL Developer:

Запустіть розробник SQL.

Для отримання інструкцій див. Посібник користувача Oracle Database SQL Developer.

Якщо ви вперше запустили розробник SQL у вашій системі, вам буде запропоновано ввести повний шлях до java.exe (наприклад, C: \ jdk1.5.0 \ bin \ java.exe). Або введіть повний шлях після запиту або перейдіть до нього, а потім натисніть клавішу Enter.

Відкриється вікно розробника Oracle SQL.

У вікні навігації вікна натисніть Підключення.

З'явиться панель З'єднання.

На панелі "З'єднання" натисніть на значок Нове з'єднання.

Відкриється вікно Підключення нової / вибір бази даних.

У вікні З'єднання нової / вибір бази даних введіть відповідні значення у полях Ім'я підключення, Ім'я користувача та Пароль.

Для безпеки символи пароля, які ви вводите, відображаються як зірочки.

Біля поля Пароль розташований прапорець Зберегти пароль. За замовчуванням його не вибрано. Oracle рекомендує прийняти за замовчуванням.

У вікні З'єднання нової / вибір бази даних перейдіть на вкладку Oracle.

З'являється панель Oracle.

На панелі Oracle:

Для типу з'єднання прийміть типовий (Основний).

Щодо ролі, прийміть типово.

У полях Hostname і Port прийміть стандартні параметри або введіть відповідні значення.

Виберіть опцію SID.

У полі SID введіть прийняти за замовчуванням (xe).

У вікні З'єднання нової / вибір бази даних натисніть кнопку Тест.

З'єднання тестується. Якщо з'єднання вдалося, індикатор стану змінюється з порожнього на Успіх.

Опис ілюстрації success.gif

Якщо тест вдався, натисніть кнопку Підключити.

Вікно New / Select Database Connection закриється. На панелі "З'єднання" відображається з'єднання, ім'я якого ви ввели у полі Ім'я з'єднання на кроці 4.

Ви знаходитесь в середовищі розробника SQL.

Щоб вийти із програми SQL Developer, виберіть Вийти з меню Файл.


1
ви маєте на увазі, що помічник конфігурації бази даних розгорнуто з базою даних? Я не зміг його знайти
Zo72,

5
Вибачте, я щойно помітив, що ви використовуєте XE. Це дозволяє лише один екземпляр, чи не запропонував вам створити екземпляр під час встановлення програмного забезпечення? У вас повинна бути база даних із уже створеним SID "XE". Ви також повинні встановити свої паролі для користувачів SYS та SYSTEM.
Оллі

3
Дякуємо за вашу допомогу, я перевірю це, і якщо ви правильно, то
позначу

Краще використовувати описові терміни при посиланні на посилання на випадок їх пошкодження, як у першому, який я виявив, був зламаний. Потім ви можете знайти його через пошук в Google. HTH
Джеймс Дрінкард

59

Коли ви встановили XE ...., він автоматично створив базу даних під назвою "XE". Ви можете використовувати "систему" та пароль для входу, які ви встановили для входу.

Ключова інформація

сервер: (ви визначили)
порт: 1521
база даних:
ім'я користувача XE : система
пароль : (Ви вказали)

Також Oracle є важким і не дозволяє вам легко створити іншу базу даних. Вам потрібно використовувати SQL або інший інструмент, щоб створити більше бази даних, окрім "XE".


6
Дякую, чудова відповідь, це саме те, що мені було потрібно. За цю відповідь слід проголосувати вгорі.
KevSheedy

1
Це набагато корисніша відповідь, ніж прийнята.
AfterWorkGuinness

1
Це не відповідає на питання
Філіп Рего

9

Якщо ви хочете створити нову схему в XE, вам потрібно створити USER і призначити його привілеї. Виконайте такі дії:

  • Відкрийте командний рядок SQL * Plus
SQL> connect sys as sysdba
  • Введіть пароль
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;

Тепер ви можете підключитися через Oracle SQL Developer і створити свої таблиці.


5

"Як створити початкову базу даних?"

Ви створили базу даних, коли встановили XE. В якийсь момент процес встановлення запропонував вам ввести пароль для облікового запису SYSTEM. Використовуйте це для підключення до бази даних XE за допомогою командного рядка SQL у меню програми.

Документація XE в Інтернеті і дуже корисна. Знайдіть його тут .

Варто зазначити, що 11g XE має кілька обмежень, одне з яких - лише одна база даних на сервері. Тож використання попередньо встановленої бази даних є розумним варіантом.


Це насправді не відповідь, просто використовувати існуючий? Він запитав, як зробити новий.
Gherbi Hicham

1
@gherbihicham - актуальним питанням шукача було "як створити початкову базу даних?" Я пояснив, що процес встановлення створив початкову базу даних. Насправді вони використовують XE, який має явне обмеження однією базою даних на кожній машині, тому говорити їм, як створити іншу базу даних, було б безглуздо.
APC

1
Гаразд справедливий, зняв мій потік.
Gherbi Hicham

2

Збережіть наступний код у пакетному файлі (наприклад, createOraDbWin.bat). Змініть значення параметрів, наприклад, ім'я програми, ora_dir тощо. Запустіть файл із адміністративними привілеями. Пакетний файл створює базову базу даних oracle:

Примітка . Може зайняти багато часу (скажімо, близько 30 хвилин)

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

Вітаємо ваші виправлення та вдосконалення!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.