Comment créer une nouvelle base de données après l'installation initiale d'Oracle Database 11g Express Edition?

112

J'ai installé Oracle Database 11g Express Edition sur mon ordinateur (Windows 7) et j'ai également installé Oracle SQL Developer.

Je veux créer une base de données simple pour commencer, peut-être avec une ou deux tables, puis utiliser Oracle SQL Developer pour insérer des données et les interroger.

Lorsque j'ouvre Oracle SQL Developer, il me demande de créer une nouvelle connexion, donc il suppose qu'une base de données a déjà été créée.

Ma question est donc la suivante: comment créer une base de données initiale dans Oracle 11g?

Zo72
la source

Réponses:

56

Ce lien: Création de la base de données exemple dans Oracle 11g Release 2 est un bon exemple de création d'une base de données exemple.

Ce lien: Guide du débutant sur les problèmes courants de la base de données Oracle 11g devrait vous aider si vous rencontrez des problèmes courants lors de la création de votre base de données.

Bonne chance!

EDIT: Comme vous utilisez XE, vous devriez avoir une base de données déjà créée, pour vous connecter en utilisant SQL * Plus et SQL Developer, etc. les informations sont ici: Connexion à Oracle Database Express Edition et l'exploration .

Extrait:

Connexion à Oracle Database XE à partir de SQL Developer SQL Developer est un programme client avec lequel vous pouvez accéder à Oracle Database XE. Avec Oracle Database XE 11g Release 2 (11.2), vous devez utiliser SQL Developer version 3.0. Cette section suppose que SQL Developer est installé sur votre système et montre comment le démarrer et se connecter à Oracle Database XE. Si SQL Developer n'est pas installé sur votre système, reportez-vous au manuel Oracle Database SQL Developer User's Guide pour obtenir des instructions d'installation.

Remarque:

Pour la procédure suivante: La première fois que vous démarrez SQL Developer sur votre système, vous devez fournir le chemin complet de java.exe à l'étape 1.

Pour l'étape 4, vous avez besoin d'un nom d'utilisateur et d'un mot de passe.

Pour l'étape 6, vous avez besoin d'un nom d'hôte et d'un port.

Pour vous connecter à Oracle Database XE à partir de SQL Developer:

Démarrez SQL Developer.

Pour obtenir des instructions, reportez-vous au manuel Oracle Database SQL Developer User's Guide.

Si c'est la première fois que vous démarrez SQL Developer sur votre système, vous êtes invité à entrer le chemin complet de java.exe (par exemple, C: \ jdk1.5.0 \ bin \ java.exe). Tapez le chemin complet après l'invite ou recherchez-le, puis appuyez sur la touche Entrée.

La fenêtre Oracle SQL Developer s'ouvre.

Dans le cadre de navigation de la fenêtre, cliquez sur Connexions.

Le volet Connexions apparaît.

Dans le volet Connexions, cliquez sur l'icône Nouvelle connexion.

La fenêtre New / Select Database Connection s'ouvre.

Dans la fenêtre Nouvelle / Sélectionner une connexion à la base de données, saisissez les valeurs appropriées dans les champs Nom de connexion, Nom d'utilisateur et Mot de passe.

Pour des raisons de sécurité, les caractères du mot de passe que vous saisissez apparaissent sous forme d'astérisques.

Près du champ Mot de passe se trouve la case à cocher Enregistrer le mot de passe. Par défaut, il est désélectionné. Oracle recommande d'accepter la valeur par défaut.

Dans la fenêtre New / Select Database Connection, cliquez sur l'onglet Oracle.

Le volet Oracle apparaît.

Dans le volet Oracle:

Pour Type de connexion, acceptez la valeur par défaut (De base).

Pour Rôle, acceptez la valeur par défaut.

Dans les champs Nom d'hôte et Port, acceptez les valeurs par défaut ou saisissez les valeurs appropriées.

Sélectionnez l'option SID.

Dans le champ SID, saisissez accepter la valeur par défaut (xe).

Dans la fenêtre New / Select Database Connection, cliquez sur le bouton Test.

La connexion est testée. Si la connexion réussit, l'indicateur d'état passe de vide à Succès.

Description de l'illustration success.gif

Si le test réussit, cliquez sur le bouton Se connecter.

La fenêtre New / Select Database Connection se ferme. Le volet Connexions affiche la connexion dont vous avez saisi le nom dans le champ Nom de la connexion à l'étape 4.

Vous êtes dans l'environnement SQL Developer.

Pour quitter SQL Developer, sélectionnez Quitter dans le menu Fichier.

Ollie
la source
1
voulez-vous dire que Database Configuration Assistant est déployé avec la base de données? Je n'ai pas pu le trouver
Zo72
5
Toutes mes excuses, je viens de remarquer que vous utilisiez XE. Il n'autorise qu'une seule instance, ne vous a-t-il pas invité à créer l'instance lorsque vous avez installé le logiciel? Vous devriez avoir une base de données avec le SID "XE" déjà créé. Vous devez également avoir configuré vos mots de passe pour les utilisateurs SYS et SYSTEM.
Ollie
3
Merci pour votre aide, je vérifierai cela et si c'est correct, je vous marquerai bien
Zo72
Il est préférable d'utiliser des termes descriptifs lors du référencement des liens au cas où ils seraient cassés, comme avec le premier, que j'ai trouvé cassé. Ensuite, vous pouvez le trouver via une recherche Google. HTH
James Drinkard
59

Lorsque vous avez installé XE .... il a automatiquement créé une base de données appelée "XE". Vous pouvez utiliser votre "système" de connexion et votre mot de passe que vous avez défini pour vous connecter.

Informations clés

serveur: (vous avez défini)
port: 1521
base de données:
nom d'utilisateur XE :
mot de passe système : (vous avez défini)

Oracle est également difficile et ne vous dit pas de créer facilement une autre base de données. Vous devez utiliser SQL ou un autre outil pour créer plus de base de données en plus de "XE".

Albert T. Wong
la source
6
Merci, bonne réponse, c'est exactement ce dont j'avais besoin. Cette réponse devrait être votée au sommet.
KevSheedy
1
C'est une réponse beaucoup plus utile que celle acceptée.
AfterWorkGuinness
1
Cela ne répond pas à la question
Philip Rego
9

Si vous souhaitez créer un nouveau schéma dans XE, vous devez créer un USER et attribuer ses privilèges. Suivez ces étapes:

  • Ouvrez la ligne de commande SQL * Plus
SQL> connect sys as sysdba
  • Entrer le mot de passe
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;

Vous pouvez maintenant vous connecter via Oracle SQL Developer et créer vos tables.

Pinei
la source
5

"Comment créer une base de données initiale?"

Vous avez créé une base de données lors de l'installation de XE. À un moment donné, le processus d'installation vous a invité à entrer un mot de passe pour le compte SYSTEM. Utilisez-le pour vous connecter à la base de données XE à l'aide de la ligne de commande SQL dans le menu de l'application.

La documentation XE est en ligne et très utile. Trouvez-le ici .

Il convient de mentionner que 11g XE a plusieurs limitations, dont une seule base de données par serveur. L'utilisation de la base de données préinstallée est donc l'option judicieuse.

APC
la source
Ce n'est pas vraiment une réponse, utilisez simplement l'existant? Il a demandé comment en fabriquer un nouveau.
Gherbi Hicham le
1
@gherbihicham - la question réelle du chercheur était "comment créer une base de données initiale?" J'ai expliqué que le processus d'installation a créé une base de données initiale. En fait, ils utilisent XE qui a une limitation expresse d'une base de données par machine, donc leur dire comment créer une autre base de données aurait été inutile.
APC
1
Ok, j'ai supprimé mon vote défavorable.
Gherbi Hicham
2

Enregistrez le code suivant dans un fichier de commandes (ex. CreateOraDbWin.bat). Modifiez les valeurs des paramètres comme app_name, ora_dir etc., exécutez le fichier avec des privilèges administratifs. Le fichier de commandes crée une base de données oracle de base:

Remarque : peut prendre beaucoup de temps (disons environ 30 minutes)

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

Bienvenue à vos corrections et améliorations!

AVA
la source