본문 바로가기

Dev. Cookbook29

[Oracle] sys, system 계정 비밀번호 재설정 방법 이제 그만 까먹을 때도 되었는데... 괜스레 비밀번호를 너무 간략하게 사용하는 습관을 들이려고 어려운 비밀번호를 설정했었습니다. 다시금 오랜만에 system 계정으로 접근하려고 보니 비밀번호를 까먹었네요. 다행히 로컬 컴퓨터에 오라클이 설치되어 있기에 간단하게 아래의 방법으로 변경했습니다. 비밀번호 재설정 방법 한 화면으로 설명하면 위와 같습니다. 한 줄씩 살펴보면 다음과 같습니다. 1. Windows CMD 창 띄우기 방법은 여러 가지가 있습니다만 저는 [윈도키+R] 키를 눌러 실행 창을 띄운 다음 'cmd'를 입력하고 실행합니다. Oracle DB가 설치되어 있는 컴퓨터의 cmd 창입니다. 만약 다른 컴퓨터에 오라클이 설치되어 있다면 다른 컴퓨터에서 실행해야 합니다. 2. sqlplus 접속 > sq.. 2022. 5. 24.
[JSP] JSTL 버전 구분 최근 JSTL을 사용하기 시작하면서 JSTL version을 1.1을 다운로드하여 설치해서 사용하고 있습니다. 문득 드는 생각이 버전별로 어떤 차이점이 있을지 알아둬야겠다는 생각이 들어 조금 찾아봤습니다. 1. JSTL JSTL은 JavaServer Pages Standard Tag Library의 약어입니다. JSP는 그냥 사용할 경우 스크립트릿( ) 영역과 HTML이 혼재되어 소스를 이해하가 비교적 어렵습니다. 그래서 코딩을 보다 쉽게 하기 위해 자신만의 태그를 추가하고 사용하였는데 이것이 '커스텀 태그'입니다. 커스텀 태그는 JSP를 작성할 때 자주 사용되는 자바 코드를 태그 형태로 만든 것이며 이런 커스텀 태그를 모아서 압축한 것이 커스텀 태그 라이브러리입니다. JSTL은 JSP에서 사용하는 커스.. 2022. 5. 24.
[CSS] CSS만으로 버튼 만들기 css를 공부하면서 CSS만으로도 버튼을 만들 수 있을 것 같다는 생각이 들어 검색을 해봤습니다. 아래의 3가지 주요 태그를 설정하면 css로 버튼을 만들 수 있습니다. 1. 주요 css 태그 border-radius : 테두리 반지름 설정 box-shadow : 테두리 그림자 설정 E:active : 마우스 클릭할 때 1.1 border-radius 요소 테두리 경계의 꼭짓점을 둥글게 만듦 border-radius: 반지름값 반지름 순서 : 좌상(Top-Left), 우상(Right-Top), 우하(Right-Bottom), 좌하(Left-Bottom) 반지름 단위 : px, %, 첫번째 반지름/두번째 반지름 ex) /* 모든 코너의 반지름이 10px */ border-radius: 10px /* 좌상,.. 2022. 5. 22.
[Oracle] Select count(*), count(1), count(column_name), count(DISTINCT column_name) 차이점 Oracle에서 조건에 맞는 행의 숫자를 세는 COUNT 함수가 있습니다. 일반적으로 테이블 전체 혹은 조건에 맞는 ROW(행)의 수를 파악하기 위해서 SELECT COUNT(*) FROM 문을 많이 사용합니다. 그런데 가끔 COUNT(*) 대신 COUNT(1)을 사용하는 것이 성능이 더 좋다는 얘기가 있어서 확인해보고, COUNT문 사용 시 컬럼명을 적용하는 것에 대해서 찾아보고 정리하였습니다. 1. COUNT(*) vs COUNT(1) COUNT(*)과 COUNT(1)에 대한 논쟁은 그동안 많은 포럼에서 차이점에 대한 논쟁이 있었습니다만, 결론부터 얘기하자면 실제 성능에는 차이가 없으므로 보편적인 COUNT(*)을 사용할 것을 언급하고 있습니다. 실제로 제가 실행계획을 분석해봐도 동일했습니다. -- .. 2022. 5. 12.
[Oracle] Cursor와 ROWCOUNT에 대해 이해하기 Oracle에서 커서를 사용하다 보면 커서 속성인 ROWCOUNT를 사용할 수 있습니다. 그렇지만 ROWCOUNT의 조회 범위나 횟수의 정확성에 대해서 좀 더 이해하려면 ROWCOUNT가 어떤 커서 속성인지 정확하게 이해해야 합니다. 1. 커서 속성에서 ROWCOUNT 속성 Oracle 10g 문서에서 아래와 같은 내용이 있습니다. %ROWCOUNT Attribute: How Many Rows Affected So Far? %ROWCOUNT yields the number of rows affected by an INSERT, UPDATE, or DELETE statement, or returned by a SELECT INTO statement. %ROWCOUNT yields 0 if an INSERT.. 2022. 5. 6.
[Oracle] ORA-01403: 데이터를 찾을 수 없습니다. NO DATA FOUND 에러 해결 방법 3가지 PL/SQL을 작성하면서 볼 수 있는 에러입니다. PL/SQL 내에서 SELECT문을 사용하여 테이블에서 어떤 조건에 맞는 데이터를 검색해 INTO 절을 사용하여 데이터를 입력하려 할 때, 조건에 맞는 데이터가 없는, 조건에 맞는 데이터가 0건인 경우 발생하는 에러입니다. BEGIN ... SELECT user_name INTO vs_user_name FROM users WHERE user_id = 123456; ... END; 위 PL/SQL 에서 user_id가 123456인 사용자가 없으면 반환되는 Row 수는 0이 됩니다. 이럴 때 발생하게 됩니다. 해결방법은 3가지가 있습니다만 편법도 있고, 실행 과정에서 에러 처리로 실행이 중단되게 되므로 상황에 맞게 사용하면 됩니다. 1. EXCEPTION .. 2022. 5. 5.
[Java] 상대경로, 절대 경로, 정규 경로(표준 경로), getPath(), getCanonicalPath(), getAbsolutePath() 차이점 1. 경로란 경로 혹은 패스(path)는 파일 시스템에서 파일이나 디렉터리의 고유한 위치를 의미합니다. 문자열로 표현하며 디렉터리 트리 계층을 따라 위치를 나타내며 구분자로 분리되는 경로 구성 요소를 통해 각각의 경로를 나타내게 됩니다. 구분 문자는 운영체제에 따라서 Unix, Linux에서는 슬래시( / ), Windows에서는 역슬래시( \ )문자를 사용합니다. windows cmd.exe에서 특정 경로의 디렉터리 트리 구조를 확인하고 싶다면 TREE라는 명령어를 사용하면 확인할 수 있습니다. 2. 상대경로, 절대 경로, 정규 경로(표준 경로) 2.1 경로를 표시하는 방법 구분자 의미 . 현재 경로 .. 상위 경로 \ or / 경로 구분 / : Unix or Linux \ : Windows 경로를 표.. 2022. 4. 27.
[ORACLE] 시노님(Synonym) 삭제 오류, ORA-01434 : private synonym to be dropped does not exist Oracle에서 Synonym은 Oracle 객체(Table, View, Sqeuence, Procedure 등)에 대체되는 이름을 말합니다. Synonym은 다른 사용자의 객체를 참조할 때 많이 사용합니다. 다른 사용자의 객체를 참조할 경우, Synonym을 생성해서 사용하면 추후 참조하고 있는 객체가 이름을 바꾸거나 이동할 경우 객체를 사용하는 모든 SQL문을 수정하는 것이 아니라 Synonym 만 다시 정의하여 사용할 수 있습니다. 또한 Synonym은 객체의 이름이 길거나 어려운 경우 사용하기 편리한 짧은 이름을 주어 SQL 코딩을 단순화할 수 있습니다. 객체의 소유나 권한을 제한하는 데도 사용되어 Synonym을 사용하려면 이름만 알면 사용할 수 있습니다. 1. Synonym 문법 synonym.. 2022. 4. 26.
[Java] printf() 한글 문자열 포맷 오류 해결방법 1. printf 오류 확인 Java 프로그래밍을 시작하고 나면 처음 시작하는 것이 'Hello Java'입니다. Java의 문법과 각종 API와 Collection 등을 공부하면서 프로그램을 공부하다 보면 결과를 출력하기 위해서는 System.out.println() 함수와 System.out.printf() 문을 사용하게 됩니다. 간단한 문자열 출력은 System.out.println() 함수를 주로 사용하지만, 사용의 편의를 위해서 printf() 문도 사용하곤 합니다. 일반적인 사용에서는 전혀 문제가 없습니다. 한글도 잘 출력되며 영문과 함께 섞어 사용해도 전혀 문제가 없습니다. 그러나 한글을 포함한 문자열의 길이 조절까지 포함하게 되면 문제가됩니다. public static void main(S.. 2022. 4. 25.