¿Cómo crear una nueva base de datos después de instalar inicialmente la base de datos Oracle 11g Express Edition?

112

He instalado Oracle Database 11g Express Edition en mi PC (Windows 7) y también he instalado Oracle SQL Developer.

Quiero crear una base de datos simple para comenzar, tal vez con una tabla o dos y luego usar Oracle SQL Developer para insertar datos y consultarlos.

Cuando abro Oracle SQL Developer, me pide que cree una nueva conexión, por lo tanto, asume que ya se ha creado una base de datos.

Entonces, mi pregunta es, ¿cómo creo una base de datos inicial en Oracle 11g?

Zo72
fuente

Respuestas:

56

Este enlace: Crear la base de datos de muestra en Oracle 11g Release 2 es un buen ejemplo de cómo crear una base de datos de muestra.

Este enlace: Guía para principiantes sobre problemas comunes de la base de datos Oracle 11g debería ayudarlo si encuentra algunos problemas comunes al crear su base de datos.

¡La mejor de las suertes!

EDITAR: Como está usando XE, debe tener una base de datos ya creada, para conectarse usando SQL * Plus y SQL Developer, etc. la información está aquí: Conectando a Oracle Database Express Edition y Explorándolo .

Extraer:

Conexión a Oracle Database XE desde SQL Developer SQL Developer es un programa cliente con el que puede acceder a Oracle Database XE. Con Oracle Database XE 11g Release 2 (11.2), debe utilizar SQL Developer versión 3.0. Esta sección asume que SQL Developer está instalado en su sistema y muestra cómo iniciarlo y conectarse a Oracle Database XE. Si SQL Developer no está instalado en su sistema, consulte la Guía del usuario de Oracle Database SQL Developer para obtener instrucciones de instalación.

Nota:

Para el siguiente procedimiento: La primera vez que inicie SQL Developer en su sistema, debe proporcionar la ruta completa a java.exe en el paso 1.

Para el paso 4, necesita un nombre de usuario y una contraseña.

Para el paso 6, necesita un nombre de host y un puerto.

Para conectarse a Oracle Database XE desde SQL Developer:

Inicie SQL Developer.

Para obtener instrucciones, consulte la Guía del usuario de Oracle Database SQL Developer.

Si es la primera vez que inicia SQL Developer en su sistema, se le pedirá que ingrese la ruta completa a java.exe (por ejemplo, C: \ jdk1.5.0 \ bin \ java.exe). Escriba la ruta completa después de la indicación o búsquela y luego presione la tecla Enter.

Se abre la ventana Oracle SQL Developer.

En el marco de navegación de la ventana, haga clic en Conexiones.

Aparece el panel Conexiones.

En el panel Conexiones, haga clic en el icono Nueva conexión.

Se abre la ventana Nueva / Seleccionar conexión de base de datos.

En la ventana Nueva / Seleccionar conexión de base de datos, escriba los valores apropiados en los campos Nombre de conexión, Nombre de usuario y Contraseña.

Por motivos de seguridad, los caracteres de la contraseña que escribe aparecen como asteriscos.

Cerca del campo Contraseña está la casilla de verificación Guardar contraseña. De forma predeterminada, no está seleccionado. Oracle recomienda aceptar el predeterminado.

En la ventana Nueva / Seleccionar conexión de base de datos, haga clic en la pestaña Oracle.

Aparece el panel de Oracle.

En el panel de Oracle:

Para Tipo de conexión, acepte el predeterminado (Básico).

En Rol, acepte el valor predeterminado.

En los campos Nombre de host y Puerto, acepte los valores predeterminados o escriba los valores adecuados.

Seleccione la opción SID.

En el campo SID, escriba aceptar el valor predeterminado (xe).

En la ventana Nueva / Seleccionar conexión de base de datos, haga clic en el botón Probar.

La conexión está probada. Si la conexión se realiza correctamente, el indicador de estado cambia de blanco a correcto.

Descripción de la ilustración success.gif

Si la prueba tuvo éxito, haga clic en el botón Conectar.

Se cierra la ventana Nueva / Seleccionar conexión de base de datos. El panel Conexiones muestra la conexión cuyo nombre ingresó en el campo Nombre de la conexión en el paso 4.

Estás en el entorno de SQL Developer.

Para salir de SQL Developer, seleccione Salir en el menú Archivo.

Ollie
fuente
1
¿Quiere decir que el Asistente de configuración de la base de datos se implementa con la base de datos? No pude encontrarlo
Zo72
5
Disculpas, acabo de notar que estabas usando XE. Solo permite una instancia, ¿no le pidió que creara la instancia cuando instaló el software? Debería tener una base de datos con el SID "XE" ya creado. También debería haber configurado sus contraseñas para los usuarios de SYS y SYSTEM.
Ollie
3
Gracias por su ayuda, lo comprobaré y, si es correcto, lo marcaré como correcto
Zo72
Es mejor usar términos descriptivos al hacer referencia a enlaces en caso de que se rompan, como con el primero, que descubrí que estaba roto. Entonces puedes encontrarlo a través de una búsqueda en Google. HTH
James Drinkard
59

Cuando instaló XE .... automáticamente creó una base de datos llamada "XE". Puede utilizar su "sistema" de inicio de sesión y la contraseña que estableció para iniciar sesión.

Información clave

servidor: (usted definió)
puerto: 1521
base de datos: XE
nombre de usuario:
contraseña del sistema : (usted definió)

También Oracle está siendo difícil y no le dice que cree fácilmente otra base de datos. Tienes que usar SQL u otra herramienta para crear más bases de datos además de "XE".

Albert T. Wong
fuente
6
Gracias, gran respuesta, esto es exactamente lo que necesitaba. Esta respuesta debería ser votada en la parte superior.
KevSheedy
1
Esta es una respuesta mucho más útil que la aceptada.
AfterWorkGuinness
1
Esto no responde la pregunta
Philip Rego
9

Si desea crear un nuevo esquema en XE, debe crear un USUARIO y asignar sus privilegios. Sigue estos pasos:

  • Abra la línea de comandos SQL * Plus
SQL> connect sys as sysdba
  • Introduce la contraseña
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;

Ahora puede conectarse a través de Oracle SQL Developer y crear sus tablas.

pinei
fuente
5

"¿Cómo creo una base de datos inicial?"

Creó una base de datos cuando instaló XE. En algún momento, el proceso de instalación le pidió que ingresara una contraseña para la cuenta del SISTEMA. Úselo para conectarse a la base de datos XE usando la línea de comandos SQL en el menú de la aplicación.

La documentación de XE está en línea y es bastante útil. Encuéntrelo aquí .

Vale la pena mencionar que 11g XE tiene varias limitaciones, una de las cuales es solo una base de datos por servidor. Entonces, usar la base de datos preinstalada es la opción sensata.

APC
fuente
Esa no es realmente una respuesta, ¿solo usa la existente? Preguntó cómo hacer uno nuevo.
Gherbi Hicham
1
@gherbihicham: la pregunta real del Buscador era "¿cómo creo una base de datos inicial?" Expliqué que el proceso de instalación creó una base de datos inicial. De hecho, están usando XE, que tiene una limitación expresa de una base de datos por máquina, por lo que decirles cómo crear otra base de datos habría sido inútil.
APC
1
Está bien, eliminé mi voto negativo.
Gherbi Hicham
2

Guarde el siguiente código en un archivo por lotes (por ejemplo, createOraDbWin.bat). Cambie los valores de los parámetros como app_name, ora_dir, etc. Ejecute el archivo con privilegios administrativos. El archivo por lotes crea una base de datos básica de Oracle:

Nota : puede llevar mucho tiempo (digamos alrededor de 30 minutos)

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

¡Bienvenidos sus correcciones y mejoras!

AVA
fuente