Przejdź do głównej zawartości
  • Szybkie i łatwe składanie zamówień
  • Wyświetlanie zamówień i śledzenie stanu wysyłki
  • Tworzenie i dostęp do listy produktów
  • Na firmowej stronie administracji możesz zarządzać witrynami, produktami i danymi kontaktowymi firmy Dell EMC.

Sådan opretter du forbindelse til plug-databaser i Oracle RAC 12cR1.

Podsumowanie: Vores mål er at levere løsninger, der forenkler it ved at levere databaseløsninger, tilpasset udvikling, dynamiske datacentre og fleksibel databehandling

Ten artykuł mógł zostać automatycznie przetłumaczony. Jeśli masz uwagi na temat jego jakości, przekaż je nam, korzystając z formularza u dołu tej strony.

Treść artykułu


Objawy

Gælder for:

Oracle Database       -     Oracle 12cR1 12.1.0.1.0 Enterprise Edition

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

Lagerplatform(e)   -      Dell EqualLogic PS 5000 og Dell EqualLogic PS 6110

Problem:

Sådan opretter du forbindelse til plug-databaser i Oracle RAC 12cR1.

Løsning:

Der er fire måder, hvorpå en forbindelse med plug-databaser (PDB'er) kan etableres.
  1. Ved brug af standardservice med det samme navn som pdb-navnet, som oprettes automatisk af databasesoftwaren.
  2. Ved hjælp af brugerdefinerede services, der oprettes med pdb-egenskaber via SRVCTL-hjælpeprogram, som associerer denne service med plug-databaser
  3. Ved brug af kommando til sessionsjustering og indstilling af beholderen til den ønskede beholder
  4. Ved brug af Enterprise Manager Express
 1. Brug af standardservice til tilslutning til PDB

For at få forbindelse med pdb vha. standardservice skal følgende gøres.
  •    Der skal indføres en post i filen tnsnames.ora, der definerer databaseadresser, så vi kan oprette en forbindelse til databasen.
  •    Status for pdb skal ændres fra monteret på læse-skrive-tilstand.
 Post, der skal indføres i filen tnsnames.ora:

I tilfældet med Oracle RAC 12c, selvom der oprettes en standardservice med samme navn som plug-databasenavnet automatisk af databasesoftwaren, genereres filen tnsnames.ora alligevel kun med en enkelt post for den globale database. Når der f.eks. er tale om Oracle RAC 12c med to noder, hvor cpdb er den globale database, pdb1 og pdb2 er de to plug-databaser, der oprettes, og cpdb1 og cpdb2 er de to forekomster, er standardposten i filen tnsnames.ora som vist nedenfor:-

CPDB =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOL = TCP)(VÆRT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERET)

     (SERVICE_NAME = cpdb.dbase.lab)

   )

)

Så relevante poster skal oprettes for standardservicenavnet på plug-databaser i filen tnsnames.ora som vist nedenfor:

PDB1 =

(BESKRIVELSE =                                                             

   (ADRESSE = (PROTOKOL = TCP)(VÆRT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERET)

     (SERVICE_NAME = pdb1.dbase.lab)

   )

)

PDB2 =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOL = TCP)(VÆRT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERET)

     (SERVICE_NAME = pdb2.dbase.lab)

   )

)

Ændring af status for plug-database:

Når pdb'erne er oprettet, er open_mode som standard kun "monteret". Dette kan kontrolleres således:

SQL> vælg navn, open_mode fra v$pdbs;

NAVN                           OPEN_MODE
PDB$SEED                       SKRIVEBESKYTTET

PDB1                           MONTERET

PDB2                           MONTERET

Følgende kommando åbner alle plug-databaser i læse-skrive-tilstand.

SQL> Juster plug-database alle åbne;

Derefter kan der oprettes forbindelse til databasen vha. sqlplus således:

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

SQL*Plus: Version 12.1.0.1.0 produktion tirs. 8. okt. 11:23:32 2013

Copyright (c) 1982, 2013, Oracle. Alle rettigheder forbeholdes.

Connected to: (Forbindelse oprettet til:)

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit produktion med partitionering, Real Application Clusters, Automatic Storage Management, OLAP, Advanced Analytics og Real Application Testing

 2. Brug af brugerdefineret service for tilslutning til PDB

 Standardservice, der er beskrevet ovenfor, bør kun anvendes til administrative formål, og det bør ikke anvendes til applikationer. Der skal altid bruges brugerdefinerede services til applikationer, da brugerdefinerede services kan tilpasses, så de passer til applikationernes krav. Etablering af en forbindelse ved hjælp af brugerdefinerede services omfatter følgende trin:
  1. Opret en databaseservice med PDB-egenskab med SRVCTL-hjælpeprogrammet
  2. Opret en post i filen tnsnames.ora for den oprettede service
  3. Start af service
  4. Opret forbindelse til databasen vha. den service med pdB-egenskab, som blev oprettet i trin a
a. Opret en databaseservice med PDB-egenskab med SRVCTL-hjælpeprogrammet

Følgende kommandoer, der bruger SRVCTL-hjælpeprogrammet, opretter to databaseservices hr1 og sales1, der forbindes med plug-database 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-egenskaben kan ses fra det dataordbogsvisningen all_services.

SQL> VÆLG NAVN, PDB FRA all_services;

 NAVN                       PDB

pdb1.dbase.lab             PDB1

hr1                        PDB1

sales1                     PDB1

Kommandoen $ srvctl config service –db viser også de tilgængelige services.

b. Opret en post i filen tnsnames.ora for den oprettede databaseservice

 Vi kan oprette HR_PDB1 og SALES_PDB1, netservicenavne, som HR-applikationen og salgsapplikationen kan bruge til at oprette forbindelse til plug-databasen, pdb1, på følgende måde:

 HR_PDB1 =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOL = TCP)(VÆRT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERET)

     (SERVICE_NAME = hr1.dbase.lab)

   )

)

SALES_PDB1 =

(BESKRIVELSE =

   (ADRESSE = (PROTOKOL = TCP)(VÆRT = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDIKERET)

     (SERVICE_NAME = sales1.dbase.lab)

   )

)

 c. Start servicen

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

Service hr1 kører ikke

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

Start af servicen, der er tilknyttet en PDB, åbner automatisk PDB i læse-skrive-tilstand.

d. Opret forbindelse til databaseservice 

En bruger opretter forbindelse til PDB vha. en databaseservice, der har PDB-egenskaber.

For eksempel kan SYS-brugeren oprette forbindelse til pdb1 vha. databaseservice HR_PDB1, der er tilknyttet pdb1, således:

SQL> connect sys/oracle@HR_PDB1 AS SYSDBA

Tilsluttet.

SQL> SHOW CON_ID;

 CON_ID

3

SQL> SHOW CON_NAME;

CON_NAME

PDB1

3. Opret forbindelse til PDB med Alter Session-kommandoen

Som standard, når du opretter forbindelse til RAC-forekomsten, opretter du forbindelse til CDB$ROOT. Hver RAC-forekomst åbner PDB som helhed, og et enkelt systembillede er til rådighed. Når du vil ændre sessionen til en PDB, kan du gøre det, ved at ændre sessionen og indstille objektbeholderen til den ønskede beholder. Forespørgslen show con_name kan anvendes til at bekræfte navnet på den aktuelle objektbeholder.

[oracle@node1 bin]$ sqlplus / as sysdba

SQL*Plus: Version 12.1.0.1.0 produktion ons. 9. okt. 13:56:27 2013

Copyright (c) 1982, 2013, Oracle. Alle rettigheder forbeholdes. 

Connected to: (Forbindelse oprettet til:)

Oracle Database 12c Enterprise Edition Version 12.1.0.1.0 - 64-bit produktion

Med valgmulighederne partitionering, Real Application Clusters, Automatic Storage Management, OLAP,

Advanced Analytics og Real Application Testing

SQL> show con_name;

CON_NAME

CDB$ROOT

SQL> ALTER SESSION SET CONTAINER = PDB1;

Session ændret.

SQL> SHOW CON_NAME;

CON_NAME

PDB1

 SQL> ALTER SESSION SET CONTAINER = PDB2;

Session ændret.

SQL> SHOW CON_ID;

CON_ID

4

SQL> ALTER SESSION SET CONTAINER = CDB$ROOT;

Session ændret.

 SQL> SHOW CON_NAME;

CON_NAME

CDB$ROOT

 Objektbeholderens id-beskrivelser er som følger:
Objektbeholder-id Beskrivelse
0 Hele CDB
1 CDB$ROOT
2 PDB$SEED
3 til 254 PDB
Tabel 1:Objektbeholder id-beskrivelser

I dette konkrete eksempel repræsenterer con_id 3 pdb1 og con_id 4 repræsenterer 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

 SQL*Plus: Version 12.1.0.1.0 produktion ons. 9. okt. 13:51:39 2013

Copyright (c) 1982, 2013, Oracle. Alle rettigheder forbeholdes.

Connected to: (Forbindelse oprettet til:)

Oracle Database 12c Enterprise Edition Version 12.1.0.1.0 - 64-bit produktion

Med valgmulighederne Real Application Clusters, Automatic Storage Management

 SQL> show con_id;

CON_ID

0

 SQL> show con_name;

 CON_NAME

Ikke-konsoliderede

 4. Opret forbindelse til PDB med Enterprise Manager(EM) Express

Når databasen oprettes vha. Database Configuration Assistant (DBCA), leveres URL til EM Express af DBCA ved udførelsestidspunktet. URL har formatet http://:portnumber/em med 5500 som standard port-id.

 Før du går til den URL for at få adgang til EM Express, skal du udstede følgende SQL-formulering for at bekræfte porten for EM Express:

SQL> SELECT dbms_xdb_config.gethttpsport from dual;

GETHTTPSPORT

       5500

Hvis outputtet er som vist ovenfor, kan man oprette forbindelse til den URL, der vises af DBCA.

Men hvis output er null såsom

GETHTTPSPORT

skal man udføre PL/SQL-proceduren, DBMS_XDB_CONFIG.SETHTTPSPORT for at indstille HTTPS-porten for EM Express. F.eks.:

SQL> exec dbms_xdb_config.sethttpsport(5500);

PL/SQL procedure blev udført korrekt.

Efter dette kan du forsøge at få adgang til EM Express via URL'en.

 Der kan også konfigureres en HTTP-port for EM Express som angivet nedenfor:

SQL> select dbms_xdb_config.gethttpport from dual;

 SQL> exec dbms_xdb_config.sethttpport(8080);

For at indstille EM Express-porten til pdbs, skal objektbeholderen ændres til den respektive pdbs og der skal udføres en PL/SQL-procedure for indstilling af porten til objektbeholderen.

Derefter kan HTTP-porten for cpdb, pdb1 og pdb2 kontrolleres således:

SQL> select dbms_xdb_config.gethttpport from dual;

GETHTTPPORT

       8080

SQL> alter session set container = pdb1;

Session ændret.

SQL> select dbms_xdb_config.gethttpport from dual;

 GETHTTPPORT

       8081

SQL> alter session set container = pdb2;

Session ændret.

SQL> select dbms_xdb_config.gethttpport from dual;

GETHTTPPORT

       8082 
SLN310924_da__1icon BEMÆRK: Hvis du stadig ikke kan oprette forbindelse til EM Express URL, skal du genindlæse lytterstyring som netbruger og prøve igen.

Właściwości artykułu


Data ostatniej publikacji

21 lut 2021

Wersja

3

Typ artykułu

Solution