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.

Yhteyden muodostaminen Oracle RAC 12cR1:n liitettäviin tietokantoihin

Summary: Pyrimme tuottamaan ratkaisuja, jotka yksinkertaistavat IT-osaston työtä tarjoamalla tietokantaratkaisuja, mukautettua kehitystyötä, dynaamisia palvelinkeskuksia ja joustavaa tietojenkäsittelyä ...

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

Koskee seuraavia:

Oracle-tietokanta – Oracle 12cR1 12.1.0.1.0 Enterprise Edition

Käyttöjärjestelmät – Oracle Linux 6.4 ja ydin 2.6.39-400.109.17.1.el6uek.x86-64 sekä                                          
Red Hat Enterprise Linux ja ydin 2.6.32-431.el6.x86_64

Tallennusympäristöt – Dell EqualLogic PS 5000 ja Dell EqualLogic PS 6110

Ongelma:

Miten muodostan yhteyden Oracle RAC 12cR1:n liitettäviin tietokantoihin?

Ratkaisu:

Liitettäviin tietokantoihin voidaan muodostaa yhteys neljällä tavalla.
  1. käyttämällä liitettävän tietokannan kanssa samannimistä oletuspalvelua, jonka tietokantaohjelmisto luo automaattisesti
  2. käyttämällä käyttäjän määrittämiä palveluja, jotka on luotu liitettävän tietokannan ominaisuudella SRVCTL-apuohjelmalla ja jotka yhdistävät palvelun liitettäviin tietokantoihin
  3. käyttämällä alter-istuntokomentoa ja asettamalla säilöksi haluamasi säilön
  4. käyttämällä Enterprise Manager Expressiä.
 1. Oletuspalvelun käyttäminen yhdistettäessä liitettävään tietokantaan

Jotta yhteys liitettävään tietokantaan voidaan muodostaa oletuspalvelua käyttämällä, seuraavat toimet on suoritettava.
  •    tnsnames.ora-tiedostoon on tehtävä merkintä, joka määrittää tietokantojen osoitteet, joiden avulla tietokantaan voidaan muodostaa yhteys.
  •    Liitettävän tietokannan tila on muutettava asennetusta luku- ja kirjoitustilaan.
 tnsnames.ora-tiedostoon tehtävät merkinnät:

Vaikka tietokanta-ohjelmisto luo Oracle RAC 12c:ssa automaattisesti oletuspalvelun, jolla on sama nimi kuin liitettävällä tietokannalla, luotavassa tnsnames.ora-tiedostossa on kuitenkin vain yksi yleistä tietokantaa koskeva merkintä. Jos kyseessä on esimerkiksi kaksilaitteinen Oracle RAC 12c, jossa cpdb on yleinen tietokanta, pdb1 ja pdb2 ovat kaksi liitettävää tietokantaa ja cpdb1 ja cpdb2 ovat kaksi esiintymää, tnsnames.ora-tiedoston oletusmerkintä näkyy alla:

CPDB =

(DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = cpdb.dbase.lab)

   )

)

Liitettävien tietokantojen oletuspalvelun nimelle on siis luotava tnsnames.ora-tiedostossa merkinnät alla osoitetulla tavalla:

PDB1 =

(DESCRIPTION =                                                             

   (ADDRESS = (PROTOCOL = TCP) (HOST = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = pdb1.dbase.lab)

   )

)

PDB2 =

(DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP) (HOST = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = pdb2.dbase.lab)

   )

)

Liitettävän tietokannan tilan muuttaminen:

Kun liitettävät tietokannat luodaan, open_mode on oletusarvoisesti vain asennettu. Tämä voidaan vahvistaa seuraavasti:

SQL> select name, open_mode from v$pdbs;

NAME                           OPEN_MODE
PDB$SEED                       READ ONLY

PDB1                           MOUNTED

PDB2                           MOUNTED

Seuraava komento avaa kaikki liitettävät tietokannat luku- ja kirjoitustilassa.

SQL> Alter pluggable database all open;

Tämän jälkeen tietokantaan voidaan muodostaa yhteys sqlplus:lla seuraavasti:

[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. Kaikki oikeudet pidätetään.

Yhteydessä:

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

 2. Käyttäjän määrittämän palvelun käyttäminen yhdistettäessä liitettävään tietokantaan

 Edellä määritettyä oletuspalvelua tulee käyttää ainoastaan hallinnollisiin tarkoituksiin. Sitä ei saa käyttää sovelluksissa. Käyttäjän määrittämiä palveluja on aina käytettävä sovelluksissa, sillä käyttäjän määrittämiä palveluja voidaan mukauttaa sovellusten vaatimusten mukaisiksi. Yhteyden muodostaminen käyttäjän määrittämillä palveluilla sisältää seuraavat vaiheet:
  1. Luo tietokantapalvelu PDB-ominaisuudella käyttämällä SRVCTL-apuohjelmaa.
  2. Luo luodulle palvelulle merkintä tnsnames.ora-tiedostoon.
  3. Käynnistä palvelu
  4. Muodosta yhteys tietokantaan palvelulla ja pdb-ominaisuudella, jotka on luotu vaiheessa a
a. Luo tietokantapalvelu PDB-ominaisuudella käyttämällä SRVCTL-apuohjelmaa

Seuraavat komennot SRVCTL-apuohjelmassa luovat kaksi tietokantapalvelua (hr1 ja sales1), jotka yhdistetään liitettävään tietokantaan 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-ominaisuutta voidaan tarkastella tietohakemiston näkymässä all_services.

SQL> SELECT NAME, PDB FROM all_services;

 NAME                       PDB

pdb1.dbase.lab             PDB1

hr1                        PDB1

sales1                     PDB1

Komento $ srvctl config service –db luetteloi myös käytettävissä olevat palvelut.

b. Luo luodulle tietokantapalvelulle merkintä tnsnames.ora-tiedostoon

 Voimme luoda HR_PDB1:n ja SALES_PDB1:n verkkopalvelunimet, joita hr- ja myyntisovellus voivat käyttää, jotta yhteys liitettävään pdb1-tietokantaan voidaan muodostaa seuraavasti:

 HR_PDB1 =

(DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = hr1.dbase.lab)

   )

)

SALES_PDB1 =

(DESCRIPTION =

   (ADDRESS = (PROTOCOL = TCP)(HOST = OracleRACscan.dbase.lab)(PORT = 1521))

   (CONNECT_DATA =

     (SERVER = DEDICATED)

     (SERVICE_NAME = sales1.dbase.lab)

   )

)

 c. Käynnistä palvelu

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

Palvelu hr1 ei ole käynnissä

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

Liitettävään tietokantaan yhdistetyn palvelun käynnistäminen avaa automaattisesti liitettävän tietokannan luku- ja kirjoitustilassa.

d. Muodosta yhteys tietokantapalveluun 

Käyttäjä muodostaa yhteyden liitettävään tietokantaan käyttämällä liitettävän tietokannan ominaisuuden sisältävää tietokantapalvelua.

Esimerkiksi SYS-käyttäjä voi muodostaa yhteyden pdb1-tietokantaan käyttämällä siihen yhdistettyä HR_PDB1-tietokantapalvelua:

SQL> connect sys/oracle@HR_PDB1 AS SYSDBA

Connected.

SQL> SHOW CON_ID;

 CON_ID

3

SQL> SHOW CON_NAME;

CON_NAME

PDB1

3. Alter-istuntokomennon käyttäminen yhdistettäessä liitettävään tietokantaan

Kun muodostat RAC-yhteyden, muodostat oletusarvoisesti CDB$ROOT-yhteyden. Jokainen RAC-esiintymä avaa liitettävän tietokannan kokonaisuudessaan, ja yksi järjestelmän näköistiedosto on käytettävissä. Jos haluat muuttaa istunnon liitettäväksi tietokannaksi, voit tehdä sen muuttamalla istuntoa ja asettamalla säilöksi haluamasi säilön. Nykyisen säilön nimi voidaan tarkistaa kyselyllä show con_name.

[oracle@node1 bin]$ sqlplus / as sysdba

SQL*Plus: Release 12.1.0.1.0 Production on Wed Oct 9 13:56:27 2013

Copyright (c) 1982, 2013, Oracle. Kaikki oikeudet pidätetään. 

Yhteydessä:

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

SQL> show con_name;

CON_NAME

CDB$ROOT

SQL> ALTER SESSION SET CONTAINER = PDB1;

Session altered.

SQL> SHOW CON_NAME;

CON_NAME

PDB1

 SQL> ALTER SESSION SET CONTAINER = PDB2;

Session altered.

SQL> SHOW CON_ID;

CON_ID

4

SQL> ALTER SESSION SET CONTAINER = CDB$ROOT;

Session altered.

 SQL> SHOW CON_NAME;

CON_NAME

CDB$ROOT

 Säilön tunnisteen kuvaukset ovat seuraavat:
Säilön tunniste Kuvaus
0 Whole CDB
1 CDB$ROOT
2 PDB$SEED
3–254 PDBs
Taulukko 1:  säilön tunnisteen kuvaukset

Esimerkissä con_id 3 on pdb1 ja con_id 4 on 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: Release 12.1.0.1.0 Production on Wed Oct 9 13.51.39 2013

Copyright (c) 1982, 2013, Oracle. Kaikki oikeudet pidätetään.

Yhteydessä:

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

With the Real Application Clusters and Automatic Storage Management

 SQL> show con_id;

CON_ID

0

 SQL> show con_name;

 CON_NAME

Ei yhdistetty

 4. Enterprise Manager (EM) Expressin käyttäminen yhdistettäessä liitettävään tietokantaan

Jos tietokanta luodaan Database Configuration Assistantilla (DBCA), DBCA toimittaa EM Expressin URL-osoitteen. URL-osoitteen muoto on http://:portnumber/em ja portin oletustunnus on 5500.

 Ennen kuin kyseiseen URL-osoitteeseen voidaan siirtyä EM Expressin käyttämistä varten, seuraava SQL-lauseke on annettava portin vahvistamiseksi EM Expressille:

SQL> SELECT dbms_xdb_config.gethttpsport from dual;

GETHTTPSPORT

       5500

Jos syöte on edellä määritetyn kaltainen, DBCA:n näyttämään URL-osoitteeseen voidaan muodostaa yhteys.

Jos syöte on kuitenkin nolla, kuten

GETHTTPSPORT

PL/SQL-menetelmä DBMS_XDB_CONFIG.SETHTTPSPORT on suoritettava, jotta HTTPS-portti voidaan asettaa EM Expressille. Esimerkki:

SQL> exec dbms_xdb_config.sethttpsport(5500);

PL/SQL-menetelmä on suoritettu.

Tämän jälkeen EM Expressiä voidaan kokeilla käyttää URL-osoitteella.

 HTTP-portti voidaan myös määrittää EM Expressille seuraavasti:

SQL> select dbms_xdb_config.gethttpport from dual;

 SQL> exec dbms_xdb_config.sethttpport(8080);

Jotta EM Express -portti voidaan määrittää liitettäville tietokannoille, säilö on muutettava kyseiseen liitettävään tietokantaan ja PL/SQL-menetelmä on suoritettava kyseisen säilön portin asettamiseksi.

Tämän jälkeen HTTP-portti voidaan tarkistaa kohteille cpdb,pdb1 ja pdb2 seuraavasti:

SQL> select dbms_xdb_config.gethttpport from dual;

GETHTTPPORT

       8080

SQL> alter session set container = pdb1;

Session altered.

SQL> select dbms_xdb_config.gethttpport from dual;

 GETHTTPPORT

       8081

SQL> alter session set container = pdb2;

Session altered.

SQL> select dbms_xdb_config.gethttpport from dual;

GETHTTPPORT

       8082 
SLN310924_fi__1icon HUOMAUTUS: jos et voi vieläkään muodostaa yhtyettä EM Expressin URL-osoitteeseen, lataa Listener Control grid-käyttäjänä ja yritä uudelleen.

Article Properties


Last Published Date

21 Feb 2021

Version

3

Article Type

Solution