Estou realmente confuso com o termo instância e banco de dados. Então, minha primeira pergunta é como o banco de dados e a instância estão relacionados no Oracle, ou seja, se uma instância está associada a um/vários banco(s) de dados ou um banco de dados associado a uma/várias instância(s)?
E, minha segunda pergunta é, um amigo meu disse que não podemos ter várias instâncias no oracle. é realmente válido uma declaração?
A documentação explica muito bem:
Um banco de dados oracle são os arquivos físicos que compõem o próprio banco de dados (arquivos de controle, arquivos de dados etc) - Link da documentação .
Um banco de dados está associado a uma ou mais instâncias, com várias instâncias criando um link RAC setup - Documentation . No que diz respeito à sua segunda pergunta, várias instâncias de um único banco de dados são uma configuração RAC.
Você pode ter várias instâncias em uma máquina que montem o mesmo banco de dados (uma configuração RAC), mas isso seria incomum. As instâncias múltiplas de um sistema RAC geralmente estariam em máquinas diferentes, exceto em casos especiais, como sistemas de desenvolvimento ou teste.
Você pode ter vários sistemas não RAC em uma única máquina, então é claro que cada um deles teria sua própria instância. Isso é comum, mas não necessariamente tão eficiente quanto combinar vários bancos de dados em um.