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?

Zo72
fonte

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.

Ollie
fonte
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".

Albert T. Wong
fonte
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.

Pinei
fonte
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.

APC
fonte
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!

AVA
fonte