Как создать новую базу данных после первоначальной установки базы данных Oracle 11g Express Edition?

112

Я установил Oracle Database 11g Express Edition на свой компьютер (Windows 7), а также Oracle SQL Developer.

Я хочу для начала создать простую базу данных, возможно, с одной или двумя таблицами, а затем использовать Oracle SQL Developer для вставки данных и запросов к ним.

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

Итак, мой вопрос: как мне создать исходную базу данных в Oracle 11g?

Zo72
источник

Ответы:

56

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

Эта ссылка: Руководство для новичков по распространенным проблемам базы данных Oracle 11g должно помочь вам, если вы столкнетесь с некоторыми типичными проблемами при создании базы данных.

Удачи!

РЕДАКТИРОВАТЬ: Поскольку вы используете XE, у вас должна быть уже создана БД для подключения с помощью SQL * Plus и SQL Developer и т. Д. Информация здесь: Подключение к Oracle Database Express Edition и ее изучение .

Извлечь:

Подключение к Oracle Database XE из SQL Developer SQL Developer - это клиентская программа, с помощью которой вы можете получить доступ к Oracle Database XE. В Oracle Database XE 11g Release 2 (11.2) необходимо использовать SQL Developer версии 3.0. В этом разделе предполагается, что в вашей системе установлен SQL Developer, и показано, как его запустить и подключиться к Oracle Database XE. Если SQL Developer не установлен в вашей системе, см. Руководство пользователя Oracle Database SQL Developer для инструкций по установке.

Примечание:

Для следующей процедуры: при первом запуске SQL Developer в вашей системе необходимо указать полный путь к java.exe на шаге 1.

Для шага 4 вам понадобятся имя пользователя и пароль.

Для шага 6 вам потребуется имя хоста и порт.

Чтобы подключиться к Oracle Database XE из SQL Developer:

Запустите SQL Developer.

Инструкции см. В Руководстве пользователя Oracle Database SQL Developer.

Если вы впервые запускаете SQL Developer в своей системе, вам будет предложено ввести полный путь к java.exe (например, C: \ jdk1.5.0 \ bin \ java.exe). Либо введите полный путь после приглашения, либо перейдите к нему и нажмите клавишу Enter.

Откроется окно Oracle SQL Developer.

Во фрейме навигации окна щелкните Подключения.

Появится панель "Подключения".

На панели «Подключения» щелкните значок «Новое подключение».

Откроется окно «Создать / выбрать подключение к базе данных».

В окне «Создать / выбрать подключение к базе данных» введите соответствующие значения в поля «Имя подключения», «Имя пользователя» и «Пароль».

В целях безопасности вводимые символы пароля отображаются звездочками.

Рядом с полем «Пароль» стоит флажок «Сохранить пароль». По умолчанию он не выбран. Oracle рекомендует принять значение по умолчанию.

В окне «Создать / выбрать подключение к базе данных» перейдите на вкладку Oracle.

Появится панель Oracle.

На панели Oracle:

Для Типа подключения примите значение по умолчанию (Базовый).

Для роли примите значение по умолчанию.

В полях Имя хоста и Порт либо примите значения по умолчанию, либо введите соответствующие значения.

Выберите вариант SID.

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

В окне «Создать / выбрать подключение к базе данных» нажмите кнопку «Проверить».

Связь проверена. Если соединение установлено успешно, индикатор состояния изменится с пустого на Успешно.

Описание иллюстрации success.gif

Если проверка прошла успешно, нажмите кнопку Подключиться.

Окно Создать / Выбрать соединение с базой данных закроется. На панели «Подключения» отображается подключение, имя которого вы ввели в поле «Имя подключения» на шаге 4.

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

Чтобы выйти из SQL Developer, выберите Exit в меню File.

Олли
источник
1
Вы имеете в виду, что Ассистент настройки базы данных развернут вместе с базой данных? Я не нашел
Zo72 02
5
Извините, я только что заметил, что вы используете XE. Он разрешает только один экземпляр, разве он не предлагал вам создать экземпляр при установке программного обеспечения? У вас должна быть база данных с уже созданным SID "XE". Вы также должны установить свои пароли для пользователей SYS и SYSTEM.
Ollie
3
Спасибо за вашу помощь, я проверю это и, если все будет правильно,
отмечу
При обращении к ссылкам лучше использовать описательные термины на случай, если они сломаются, как в случае с вашей первой, которая, как я обнаружил, не работает. Затем вы можете найти его через поиск в Google. HTH
Джеймс Дринкард
59

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

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

сервер: (вы определили)
порт: 1521
база данных:
имя пользователя XE : системный
пароль: (вы определили)

Кроме того, Oracle затрудняется сказать, что вам легко создать другую базу данных. Вы должны использовать SQL или другой инструмент для создания дополнительных баз данных, помимо «XE».

Альберт Т. Вонг
источник
6
Спасибо, отличный ответ, это именно то, что мне нужно. Этот ответ должен быть поставлен на вершину.
KevSheedy
1
Это гораздо более полезный ответ, чем принятый.
AfterWorkGuinness
1
Это не ответ на вопрос
Филип Рего
9

Если вы хотите создать новую схему в XE, вам необходимо создать ПОЛЬЗОВАТЕЛЯ и назначить ему привилегии. Следуй этим шагам:

  • Откройте командную строку 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 и создавать свои таблицы.

Pinei
источник
5

«Как мне создать исходную базу данных?»

Вы создали базу данных при установке XE. В какой-то момент процесс установки попросил вас ввести пароль для учетной записи SYSTEM. Используйте это для подключения к базе данных XE с помощью командной строки SQL в меню приложения.

Документация по XE находится в сети и очень полезна. Найдите здесь .

Стоит отметить, что 11g XE имеет несколько ограничений, одно из которых - только одна база данных на сервер. Так что использование предустановленной базы данных - разумный вариант.

APC
источник
Это не совсем ответ, просто используйте существующий? Спросил, как сделать новую.
Герби Хичам,
1
@gherbihicham - на самом деле искатель спросил: "Как мне создать исходную базу данных?" Я объяснил, что в процессе установки была создана исходная база данных. Фактически, они используют XE, который имеет явное ограничение одной базой данных на машину, поэтому рассказывать им, как создать другую базу данных, было бы бессмысленно.
APC,
2

Сохраните следующий код в пакетном файле (например, createOraDbWin.bat). Измените значения параметров, такие как app_name, 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

Приветствую ваши исправления и улучшения!

AVA
источник