[교육생수강후기] 오라클 DBA 양성 과정
78기
“신성섭” 수강생
IT분야로 이직을 고민하던 중 데이터에 대한 기본적인 내용을 넓게 배워보고 싶어서 이 교육을 수강했습니다.
대학 다닐 때 기본적인 SQL이랑 Python을 배우긴 했었지만, 아주 기본적인 select 문도 까먹었었고, Python 그 어떤 함수도 모르는 상태로 교육에 참여했습니다.
주변에서는 커리큘럼을 보고 이 기간에 이 내용을 모두 배우는게 말이 안된다며 다소 부정적인 반응들을 보였고, 저 또한 SQL부터 Python, Linux, DB 장애 대응 등을 모두 배울 수 있을까 하는 우려가 있었습니다.
결론부터 말하자면, 우려와 달리 커리큘럼에 있는 내용을 꽤나 깊게 모두 배울 수 있었습니다. 수강생마다 교육 수강의 목적이 다 달랐을테고, 저와는 느끼는 것이 많이 다르겠지만, 비전공자가 IT 분야로 이직하려는 입장에서 제가 배운 내용과 느낌은 이랬습니다.
1. SQL
당연하게도 WHERE, GROUP BY, HAVING, ORDER BY 등 기본적인 SELECT문을 통해 Data 조회 구문을 작성할 수 있게 되었습니다. EQUI/NON-EQUI JOIN을 통해 관계형 DB의 여러 테이블에서 원하는 Data만 뽑아낼 수도 있고, 이 과정에서 집계, 순위 함수 등 Data들을 조합해 정보를 만들어낼 수도 있으면서 필요에 따라 Sub-query를 적절히 사용할 수도 있게 되었어요.
Data를 조회하는 것 뿐 아니라, Table, Index, Synonym, DB Link 등 다양한 오브젝트를 생성, 수정하고, 어떤 때에 어떤 작업이 필요한지, 작업할 때 무엇을 주의해야하는지 어찌보면 현업적인 관점에서 수업을 해주신 덕에 이에 대한 깊은 이해가 가능했어요.
마지막으로 PL/SQL의 기본적인 내용을 배우면서, 높은 수준은 아니겠지만, 조금의 힌트만 있다면 원하는 내용의 함수와 프로시져, 트리거를 작성할 수 있게 됐어요.
아마 여기까지는 조금만 강의를 들어도, 또는 책을 조금만 열심히 보아도 가능할거에요. 근데 저는 이 수업이 좋았던 이유중 하나가, 단순히 query 작성만 하는 것이 아니라, 어떤 query가 더 좋은 query인지 판단할 수 있게끔 수업을 해주셨어요. 깊지는 않았지만, SQL Tuning 수업도 진행해주시면서 Query의 성능을 비교, 판단하고 개선할 수 있는 내용도 배우면서, '나는 SQL 쓸 줄 안다'가 아니라 '나는 나름 효율적인 SQL Query를 작성할 줄 안다'라고 말할 수 있게 되었어요.
2. Data 분석(Python, R)
많은 분들이 Data 분석하면 Python이나 R과 같은 언어의 사용부터 생각하실 것 같은데, 저는 이보다 통계에 대한 이해가 우선이라고 생각했어요. 대학 다닐 때 전공과목으로 통계 수업도 들었고, 나름 성적도 잘 받았던 탓에 통계에 대한 거부감은 없었지만, 처음부터 다시 공부하기에는 조금 막막한 상황이었죠. 그런데 선생님께서, 통계에 대한 수업을 정말 잘 해주셨어요. 아마 제가 관련 백그라운드가 없었어도 정말 쉽게 이해했을것 같아요. 단순히 개념만 설명해주시는 것이 아니라, 개념에 해당하는 예시를 말씀해주시고, 이를 가시화 해주시면서 이해가 더 쉽도록 해주셨어요. 관련해서 빅데이터분석기사 취득을 많이 생각하실텐데, 필기와 실기를 통틀어 책으로만, 인강으로만 수업 듣는데 가장 어려운 것이 통계 Part일거라 생각합니다. 이런 분들이 들어도 정말 좋을 것 같아요.
그리고 Python과 R. 특히 Python은 꽤나 깊게 배울 수 있었어요. Python의 다양한 자료구조와 각 구조의 특징, 사용 가능한 함수/메서드의 사용법을 알려주시면서, 실제로 어떻게 활용될 수 있는지 실습 기회도 주시며 스스로 내용을 체득할 수 있게 해주셨어요. 선생님께서 단순히 다양한 문법을 알려주시는게 아니라, 어떤 함수의 사용법과 문법이 기억나지 않는다면, 어떻게 그 매뉴얼을 확인하고 작성할 수 있는지 알려주시고, 그 무엇보다 기계적인 Coding이 아니라 그 목적과 개념 이해를 바탕으로 한 분석/프로그래밍을 알려주셨어요.
개인적인 느낌을 정리하자면, SQL도 마찬가지고 Python, R 모두 기계적으로 코드를 작성하기보다, 코드의 개념과 목적을 바탕으로 내가 왜, 어떻게 코딩을 해야하는가 배울 수 있었습니다.
3. DB Admin/Recovery/Back-up
저는 DBA 과정을 수강했지만, 솔직히 말해 DBA가 되고 싶은 생각이 없었습니다. 그래서 이와 관련된 내용을 좀 가볍게 들어야겠다고 계획했어요. 그런데 수업을 듣다보니 점점 흥미가 생기더라구요. Linux에서 사용할 Shell을 기초적으로 배우고, ORACLE의 아키텍쳐를 배우면서, DBMS 구조가 머릿속에 조금씩 그려졌어요. 아마 많은 분들이 선생님 설명을 들으면서 자연스럽게 이렇지 않았을까 생각해요. 그리고, 배웠던 Shell과 아키텍쳐를 기반으로 발생 가능한 장애 상황과 장애 원인을 배우고, 이에 대한 대처 방안을 배우면서 DBA로 취업을 생각할 정도까지 흥미가 많이 생겼어요.
아마 같이 수강했던 DBA로 취업하신 많은 분들께서도 이부분에서 꽤나 머리가 아프셨을거는 같아요. 쉬운 내용은 아니었으니까요. 근데 제가 느낀바로는 많은 분들이 이 Part를 가장 열심히 들으셨던것 같아요. 정말 너무너무 골치아픈 일이었지만, 흥미가 생길 수 있도록 선생님이 설명을 잘해주시기도 하고, 실습을 유도해 주시기도 해서 그랬던 것 같네요.
마지막으로 총평 한문단만 쓰고 후기를 마칠까합니다. 꽤나 많은 내용을 다소 짧은 기간 안에 모두 배우다보니, 수업 진도가 꽤 빠른편입니다. 잠깐 정신팔고, 하루 결석하면 수업을 따라가기 힘들지도 몰라요. 내가 수업을 놓치더라도, 그날 수업을 다시 복기할 수 있는 필기라던가, 강사님에 따라 여러 방법을 통해 따라갈 수 있으니, 의지만 있다면 이 부분은 걱정하지 않으셔도 될 거에요. 하지만, 방금 전 말처럼 의지가 정말 중요한 것 같아요. 굳이 수업 끝나고도 남아서 무언가 하지 않아도, 수업시간에 졸지않고 열심히 듣고, 주어진 실습시간에 내주신 과제를 열심히 풀어보는 것만으로도 정말 크게 실력이 늘 수 있을거라 생각합니다.
DBA 또는 DB Engineer로 취업을 희망하시는 분은 물론이고, IT로의 이직을 고민하시는 분들 중, 어떤 분야(개발, 분석 등)로 나아가야할지 모르겠다 생각하시는 분들께도 정말 추천 드리는 강의입니다.