Como criar um novo banco de dados após a instalação inicial do banco de dados oracle 11g Express Edition?


112

Instalei o Oracle Database 11g Express Edition no meu pc (windows 7) e instalei o Oracle SQL Developer também.

Quero criar um banco de dados simples para começar, talvez com uma ou duas tabelas e, em seguida, usar o Oracle SQL Developer para inserir dados e consultá-los.

Quando abro o Oracle SQL Developer, ele me pede para criar uma nova conexão, portanto, presume que um banco de dados já foi criado.

Portanto, minha pergunta é: como faço para criar um banco de dados inicial no Oracle 11g?

Respostas:


56

Este link: Criando o banco de dados de amostra no Oracle 11g Release 2 é um bom exemplo de criação de um banco de dados de amostra.

Este link: Guia para Iniciantes de Problemas Comuns do Banco de Dados Oracle 11g deve ajudá-lo se você se deparar com alguns problemas comuns ao criar seu banco de dados.

Boa sorte!

EDITAR: Como você está usando o XE, você deve ter um banco de dados já criado, para se conectar usando SQL * Plus e SQL Developer etc. as informações estão aqui: Conectando-se ao Oracle Database Express Edition e explorando-o .

Extrair:

Conectando-se ao Oracle Database XE do SQL Developer SQL Developer é um programa cliente com o qual você pode acessar o Oracle Database XE. Com o Oracle Database XE 11g Release 2 (11.2), você deve usar o SQL Developer versão 3.0. Esta seção pressupõe que o SQL Developer está instalado em seu sistema e mostra como iniciá-lo e se conectar ao Oracle Database XE. Se o SQL Developer não estiver instalado em seu sistema, consulte o Guia do Usuário do Oracle Database SQL Developer para obter instruções de instalação.

Nota:

Para o seguinte procedimento: Na primeira vez que você iniciar o SQL Developer em seu sistema, deverá fornecer o caminho completo para java.exe na etapa 1.

Para a etapa 4, você precisa de um nome de usuário e senha.

Para a etapa 6, você precisa de um nome de host e porta.

Para se conectar ao Oracle Database XE do SQL Developer:

Inicie o SQL Developer.

Para obter instruções, consulte o Guia do Usuário do Oracle Database SQL Developer.

Se esta for a primeira vez que você inicia o SQL Developer em seu sistema, será solicitado que você insira o caminho completo para java.exe (por exemplo, C: \ jdk1.5.0 \ bin \ java.exe). Digite o caminho completo após o prompt ou navegue até ele e pressione a tecla Enter.

A janela Oracle SQL Developer é aberta.

No quadro de navegação da janela, clique em Conexões.

O painel Conexões é exibido.

No painel Conexões, clique no ícone Nova Conexão.

A janela New / Select Database Connection é aberta.

Na janela Nova / Selecionar Conexão de Banco de Dados, digite os valores apropriados nos campos Nome da Conexão, Nome de Usuário e Senha.

Por segurança, os caracteres da senha que você digita aparecem como asteriscos.

Perto do campo Senha está a caixa de seleção Salvar senha. Por padrão, ele está desmarcado. A Oracle recomenda aceitar o padrão.

Na janela New / Select Database Connection, clique na guia Oracle.

O painel Oracle é exibido.

No painel Oracle:

Para o Tipo de conexão, aceite o padrão (Básico).

Para Função, aceite o padrão.

Nos campos Nome do host e Porta, aceite os padrões ou digite os valores apropriados.

Selecione a opção SID.

No campo SID, digite aceitar o padrão (xe).

Na janela New / Select Database Connection, clique no botão Test.

A conexão é testada. Se a conexão for bem-sucedida, o indicador de Status muda de branco para Sucesso.

Descrição da ilustração success.gif

Se o teste for bem-sucedido, clique no botão Conectar.

A janela New / Select Database Connection é fechada. O painel Conexões mostra a conexão cujo nome você inseriu no campo Nome da conexão na etapa 4.

Você está no ambiente SQL Developer.

Para sair do SQL Developer, selecione Sair no menu Arquivo.


1
você quer dizer que o Database Configuration Assistant é implementado com o banco de dados? Não consegui encontrar
Zo72

5
Desculpe, acabei de notar que você estava usando o XE. Ele permite apenas uma instância, não solicitou que você criasse a instância quando instalou o software? Você deve ter um banco de dados com o SID "XE" já criado. Você também deve ter configurado suas senhas para os usuários SYS e SYSTEM.
Ollie

3
Obrigado pela sua ajuda, irei verificar isso e se estiver correto irei marcá-lo corretamente
Zo72

É melhor usar termos descritivos ao fazer referência a links no caso de eles quebrarem, como aconteceu com o seu primeiro, que descobri que estava quebrado. Depois, você pode encontrá-lo por meio de uma pesquisa no Google. HTH
James Drinkard de

59

Quando você instalou o XE .... ele criou automaticamente um banco de dados chamado "XE". Você pode usar o seu "sistema" de login e a senha que definiu para fazer o login.

Informação chave

servidor: (você definiu)
porta: 1521
banco de dados:
nome de usuário XE :
senha do sistema : (você definiu)

Além disso, a Oracle está sendo difícil e não está dizendo para você criar facilmente outro banco de dados. Você tem que usar SQL ou outra ferramenta para criar mais banco de dados além de "XE".


6
Obrigado, ótima resposta, isso é exatamente o que eu precisava. Esta resposta deve ser votada para o topo.
KevSheedy

1
Esta é uma resposta muito mais útil do que a aceita.
AfterWorkGuinness

1
Isso não responde à pergunta
Philip Rego

9

Se você deseja criar um novo esquema no XE, você precisa criar um USUÁRIO e atribuir seus privilégios. Siga esses passos:

  • Abra a linha de comando SQL * Plus
SQL> connect sys as sysdba
  • Digite a senha
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;

Agora você pode se conectar via Oracle SQL Developer e criar suas tabelas.


5

"Como faço para criar um banco de dados inicial?"

Você criou um banco de dados quando instalou o XE. Em algum momento, o processo de instalação solicitou que você insira uma senha para a conta SYSTEM. Use-o para se conectar ao banco de dados XE usando a linha de comando SQL no menu do aplicativo.

A documentação do XE está online e é muito útil. Encontre aqui .

Vale ressaltar que o 11g XE possui várias limitações, uma delas é apenas um banco de dados por servidor. Portanto, usar o banco de dados pré-instalado é a opção sensata.


Isso não é realmente uma resposta, basta usar a existente? Ele perguntou como fazer um novo.
Gherbi Hicham

1
@gherbihicham - a verdadeira pergunta do Seeker era "como faço para criar um banco de dados inicial?" Expliquei que o processo de instalação criou um banco de dados inicial. Na verdade, eles estão usando o XE, que possui uma limitação expressa de um banco de dados por máquina, portanto, dizer a eles como criar outro banco de dados seria inútil.
APC

1
Ok justo, removeu meu downvote.
Gherbi Hicham

2

Salve o código a seguir em um arquivo em lote (por exemplo, createOraDbWin.bat). Altere os valores dos parâmetros como app_name, ora_dir etc. Execute o arquivo com privilégios administrativos. O arquivo em lote cria um banco de dados oracle básico:

Observação : pode levar muito tempo (digamos, cerca 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

Bem-vindo suas correções e melhorias!

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.