Por favor me ajude a entender esta afirmação:
Um banco de dados no MySQL é um esquema no Oracle.
Acabei de começar a usar o Oracle e o acho diferente de outros softwares RDBMS que usei, como MSSQL, MySQL e Derby.
Por exemplo, para criar um banco de dados, quando eu uso create database ghazals
, ele gera um erro:
ERROR at line 1:
ORA-01501: CREATE DATABASE failed
ORA-01100: database already mounted
Além disso, comandos como show databases
não funcionam aqui.
É simples.
O MySQL tem um único daemon que executa o servidor de banco de dados. Dentro do servidor, você pode criar qualquer número de bancos de dados - esses bancos de dados não têm mapeamento direto para os usuários.
A Oracle tem um único banco de dados. Quando você cria um usuário em um banco de dados Oracle, ele também cria um Schema com o mesmo nome do usuário que o criou. Isso é equivalente a um banco de dados em MySQL.
Tendo visto a edição da sua pergunta, você realmente precisa esquecer o mysql enquanto aprende Oracle. Os conceitos DDL e RDBMS são completamente diferentes.
Comece com o guia Oracle Server Concepts ( link ). A página inicial da documentação do Oracle está aqui: http://www.oracle.com/pls/db112/homepage .
Para criar um usuário, a sintaxe seria:
Você precisará conceder privilégios apropriados para permitir que o usuário se conecte:
No Oracle, o esquema contém todas as tabelas, restrições, etc. Quando no mysql você cria o banco de dados, no Oracle você cria o esquema. Você não
use db1
, masalter session set CURRENT_SCHEMA = db1
. Cada usuário tem seu próprio esquema, então você obtém uma lista de esquemas porselect USERNAME from SYS.ALL_USERS