프린트 하기

OS 환경 : Oracle Linux 9.6 (64bit)

 

DB 환경 : Oracle AI Database 23.26.1.0.0

 

에러 : ORA-65040 Operation is not allowed from within a pluggable database.

pdb에서 로그스위치를 하려할때 발생하는 에러

1
2
3
4
5
6
7
8
9
10
11
12
SQL> show con_name
 
CON_NAME
------------------------------
ORA26DBFSPDB1
 
SQL> alter system switch logfile;
alter system switch logfile
*
ERROR at line 1:
ORA-65040: Operation is not allowed from within a pluggable database.
Help: https://docs.oracle.com/error-help/db/ora-65040/

 

 

해결 방법 : cdb에서 로그스위치 수행

cdb로 이동

1
2
3
4
5
6
7
SQL> conn / as sysdba
Connected.
SQL> show con_name
 
CON_NAME
------------------------------
CDB$ROOT

 

 

로그스위치 수행

1
2
3
SQL> alter system switch logfile;
 
System altered.

정상적으로 수행됨

 

 

원인 : pdb는 redo 미존재, cdb에서 수행해야함

pdb에는 리두로그가 별도로 존재하지 않고 cdb의 리두로그를 공유해서 사용함
그렇기 때문에 로그스위치는 cdb에서만 수행가능함

 

 

리두 경로 확인

1
2
3
4
5
6
7
8
9
10
11
12
13
SQL>
set lines 200 pages 1000
col member for a60
select thread#, l.group#, member, archived, l.status, (bytes/1024/1024) MB, sequence#
from v$log l, v$logfile f
where f.group# = l.group#
order by 1, 2;
 
   THREAD#     GROUP# MEMBER                                                       ARC STATUS                   MB  SEQUENCE#
---------- ---------- ------------------------------------------------------------ --- ---------------- ---------- ----------
         1          1 /app/oracle/oradata/ORA26DBFS/redo01.log                     NO  ACTIVE                  200         25
         1          2 /app/oracle/oradata/ORA26DBFS/redo02.log                     NO  CURRENT                 200         26
         1          3 /app/oracle/oradata/ORA26DBFS/redo03.log                     NO  INACTIVE                200         24

member 위치가 pdb 경로가 아닌 cdb경로임

 

 

참조 :