내맘대로긍정이 알려주는
Oracle 23ai 신기능
무료 세미나 발표자료
OS환경 : Oracle Linux6.8(64bit)
DB 환경 : Oracle Database 11.2.0.4
방법 : 오라클 sqlplus startup시 로깅 방법
strace -f -o를붙여 sqlplus 실행 후 startup 한다.
1 2 3 4 5 6 | 세션1 strace -f -o startup.out sqlplus / as sysdba SQL> startup 세션2 tail -300f startup.out |
로그
strace -f -o startup.out sqlplus / as sysdba 직후 startup.out 파일 로그 1500줄 이상 발생
제일 하단 로그 glogin.sql(SQLPLUS 설정파일) 을 open해서 read 하는것을 확인할수 있음
1 2 3 4 5 6 7 8 | 19776 open("/orcl/oracle/app/11.2.0/db/sqlplus/admin/glogin.sql", O_RDONLY) = 9 19776 read(9, "--\n-- Copyright (c) 1988, 2011, "..., 57344) = 553 19776 read(9, "", 57344) = 0 19776 close(9) = 0 19776 write(1, "SQL> ", 8) = 8 19776 fstat(0, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 1), ...}) = 0 19776 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f8676bec000 19776 read(0, |
startup 명령어를 입력 한뒤 startup.out 파일 로그 463232줄 이상 발생(startup 한 세션 exit 안하면 계속발생)
로그파일 용량도 초당 1M 이상씩 빠르게 증가함
startup nomount 후 제일 마지막 10줄(마지막에 나오는 Redo Buffers 값인 2392064 로 검색함)
1 2 3 4 5 6 7 8 9 10 | 25513 write(1, "Total System Global Area 830930"..., 42) = 42 25513 write(1, "Fixed Size\t\t 2257800 bytes\n", 30) = 30 25513 write(1, "Variable Size\t\t 562039928 bytes"..., 33) = 33 25513 write(1, "Database Buffers\t 264241152 byt"..., 35) = 35 25513 write(1, "Redo Buffers\t\t 2392064 bytes\n", 32) = 32 25513 write(1, "SQL> ", 8) = 8 25513 read(0, <unfinished ...> 25712 <... write resumed> ) = 324 25712 read(9, <unfinished ...> 25624 <... poll resumed> ) = 0 (Timeout) |
alter database mount 후 제일 마지막 10줄(마지막에 나오는 Database altered 로 검색함)
1 2 3 4 5 6 7 8 9 10 | 25712 <... write resumed> ) = 181 25513 write(1, "\n", 1 <unfinished ...> 25712 read(9, <unfinished ...> 25513 <... write resumed> ) = 1 25513 lseek(3, 3072, SEEK_SET) = 3072 25513 read(3, "\22\0A\0\0\0t\0B\0\0\0\212\0C\0\0\0\240\0D\0\0\0\261\0E\0\0\0\302\0"..., 512) = 512 25513 write(1, "Database altered.", 17) = 17 25513 write(1, "\n", 1) = 1 25513 write(1, "\n", 1) = 1 25513 lseek(4, 12288, SEEK_SET) = 12288 |
alter database open 후 제일 마지막 10줄(마지막에 나오는 Database altered 로 검색함)
1 2 3 4 5 6 7 8 9 10 | 28795 <... read resumed> "\22\0A\0\0\0t\0B\0\0\0\212\0C\0\0\0\240\0D\0\0\0\261\0E\0\0\0\302\0"..., 512) = 512 28886 <... times resumed> {tms_utime=45, tms_stime=21, tms_cutime=0, tms_cstime=0}) = 628051551 28795 brk(0x1b3e000 <unfinished ...> 28886 times( <unfinished ...> 28795 <... brk resumed> ) = 0x1b3e000 28886 <... times resumed> {tms_utime=45, tms_stime=21, tms_cutime=0, tms_cstime=0}) = 628051551 28795 write(1, "Database altered.", 17 <unfinished ...> 28886 times( <unfinished ...> 28795 <... write resumed> ) = 17 28886 <... times resumed> {tms_utime=45, tms_stime=21, tms_cutime=0, tms_cstime=0}) = 628051551 |
+
저렇게 strace 명령으로 startup.out 을 키고 sqlplus 에서 startup 을 한 뒤
sqlplus 를 빠져나가려고해도 바로 안빠져나가진다.
1 2 3 4 5 6 7 8 | SQL> alter database open; Database altered. ORCL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, Real Application Clusters and Data Mining options -- 이상태로 행걸려서 나가지지 않음 |
Ctrl+D, C로도 안나가져서 Ctrl+Z로 나간뒤 해당 계정(세션)도 완전히 나간뒤 다시 접속해야 db가 제대로 올라간다.
해당계정을 완전히 빠져나가지 않고 다시 sqlplus / as sysdba로 접속한뒤 startup 을 입력하면 아래와 같이 에러가 발생한다.
nomount 상태로도 올라가지 않음 (ORA-00304: requested INSTANCE_NUMBER is busy)
1 2 3 4 5 6 7 8 9 10 11 12 13 | SQL> sqlplus / as sysdba SQL*Plus: Release 11.2.0.4.0 Production on Fri Dec 14 10:46:19 2018 Copyright (c) 1982, 2013, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount ORA-00304: requested INSTANCE_NUMBER is busy SQL> exit SQL> Disconnected |
참조 :
'ORACLE > Admin' 카테고리의 다른 글
오라클 Primary Keys 설정 (0) | 2018.12.12 |
---|---|
오라클 create table 구문 옵션별 설명 (0) | 2018.12.12 |
오라클 클러스터란? (0) | 2018.12.11 |
Oracle Database 18c Technical Architecture (5) | 2018.12.10 |
deadlock 발생 테스트 ORA-00060 (0) | 2018.12.06 |