Oracle
 sql >> база данни >  >> RDS >> Oracle

Oracle Database12c ORA 01918 и грешка при свързване

Как конфигурирахте вашата база данни? Проверихте ли опцията за Pluggable database ? Ако да, моля, уверете се, че сте влезли в PDB а не CDB .

Моля, прочетете Oracle 12c след инсталирането задължително Стъпките .

По подразбиране, pre-installed потребители като SCOTT , HR и т.н. се намира в container database а не в pluggable database .

tnsnames.ora

Редактирайте файла tnsnames.ora, за да добавите подробностите за PDB. Например,

PDBORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = pdborcl)
    )
  )

Отворете всички PDBs

За да отворите всички/конкретни PDB веднага след влизане, създайте СЛЕД СТАРТИРАНЕ тригер на системно ниво в CDB.

Тъй като PDB не се отварят чрез стартиране на CDB. Да видим:

SHUTDOWN IMMEDIATE;
STARTUP;

SQL> SELECT name, open_mode FROM v$pdbs;

NAME                           OPEN_MODE
------------------------------ ----------
PDB$SEED                       READ ONLY
PDBP6                          MOUNTED

И така, за да отворите всички PDB автоматично, направете следното:

Направете „SQLPLUS / AS SYSDBA ”, и след това изпълнете :

CREATE OR REPLACE TRIGGER open_pdbs 
  AFTER STARTUP ON DATABASE 
BEGIN 
   EXECUTE IMMEDIATE 'ALTER PLUGGABLE DATABASE ALL OPEN'; 
END open_pdbs;
/

Той създава тригер на системно ниво след стартиране в CDB.

SQLPLUS / AS SYSDBA

Най-често срещаното недоразумение е относно използването на „SQLPLUS / AS SYSDBA“.

Тъй като проверихме опцията за създаване на единична CDB , командата “SQLPLUS / AS SYSDBA” винаги ще влиза в CDB. Обикновено разработчиците отключваха акаунта „SCOTT“ директно след влизане като SYSDBA. Но тук е трикът:

„SCOTT“ и други примерни схеми са в PDB, а не в CDB . Така че трябва да влезете като sysdba в PDB.

sqlplus SYS/[email protected] AS SYSDBA

SQL> ALTER USER scott ACCOUNT UNLOCK IDENTIFIED BY tiger;

sqlplus scott/[email protected]

SQL> show user;
USER is "SCOTT"



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на JDBC за Jboss EAP 6.3

  2. Как да покажа грешки в sqlplus

  3. Как да създадете вложена таблица с помощта на потребителски дефиниран тип данни в базата данни на Oracle

  4. Това възможна грешка в Oracle ли е или пропускам нещо?

  5. Завръщане от Open World 2013