Oracle 12cR2 – Onde estão os SAMPLE SCHEMAs?

No Oracle Database 12cR2, o único SCHEMA de exemplo que é adicionado pelo DBCA é o HR, se esta opção for selecionada no DBCA. A documentação indica que os outros SCHEMAs de exemplo devem ser baixados do GitHub (não encontrei o SCOTT no GitHub, mas ele estava no rdbms $ORACLE_HOME/rdbms/admin/).

“Starting with Oracle Database 12c Release 2, the latest version of the sample schema scripts are available on GitHub at https://github.com/oracle/db-sample-schemas/releases/latest.
During a complete installation of Oracle Database, the HR schema can be installed either manually or automatically when creating a database using the dbca option. All the other sample schemas must be installed manually via the scripts available on GitHub.”
Fonte: https://docs.oracle.com/database/122/COMSC/installing-sample-schemas.htm#COMSC001

Além disso, a criação não foi tão direta assim.

Eu instalei em um PDB do 12cR2 os 4 SCHEMAs que utilizo em alguns Treinamentos: SCOTT, HR, OE e SH.

Pré-requisitos:
– O PDB deve estar no tnsnames.ora.
– Alguns SCHEMAs de teste requerem funcionalidades como Oracle Text, Spatial, Image, etc. Na dúvida, instalei todas (já que é para um banco de testes).
– A coleta de estatística em Jobs paralelos deve ser desabilitada.

Para desabilitar a coleta de estatística em Jobs paralelos:

$ rlwrap sqlplus / as sysdba
SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS(PNAME=>'CONCURRENT', PVALUE=>'OFF');
SQL> ALTER SESSION SET CONTAINER = PROD;
SQL> EXEC DBMS_STATS.SET_GLOBAL_PREFS(PNAME=>'CONCURRENT', PVALUE=>'OFF');

Para criar o SCHEMA SCOTT, edite o arquivo abaixo…

$ vi $ORACLE_HOME/rdbms/admin/utlsampl.sql

.. e na linha abaixo…

CONNECT SCOTT/tiger

… adicione a string de conexão, substituindo PROD pelo nome do PDB.

CONNECT SCOTT/tiger@PROD

E finalmente a criação do SCHEMA.

$ rlwrap sqlplus / AS SYSDBA
SQL> ALTER SESSION SET CONTAINER = PROD;
SQL> @?/rdbms/admin/utlsampl.sql

Para instalar a última versão do HR, OE e SH, deve ser baixado do GitHub.

O comando perl abaixo eu encontrei em um blog em chinês (em http://m.blog.itpub.net/26015009/viewspace-2139299/ ). Ele é necessário para substituir a string __SUB__CWD__ pelo diretório onde estão os arquivos para criação dos SCHEMAs.

$ wget -q https://github.com/oracle/db-sample-schemas/archive/v12.2.0.1.tar.gz
$ tar xfz v12.2.0.1.tar.gz
$ cd db-sample-schemas-12.2.0.1/
$ perl -p -i.bak -e 's#__SUB__CWD__#'$(pwd)'#g' *.sql */*.sql */*.dat

E para instalar o HR:

$ rlwrap sqlplus / as sysdba
SQL> ALTER SESSION SET CONTAINER = PROD;
SQL> @human_resources/hr_main.sql HR USERS TEMP Nerv2017 /home/oracle/ PROD

Para instalar o OE:

$ rlwrap sqlplus / as sysdba
SQL> ALTER SESSION SET CONTAINER = PROD;
SQL> @order_entry/oe_main.sql OE USERS TEMP HR Nerv2017 /home/oracle/db-sample-schemas-12.2.0.1/order_entry/ /home/oracle/ v3 PROD

Para instalar o SH:

$ rlwrap sqlplus / as sysdba
SQL> ALTER SESSION SET CONTAINER = PROD;
SQL> @sales_history/sh_main SH USERS TEMP Nerv2017 /home/oracle/db-sample-schemas-12.2.0.1/sales_history/ /home/oracle/ v3 PROD

Atualização (18/11/2017)

Baixei hoje novamente o arquivo com os SAMPLE SCHEMAs, e acho que o README foi atualizado.
Para instalar todos os SAMPLE SCHEMAs, utilize os comandos abaixo.

$ wget -q https://github.com/oracle/db-sample-schemas/archive/v12.2.0.1.tar.gz
$ tar xfz v12.2.0.1.tar.gz
$ cd db-sample-schemas-12.2.0.1/
$ perl -p -i.bak -e 's#__SUB__CWD__#'$(pwd)'#g' *.sql */*.sql */*.dat
$ rlwrap sqlplus / as sysdba
SQL> @?/demo/schema/mksample Nerv2018 Nerv2018 HR OE PM TX SH BI USERS TEMP $ORACLE_HOME/demo/schema/log/ nerv01:1521/PROD

Leave a Reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.