Skip to main content
  • Place orders quickly and easily
  • View orders and track your shipping status
  • Create and access a list of your products
  • Manage your Dell EMC sites, products, and product-level contacts using Company Administration.

Slik kobler du til databaser i Oracle RAC 12cR1

Summary: Målet vårt er å levere løsninger som forenkler IT ved å tilby databaseløsninger, tilpasset utvikling, dynamiske datasentre og fleksibel databehandling

This article may have been automatically translated. If you have any feedback regarding its quality, please let us know using the form at the bottom of this page.

Article Content


Symptoms

Gjelder for:

Oracle-database       -     Oracle 12cR1 12.1.0.1.0 Enterprise-utgaven

Operativsystem(er)  –     Oracle Linux 6.4 med kjerne 2.6.39-400.109.17.1.el6uek.x86-64   og                                          
Red Hat Enterprise Linux med kjerne 2.6.32-431.el6.x86_64

Lagringsplattform(er)   -      Dell EqualLogic PS 5000 og Dell EqualLogic PS 6110

Problem:

Slik kobler du til databaser i Oracle RAC 12cR1

Løsning:

Det er fire måter å opprette en tilkobling til databasene (PDB-er) på.
  1. Ved bruk av standardtjenesten med samme navn som PDB-navnet, som blir opprettet av databaseprogramvaren automatisk.
  2. Ved hjelp av brukerdefinerte tjenester, opprettet med PDB-egenskapen ved bruk av SRVCTL-verktøyet, som knytter tjenesten til databasene
  3. Ved hjelp av endre økt-kommandoen og angi beholderen til ønsket beholder
  4. Ved hjelp av Enterprise Manager Express
 1. Bruk av standardtjenesten for tilkobling til PDB

Hvis du vil opprette en tilkobling til PDB ved hjelp av standardtjenesten, må du gjøre følgende.
  •    Det må opprettes en oppføring i tnsnames.ora-filen som definerer databaseadresser, som gjør det mulig for oss å opprette en tilkobling til databasen.
  •    Statusen til PDB må endres fra montert til lese/skrive-modus.
 Oppføring i tnsnames.ora-filen:

I tilfelle Oracle RAC 12c, selv om en standardtjeneste med samme navn som databasenavnet automatisk blir opprettet av databaseprogramvaren, blir tnsnames.ora-filen likevel generert med kun én enkelt oppføring, som gjelder for den globale databasen. For eksempel når det gjelder en to-noders Oracle RAC-12c, der cpdb er den globale databasen, pdb1 og pdb2 er de to databasene som opprettes, og cpdb1 og cpdb2 er de to forekomstene, vil standardoppføringen i tnsnames.ora-filen være som vist nedenfor:

CPDB =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOLL = TCP)(VERT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERT)

     (SERVICE_NAME = cpdb.dbase.lab)

   )

)

Så relevante oppføringer må opprettes for standardtjenestenavnet for databaser i tnsnames.ora-filen, som vist nedenfor:

PDB1 =

(BESKRIVELSE =                                                             

   (ADRESSE = (PROTOKOLL = TCP) (VERT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERT)

     (SERVICE_NAME = pdb1.dbase.lab)

   )

)

PDB2 =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOLL = TCP) (VERT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERT)

     (SERVICE_NAME = pdb2.dbase.lab)

   )

)

Endre status for databasen som skal kobles til:

Når pdbs er opprettet, er det kun open_mode som blir "montert" som standard. Dette kan bekreftes som følgende:

SQL> select name, open_mode from v$pdbs;

NAVN                           OPEN_MODE
PDB$SEED                       SKRIVEBESKYTTET

PDB1                           MONTERT

PDB2                           MONTERT

Følgende kommando åpner alle tilkoblede databaser i lese/skrive-modus.

SQL> Alter pluggable database all open;

Etter denne, kan tilkoblingen opprettes med databasen ved hjelp av sqlplus som følger:

[oracle@node1 bin]$ sqlplus sys/oracle@pdb1 as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Tue Oct 8 11:23:32 2013

Copyright (c) 1982, 2013, Oracle. Forbeholdt alle rettigheter.

Connected to (Koblet til):

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP, Advanced Analytics and Real Application Testing options

 2. Bruk av den brukerdefinerte tjenesten for tilkobling til PDB

 Standardtjenesten som er beskrevet ovenfor, bør kun brukes til administrative formål, og den skal ikke brukes til programmer. Brukerdefinerte tjenester må alltid brukes til programmer fordi brukerdefinerte tjenester kan tilpasses kravene til programmene. Når du vil opprette en tilkobling ved hjelp av brukerdefinerte tjenester gjør du følgende trinn:
  1. Opprett en databasetjeneste med PDB-egenskapen ved hjelp av SRVCTL-verktøyet
  2. Opprett en oppføring i tnsnames.ora-filen for den opprettede tjenesten
  3. Start tjenesten
  4. Koble til databasen ved hjelp av tjenesten med pdb-egenskapen, opprettet i trinn a
a Opprett en databasetjeneste med PDB-egenskapen ved hjelp av SRVCTL-verktøyet

Følgende kommandoer ved hjelp av SRVCTL-verktøyet, oppretter to databasetjenester, HR1 og sales1, som skal knyttes til den tilkoblede databasen pdb1:

[[oracle@node1 bin]$ srvctl add service -db cpdb -service hr1 -pdb pdb1 -preferred cpdb1 -available cpdb2

[oracle@node1 bin]$ srvctl add service -db cpdb -service sales1 -pdb pdb1 -preferred cpdb1 -available cpdb2

 Pdb-egenskapen kan vises fra dataordbokvisningen all_services.

SQL> SELECT NAME, PDB FROM all_services;

 NAVN                       PDB

pdb1.dbase.lab             PDB1

hr1                        PDB1

sales1                     PDB1

Kommandoen $ srvctl config service –db viser også de tilgjengelige tjenestene.

b.Opprett en oppføring i tnsnames.ora-filen for den opprettede databasetjenesten

 Vi kan opprette HR_PDB1 og SALES_PDB1, nettjenestenavn som du kan bruke til å koble til databasen PDB1 på følgende måte:

 HR_PDB1 =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOLL = TCP)(VERT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERT)

     (SERVICE_NAME = hr1.dbase.lab)

   )

)

SALES_PDB1 =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOLL = TCP)(VERT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERT)

     (SERVICE_NAME = sales1.dbase.lab)

   )

)

 c. Start tjenesten:

[oracle@nsnode1 bin]$ srvctl status service -db cpdb -service hr1

Tjenesten hr1 kjører ikke

 [oracle@nsnode1 bin]$ srvctl start service -db cpdb -service hr1

Hvis du starter tjenesten som er knyttet til en pdb, åpnes pdb-en automatisk i lese/skrive-modus.

d. Koble deg til databasetjenesten 

En bruker kobler seg til pdb-en ved hjelp av en databasetjeneste som har pdb-egenskapen.

SYS-brukeren kan for eksempel koble seg til pdb1 ved hjelp av databasetjenesten HR_PDB1, som er tilknyttet pdb1, på følgende måte:

SQL> connect sys/oracle@HR_PDB1 AS SYSDBA

Tilkoblet.

SQL> SHOW CON_ID;

 CON_ID

3

SQL> SHOW CON_NAME;

CON_NAME

PDB1

3. Bruk av kommandoen Endre økt for å koble deg til PDB-en

Når du kobler deg til RAC-forekomsten, kobler du deg som standard til CDB$ROOT. Hver RAC-forekomst åpner PDB-en som en helhet, og én enkelt systemavbildning blir tilgjengelig. Når du vil endre økten til en pdb, kan du gjøre det ved å endre økten og angi beholderen som den ønskede beholderen. Forespørselen show con_name kan brukes til å verifisere navnet på den gjeldende beholderen.

[oracle@node1 bin]$ sqlplus / as sysdba

QL * Plus: Release 12.1.0.1.0 produksjonen på ons okt 9 13:56:27 2013

Copyright (c) 1982, 2013, Oracle. Forbeholdt alle rettigheter. 

Connected to (Koblet til):

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

With the Partitioning, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics and Real Application Testing options

SQL> show con_name;

CON_NAME

CDB$ROOT

SQL> ALTER SESSION SET CONTAINER = PDB1;

Økt endret.

SQL> SHOW CON_NAME;

CON_NAME

PDB1

 SQL> ALTER SESSION SET CONTAINER = PDB2;

Økt endret.

SQL> SHOW CON_ID;

CON_ID

4

SQL> ALTER SESSION SET CONTAINER = CDB$ROOT;

Økt endret.

 SQL> SHOW CON_NAME;

CON_NAME

CDB$ROOT

 Beholderens ID-beskrivelser er følgende:
Beholder-ID Beskrivelse
0 Hele CDB
1 CDB$ROOT
2 PDB$SEED
3 til 254 PDB-er
Tabell 1:  Beskrivelser av beholder-ID

I dette spesifikke eksemplet representerer con_id 3 pdb1 og con_id 4 pdb2.

[grid@node1 bin]$ echo $ORACLE_HOME

/u01/app/12.1.0/Grid

 Grid @ node1 bin] $ Echo $ORACLE _SID

ASM1

Grid @ node1 bin] $ SQLPlus/AS sysdba

 QL * Plus: Release 12.1.0.1.0 produksjonen på ons okt 9 13:51:39 2013

Copyright (c) 1982, 2013, Oracle. Forbeholdt alle rettigheter.

Connected to (Koblet til):

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production

Med alternativer for Real Application Clusters og Automatic Storage Management

 SQL> show con_id;

CON_ID

0

 SQL> show con_name;

 CON_NAME

Ikke konsolidert

 4. Bruk av Enterprise Manager(EM) Express for tilkobling til PDB

Når databasen er opprettet ved hjelp av databasekonfigurasjonssassistenten (DBCA), blir URL-en på for EM Express levert av DBCA-en på tidspunktet for fullføring. URL-en har formatet http://:portnumber/em with 5500 som standard port-ID.

 Før du går til denne URL-en for å få tilgang til EM Express, må du utstede følgende SQL-setning for å bekrefte porten til EM Express:

SQL> SELECT dbms_xdb_config.gethttpsport from dual;

GETHTTPSPORT

       5500

Hvis utdataene er som vist ovenfor, kan du koble til URL-en som vises av DBCA.

Men hvis utdataene er null, for eksempel

GETHTTPSPORT

må man utføre PL/SQL-prosedyren, DBMS_XDB_CONFIG.SETHTTPSPORT, for å angi HTTPS-porten til EM Express. Eksempel:

SQL> exec dbms_xdb_config.sethttpsport(5500);

PL/SQL-prosedyren er fullført.

Etter dette kan du prøve å få tilgang til EM Express ved hjelp av URL-en.

 En HTTP-port kan også konfigureres for EM Express, som angitt nedenfor:

SQL> select dbms_xdb_config.gethttpport from dual;

 SQL> exec dbms_xdb_config.sethttpport(8080);

Hvis du vil angi EM Express-porten for pdbs, må du endre beholderen til gjeldende pdbs og kjøre en/SQL-prosedyre for å angi porten for denne beholderen.

Når du har gjort det, kan du kontrollere HTTP-porten for cpdb, pdb1 og pdb2 som følger:

SQL> select dbms_xdb_config.gethttpport from dual;

GETHTTPPORT

       8080

SQL> alter session set container = pdb1;

Økt endret.

SQL> select dbms_xdb_config.gethttpport from dual;

 GETHTTPPORT

       8081

SQL> alter session set container = pdb2;

Økt endret.

SQL> select dbms_xdb_config.gethttpport from dual;

GETHTTPPORT

       8082 
SLN310924_no__1icon MERK: Hvis du fremdeles ikke kan koble til en URL-adresse for EM Express, kan du laste inn lyttekontroll på nytt som en nettbruker og deretter prøve på nytt.

Article Properties


Last Published Date

21 Feb 2021

Version

3

Article Type

Solution