<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page language="java" %>

<%@ page import="java.io.BufferedReader" %>
<%@ page import="java.io.InputStreamReader" %>
<%@ page import="java.io.OutputStreamWriter" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.net.URLConnection" %>
<%@ page import="org.json.simple.JSONArray" %>
<%@ page import="org.json.simple.JSONObject" %>
<%@ page import="org.json.simple.parser.JSONParser" %>

<%--
/***************************************************************************
* NAME : userSave.jsp
* 화면      : App.회원 등록
* Desc : 회원등록

* 호출          : http://localhost:8080/Test3/hanjul/app/appcall/userSave.jsp
* 신규회원 가입 시 (중복 id 존재 시)
*    client 송신값 = {"paramUser":{"user_no":"","orgn_public_id":"12","login_id":"12","user_name":"김용학","orgn_name":"단체 명2","addr1":"","addr2":"","orgn_public_pw":"11","email_addr":"","login_pw":"1","post_no":"","hand_tel_no":"","orgn_print_name":"단체 명"}
                  ,"paramJuge":[{"new_chk":"Y","old_chk":"N","agent_cd":"1020"}
                               ,{"new_chk":"Y","old_chk":"N","agent_cd":"1010"}]
                  ,"paramMgmt":[{"new_chk":"Y","old_chk":"N","agent_cd":"1010"}
                               ,{"new_chk":"Y","old_chk":"N","agent_cd":"1020"}]}
*    client 수신값 = {"result":{"resultMsg":"Login ID가 중복 입니다.","resultCd":"FAIL"}}
*
* 신규회원 가입 시 (정상시)
* clent 송신값. 신규 = paramUser에 "user_no"가 null값
*    client 송신값 = {"paramUser":{"user_no":"","orgn_public_id":"ab","login_id":"ab","user_name":"김용학","orgn_name":"단체 명2","addr1":"","addr2":"","orgn_public_pw":"11","email_addr":"","login_pw":"1","post_no":"","hand_tel_no":"","orgn_print_name":"단체 명"}
                  ,"paramJuge":[{"new_chk":"Y","old_chk":"N","agent_cd":"1020"}
                               ,{"new_chk":"Y","old_chk":"N","agent_cd":"1010"}]
                  ,"paramMgmt":[{"new_chk":"Y","old_chk":"N","agent_cd":"1010"}
                               ,{"new_chk":"Y","old_chk":"N","agent_cd":"1020"}]}
*    client 수신값 = {"result":{"resultMsg":"정상적으로 회원등록 되었습니다.","resultCd":"OK"}}

* 기존회원정보 수정시
*    client 송신값 = {"paramUser":{"user_no":"1","orgn_public_id":"11","login_id":"1","user_name":"aaa","orgn_name":"","addr1":"","addr2":"","orgn_public_pw":"11","email_addr":"","login_pw":"1","post_no":"","hand_tel_no":"","orgn_print_name":""}
                  ,"paramJuge":[{"new_chk":"Y","old_chk":"N","agent_cd":"1010"},{"new_chk":"Y","old_chk":"N","agent_cd":"1010"}]
                  ,"paramMgmt":[{"new_chk":"Y","old_chk":"N","agent_cd":"1010"},{"new_chk":"Y","old_chk":"N","agent_cd":"1010"}]}
****************************************************************************/
--%>

<%=userInsert()%>

<%!
 public String userInsert(){
     //String sBasePath = "http://localhost:8080/Test3/hanjul/app/login/userSave.jsp";
     String sBasePath = "http://localhost:8080/Test3/hanjul.do";
     URL url;
     URLConnection conn;
     OutputStreamWriter wr;      
   
   
        try{
            url = new URL(sBasePath);
            conn = url.openConnection();
           
            //POST 전송일 경우 true
            conn.setDoOutput(true);
            wr = new OutputStreamWriter(conn.getOutputStream());
           
            // 0. POST넘김 JSON
            JSONObject param = new JSONObject();  //json객체
           
            // 1. User 기본정보 생성
            JSONObject paramUserObject = new JSONObject();  //json객체
            paramUserObject.put("user_no"        , "");
            paramUserObject.put("user_name"      , "김용학");
            paramUserObject.put("login_id"       , "aa");
            paramUserObject.put("login_pw"       , "1");
            paramUserObject.put("orgn_name"      , "단체 명2");
            paramUserObject.put("orgn_print_name", "단체 명");
            paramUserObject.put("orgn_public_id" , "aa1");
            paramUserObject.put("orgn_public_pw" , "11");
            paramUserObject.put("hand_tel_no"    , "");
            paramUserObject.put("email_addr"     , "");
            paramUserObject.put("post_no"        , "");
            paramUserObject.put("addr1"          , "");
            paramUserObject.put("addr2"          , "");
           
            // 2. 심판.Agent목록 생성
            JSONArray paramJugeArray = new JSONArray();
            for(int i=0; i<2; i++){
                if (i==1){
                    JSONObject paramJugeObject = new JSONObject();  //json객체
                   
                    paramJugeObject.put("agent_cd", "1010");
                    paramJugeObject.put("old_chk" , "N");
                    paramJugeObject.put("new_chk" , "Y");
                    paramJugeArray.add(paramJugeObject);
                }else{
                    JSONObject paramJugeObject = new JSONObject();  //json객체
                   
                    paramJugeObject.put("agent_cd", "1020");
                    paramJugeObject.put("old_chk" , "N");
                    paramJugeObject.put("new_chk" , "Y");
                    paramJugeArray.add(paramJugeObject);
                }
            }
           
            // 3. 관리자.Agent목록 생성
            JSONArray paramMgmtArray = new JSONArray();
            for(int i=0; i<2; i++){
                if (i==1){
                    JSONObject paramMgmtObject = new JSONObject();  //json객체
                   
                    paramMgmtObject.put("agent_cd", "1010");
                    paramMgmtObject.put("old_chk" , "N");
                    paramMgmtObject.put("new_chk" , "Y");
                    paramMgmtArray.add(paramMgmtObject);
                }else{
                    JSONObject paramMgmtObject = new JSONObject();  //json객체
                   
                    paramMgmtObject.put("agent_cd", "1020");
                    paramMgmtObject.put("old_chk" , "N");
                    paramMgmtObject.put("new_chk" , "Y");
                    paramMgmtArray.add(paramMgmtObject);
                }
            }
           
            // 4. 파라미터를 wr에 넣어주고 flush
            param.put("paramUser", paramUserObject);
            param.put("paramJuge", paramJugeArray);
            param.put("paramMgmt", paramMgmtArray);
           
            wr.write("beanName=UserSave&baseParam=" + param.toString());
            wr.flush();           
           
            System.out.println("Clent 전송 =" + param.toString());
           
            //---------------------------------------------------------------------
            // 3. Post the response
            //---------------------------------------------------------------------
            // in에 readLine이 null이 아닐때까지 StringBuffer에 append
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
            StringBuffer result = new StringBuffer();
            String inputLine;
           
            while((inputLine = in.readLine()) != null){
                result.append(inputLine);
            }
            in.close();
            wr.close();
            System.out.println("client 수신값 =>" + result);
           
            // 4. Login 결과 - JsonParser
            //JSONParser jsonParser = new JSONParser();
            //JSONObject jsonObject = (JSONObject)jsonParser.parse(result.toString());
           
            //JSONObject resutObject = (JSONObject)jsonParser.parse(jsonObject.get("result").toString());
            //JSONArray  resultArray = (JSONArray)jsonParser.parse(jsonObject.get("dataList").toString());
           
            // 5. result 값 얻기
            //String resultCd  = resutObject.get("resultCd").toString();
            //String resultMsg = resutObject.get("resultMsg").toString();
           
            //System.out.println("resultCd =>" + resultCd );
            //System.out.println("resultMsg=>" + resultMsg);
           
            // 6. Data 값 얻기
            //JSONObject oneObject = (JSONObject)resultArray.get(0);
            //resutObject.toString()
           
           
           
        }catch (Exception e){
            e.printStackTrace();
        }finally{
        }
       
        return "OK";
    }

%>

저작자 표시
신고

'기타 > Hanjul(소스)' 카테고리의 다른 글

userSave.jsp  (0) 2017.03.20
userOpen.jsp  (0) 2017.03.20
loginOpenServer.jsp  (0) 2017.02.11
loginOpen.jsp  (0) 2017.02.11
loginServer.jsp  (0) 2017.02.11
login.jsp  (0) 2017.02.11
Posted by 농부지기

<%@ page contentType="text/html; charset=UTF-8" %>
<%@ page language="java" %>

<%@ page import="java.io.BufferedReader" %>
<%@ page import="java.io.InputStreamReader" %>
<%@ page import="java.io.OutputStreamWriter" %>
<%@ page import="java.net.URL" %>
<%@ page import="java.net.URLConnection" %>
<%@ page import="org.json.simple.JSONArray" %>
<%@ page import="org.json.simple.JSONObject" %>
<%@ page import="org.json.simple.parser.JSONParser" %>

<jsp:useBean id="jsonUtil"     class="hanjul.app.comm.JsonUtil"       scope="page" />

<%--
/***************************************************************************
* NAME : userOpen.jsp
* 화면      : App.회원 등록   App.회원 수정
* Desc : 회원등록, 회원 수정  화면이 open시

* 호출          : http://localhost:8080/Test3/hanjul/app/appcall/userOpen.jsp
* 신규회원등록 시
*   client 송신 : {"user_no":""}
*   client 수신 : {"result":{"resultMsg":"정상적으로 조회 되었습니다.","resultCd":"OK"}
                ,"userObject":null
                ,"mgmtArray":[{"user_type_cd":"M","new_chk":"Y","user_no":"","agent_name":"충현고","old_chk":"Y","agent_cd":"1010"}
                             ,{"user_type_cd":"M","new_chk":"Y","user_no":"","agent_name":"광명고","old_chk":"Y","agent_cd":"1020"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"하남고","old_chk":"N","agent_cd":"1030"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"대신고","old_chk":"N","agent_cd":"1050"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"철산고","old_chk":"N","agent_cd":"1060"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"누리고","old_chk":"N","agent_cd":"1070"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"영산고","old_chk":"N","agent_cd":"1080"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"전민고","old_chk":"N","agent_cd":"1081"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"후남고","old_chk":"N","agent_cd":"1082"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"민사고","old_chk":"N","agent_cd":"1083"}
                             ,{"user_type_cd":"M","new_chk":"N","user_no":"","agent_name":"청산고","old_chk":"N","agent_cd":"1084"}]
                ,"judgeArray":[{"user_type_cd":"J","new_chk":"Y","user_no":"","agent_name":"충현고","old_chk":"Y","agent_cd":"1010"}
                              ,{"user_type_cd":"J","new_chk":"Y","user_no":"","agent_name":"광명고","old_chk":"Y","agent_cd":"1020"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"하남고","old_chk":"N","agent_cd":"1030"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"대신고","old_chk":"N","agent_cd":"1050"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"철산고","old_chk":"N","agent_cd":"1060"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"누리고","old_chk":"N","agent_cd":"1070"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"영산고","old_chk":"N","agent_cd":"1080"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"전민고","old_chk":"N","agent_cd":"1081"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"후남고","old_chk":"N","agent_cd":"1082"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"민사고","old_chk":"N","agent_cd":"1083"}
                              ,{"user_type_cd":"J","new_chk":"N","user_no":"","agent_name":"청산고","old_chk":"N","agent_cd":"1084"}]}
* 회원수정 시
*   client 송신 : {"user_no":"1"}
*   client 수신 : {"result":{"resultMsg":"정상적으로 조회 되었습니다.","resultCd":"OK"}
                ,"userObject":{"retire_yn":"N","login_id":"12","orgn_name":"용학단체","email_addr":"","user_no":"1","orgn_print_name":"","hand_tel_no":"0101234567","orgn_public_id":"12","user_name":"용학","addr1":"","addr2":"","orgn_public_pw":"11","login_pw":"1","post_no":""}
                              ,"mgmtArray":[{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"충현고","old_chk":"N","agent_cd":"1010"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"광명고","old_chk":"N","agent_cd":"1020"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"하남고","old_chk":"N","agent_cd":"1030"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"대신고","old_chk":"N","agent_cd":"1050"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"철산고","old_chk":"N","agent_cd":"1060"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"누리고","old_chk":"N","agent_cd":"1070"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"영산고","old_chk":"N","agent_cd":"1080"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"전민고","old_chk":"N","agent_cd":"1081"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"후남고","old_chk":"N","agent_cd":"1082"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"민사고","old_chk":"N","agent_cd":"1083"}
                                           ,{"user_type_cd":"M","new_chk":"N","user_no":"1","agent_name":"청산고","old_chk":"N","agent_cd":"1084"}]
                              ,"judgeArray":[{"user_type_cd":"J","new_chk":"Y","user_no":"1","agent_name":"충현고","old_chk":"Y","agent_cd":"1010"}
                                            ,{"user_type_cd":"J","new_chk":"Y","user_no":"1","agent_name":"광명고","old_chk":"Y","agent_cd":"1020"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"하남고","old_chk":"N","agent_cd":"1030"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"대신고","old_chk":"N","agent_cd":"1050"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"철산고","old_chk":"N","agent_cd":"1060"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"누리고","old_chk":"N","agent_cd":"1070"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"영산고","old_chk":"N","agent_cd":"1080"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"전민고","old_chk":"N","agent_cd":"1081"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"후남고","old_chk":"N","agent_cd":"1082"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"민사고","old_chk":"N","agent_cd":"1083"}
                                            ,{"user_type_cd":"J","new_chk":"N","user_no":"1","agent_name":"청산고","old_chk":"N","agent_cd":"1084"}]}
****************************************************************************/
--%>

<%=userInsert()%>

<%!
 public String userInsert(){
     //String sBasePath = "http://localhost:8080/Test3/hanjul/app/login/userOpen.jsp";
     //String sBasePath = "http://localhost:8080/Test3/hanjul.do";
     String sBasePath = "http://localhost:8080/Test3/hanjul/app/appcall/userOpenOut.jsp";
     URL url;
     URLConnection conn;
     OutputStreamWriter wr;      
   
   
        try{
            url = new URL(sBasePath);
            conn = url.openConnection();
           
            //POST 전송일 경우 true
            conn.setDoOutput(true);
            wr = new OutputStreamWriter(conn.getOutputStream());
           
            // 0. POST넘김 JSON
            // JSONObject param = new JSONObject();  //json객체
           
            // 1. 회원 기본정보 생성
            JSONObject baseObject = new JSONObject();  //json객체
           
            //--회원 수정 화면일 경우
            //if (회원 신규 화면일 경우)
            // baseObject.put("user_type_cd" , "");
           
            //if (회원 수정 화면일 경우)
                baseObject.put("user_no"      , "1");

            // 4. 파라미터를 wr에 넣어주고 flush
            wr.write("beanName=UserOpen&baseParam=" + baseObject.toString());
            wr.flush();           
           
            System.out.println("Clent 전송 =" + baseObject.toString());
           
            //---------------------------------------------------------------------
            // 2. Post the response
            //---------------------------------------------------------------------
            // in에 readLine이 null이 아닐때까지 StringBuffer에 append
            BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
            StringBuffer result = new StringBuffer();
            String inputLine;
           
            while((inputLine = in.readLine()) != null){
                result.append(inputLine);
            }
            in.close();
            wr.close();
            System.out.println("client 수신값 =>" + result);
           
            // 4. Login 결과 - JsonParser
            JSONParser jsonParser = new JSONParser();
            JSONObject jsonObject = (JSONObject)jsonParser.parse(result.toString());
           
            JSONObject resutObject = (JSONObject)jsonParser.parse(jsonObject.get("result").toString());
            //JSONArray  resultArray = (JSONArray)jsonParser.parse(jsonObject.get("dataList").toString());
           
            // 5. result 값 얻기
            String resultCd  = resutObject.get("resultCd").toString();
            String resultMsg = resutObject.get("resultMsg").toString();
           
            System.out.println("resultCd =>" + resultCd );
            System.out.println("resultMsg=>" + resultMsg);
           
            // 6. Data 값 얻기
            //JSONObject oneObject = (JSONObject)resultArray.get(0);
            //resutObject.toString()
           
           
           
        }catch (Exception e){
            e.printStackTrace();
        }finally{
        }
       
        return "OK";
    }

%>

저작자 표시
신고

'기타 > Hanjul(소스)' 카테고리의 다른 글

userSave.jsp  (0) 2017.03.20
userOpen.jsp  (0) 2017.03.20
loginOpenServer.jsp  (0) 2017.02.11
loginOpen.jsp  (0) 2017.02.11
loginServer.jsp  (0) 2017.02.11
login.jsp  (0) 2017.02.11
Posted by 농부지기

토드 교육

유틸리티/Toad 2017.03.17 16:42

오전

1. 제품

    1. Toad Data Point :모든 db. Toad for oracle처럼 사용할 수 있음

    2. Toad For oracle : DBA Suite

    3. Dell SQL optimizer for oracle : SQL Tuning

    4. Benchmark Factory for DB    : 테스트용

    5. Spotlight on oracle                : 모니터링, 성능진단

 

    6. Space Manager with Live Re.. : DB Data조각 모임

    7. Oracle VM vierual Box :

 

2. Connection Alias 및 Color 지정 방법

    1. New Connection : 목록에서 Alias지정

    2. Menu : View > Toad Option > Window

                    하단 : Display [v] use alias instead of ...

 

3. Editor창 - 실행

    1. F9 : (/), (;) 기준으로 실행

    2. shift + f9, ctrl+Enter : 빈줄 문장 구분으로 실행

    3. f9 : 여러 sql문장을 순차적으로 실행

 

4. Editor창 - split

    1. 정의 : Editor창을 왼쪽:오른쪽 split해서 관리

        : Editor창 > 마우스 > split editor layout

 

5. ditor창 - Compare

    1. 정의 : sql문장이 동일한지 검사

        : Editor창 > 마우스 > Compare to

 

6. Editor창 - Formatting SQL

    1. 정의 : 작성한 sql문장을 이쁘게 정렬

        : ctrl + shift + f

    2. 양식

        a. Menu : View > Toad Option .. | Formatter

        b. column, Table모두 소문자 : Oracle Formatter options > Case > Identifiers > Lowercase

        c. Comma위치 : List Arragements > Commas

        d. And, or절 정렬 : Operators & Punchtuations > And - OR

        e. 대.소문자 : Case > Identifiers

        f. formatter참고 txt : conf.stistory.com/73

        g.

 

7. Editor창 - Font

    1. Courier new [10] : 가장 적당한 폰트

        : View > Toad Options > Scripts | [Font]버튼

 

8. Editor창 - 단축 key

    1. editor창에서 alt + 마우스 drag : cell단위  text들 선택 가능

    2. Grid : ctrl + end : 모든 data조회

 

9. Editor창 - 주석기울임 제거

    1. editor > 마우스 > editor options > [Languages] [...] 클릭

       (팝업) Highlighting tab > Comments

 

10. Editor창과 Palette 같이 보기

     1. Menu : View > Objects Palette

         - click 및 dragrksmd

     2. show column icon

     3. ..

 

11. Editor창 - Auto optimizer SQL

     1. 마우스 : Optimizer > Auto optimize SQL

     2. option - type

                    - search depth : 단계가 높을 수록 많은 수의 sql문장을 만들어 냄

                    - Limit optimize.. : 시간 설정

     3. oracle Expert이상 version에서만 기능 가능

 

12. Editor창 - Describe

     1. Table명 > 위에서 > F4

 

13. Grid(결과) - Excel

     1.  결과 Grid창 > 마우스 > Export Dataset

          - 대용량일 경우 : Excel file선택

          - ODBC Database : 타 DB에 전송 가능

              . 대용량에는 적합하지 않음 (이유, 속도가느림)

            

14. Grid(결과) - Header컬럼 처리

     1. Column Fix : Grid Header > 마우스 > Column Fix

                             추가하고 싶을 경우 하나씩 drag해서 기 Fix된쪽으로 drop하면 됨

                             (해제시  해제하고 싶은 컬럼은 오른쪽으로 drag and drop하면 됨)

     2. select에 적용된 컬럼목록을 Grid에서 제거 및 다시 조회

         - Grid Header 왼쪽 상탠 [...] icon click : column 목록 선택 및 해제

     3. 컬럼 설정 초기화 : Reset Columns

     4. Column Size : 마우스 > Size columns > ..... 중 하나씩 선택

 

 

15. Grid(결과) - 결과 list에서 숫자 목록 계산

     1. Grid.결과중 숫자 컬럼들만 마우스로 선택 > Grid상단에 [시그마]icon선택 후 함수 선택

 

16. Grid(결과) - 총 레코드수 얻기

     1. 보통 select count(*)로 총 레코드를 얻거나 Grid.결과 목록을 모두 조회해야만 가능하다.

         하지만 Grid.에서 모든 목록을 조회하지 않고도

         Grid > 마우스 > Record count 를 선택 하면 됨

 

17. Grid(결과) - 레코드수 조정

     1. 메뉴 : View > Toad Options | Oracle: General - OCI Array Buffer size[ 원하는레코드수 ]

 

20. Plan

      1. ctrl + E : Plan수행 및 초기에 Table 설정

                       Plan Table Schema :

                       Plan Table name : Toad만을 위한 테이블 생성

                                                     [Seach for Plan Table] Oracle용 plan table

                                  * ctrl + e는 table을 설정하는 창은 딱 한번만 나옴

                                  * oracle default plan table을 이용해도 됨

      2. plan 보는 icon 클릭

      3. plan 목록에서

          > 마우스 > Explan plan comparison

 

30. Schema Brower

     1. 오브젝트별 패널      : LHS - Left hand side

         오브젝트 상세 패널 : RHS - Right hand side

     2. Package, Trigger, TAb등을 Tab형태로 보기

         a. Brower style icon클릭

             > Tabbed (multiline table, single line tabs)..

     3. Package, Trigger, TAb등을 tree형태로 보기

             > Tree view

     4. 필요한 Tab만 조회

         > 마우스 > Configure

 

 

오후

1. Editor창에서 Schema Brower같이 보기
   > 메뉴 : View > Object Palete

2. Editor창에서 기본문법 자동생성
   > Ctrl + Space
   > 메뉴 : View > Toad Options > Edito > Behavior > Code Templates : 추가, 변경, 삭제 가능.
   > 추가 응용방법 : 많이 사용하는 sql문장을 기술 후 사용해도 됨

3. Editor창에서 sql문장을 VB등 Format등으로 변경
   > 어떤 형식인지 선택 (Java, VB등) (목록중 선택된 언어에서 Ctl + P, Ctl+M이 적용 된다.)
     - 메뉴 : View > Options > Editor > Code Assist > [Make Code] 목록에서 선택

   > Make Code
     - sql 문 선택 > Ctl + M 클릭 후 > 신규창에 Ctrl + V 하면 됨
   > Script Code
     - Ctrl + P
     - Menu > Editor > Strip Code Statement
     - Java등으로 되어 있는 sql문장을 선택 후 > Ctrl + P를 하면 자동 변환됨

4. SQL Recall
   > F8
   > Menu > View > SQL Recal
   > 기본 : 정상적으로 수행된 sql문장 남음  (option에서 모두 저장 할 수 있는 option이 있음)
   > 약 500개 이상이 남아 있음
   > [Saved] Tab
     - 남기고 싶은 sql문장들만 보관 가능
     - Recent Tab에서 sql하나 선택 후 > 마우스 > Add To Saved
     - Editor창 > sql선택 > 메뉴 : Editor > Add To Saved SQL  [[ 이곳에서 하면 sql문장 comments(이름)등록 가능 ]]
   > Editor창에서  : Ctrl + M 클릭하면   Saved Tab에 등록된 목록이 팝업창으로 뜸.

5. Editor - sql결과문장 바로 수정
   select rowid, a.* from scott.emp a;
   edit scott.emp a;
   이때 Ctrl + Enter를 해서 조회해야 가능.

6. Project Manager
   1. 정의 : 각 업무별로 자주 사용하는 테이블, PL SQL등을 Group화 해서 조회 및 관리 할 수 있다.
   2. Schema Browser 를 통해서 추가할 수 있다.
      - Toggle Reorder ... : 관련 icon이 클릭 되어져 있으면 안됨.


** Spotlight
1. User생성 : File > Oracle User Wizard
   - id : spotlight/spotlight
   - [v] Alter System : Spotlight로 모니터링시 session이 lock걸릴 경우 session kill 삭제 가능.
                        이 계정으로 실제 Oracle에 User를 생성하는 것이다.
   - [ ] Create/Upgrade.. : 체크 해제
   - 생성
   - (o) Don't Create.... :
2. File > Connect
   - Spotlight On Oracle > Add New Connection
     > Oracle Username : spotlight / spotlight
     > [ ] Monitor ASM
     > [v] Monitor OS
       > OS Server : centos
       > OS Username : oracle/oracle
     > [v] : Connect to OS Spotlight when starting...  : OS도 같이 모니터링 가능.
   
3. Monitoring 창
   - 모니터링 기분 조회 기준 : 15초
   1. Service Group
      - 정의 : Client 정보
      - Response : client요청에 대한 응답 시간
      - Total User : 총 접속사용자 수
      - Active User : 현재 접속자 수
   2. Server Processes
      - EM Agent
        . 보통 설치가 안되어 있음
        . 모니터링 제외 : 메뉴 > View > Options > 
               Data Collection > OEM Monitoring.. 클릭
               [ ] : Monitor Oracle Enter.. (OEM) : 설정 해제
   3. Total CPU Usage
      - 만약, sql문장이 오래 소요 될경우 CPU가 100%까지 치솟는 경우 존재
      - 왼쪽 마우스 클릭 > the OS Performance drilldown 클릭
      - [OS Performance] Tab에 CPU Utilization  조회 됨
      - [OS Processes] 클릭 > Grid Title중.%processor 클릭 : 가장 많이 찾이는 순으로 정렬 됨
      - 맨 위 Row선택 > 마우스 > Top Session 클릭
      - 상단.SID가 선택 되면서 하단에 해당 SQL문이 조됨.
      - 상단.SID 선택 > 마우스 > kill/Disconnect Session > kill Session 클릭
        (Spotlight에서 User생성 시 kill 권한을 부여 했기 때문에 가능함)

4. 모니터링하는 목록을 기준으로 별도 icon만 생성
   - 메뉴 : View > Connection Status Bar 클릭
   - 오른쪽 Window에 icon이 생성됨

* Bechmark..
1. 상단. New icon 클릭
  > TPC-C
  > [new] >
  > user/pw : tpc/tpc  (단, 이미 oracle USER등록이 되어 있어야 됨)
  > ..
  > Benchmark [ 20 ]   ((Test용 data size 생성))
  > Selected User Load 기존거 모두 삭제
  > User Load [ 20 ] 추가  [50] 추가
  [완료]
  >

2. 하단에 대안 Sql문장 목록이 조회 됨
  > 목록이 많이 나오기 때문에   약 상단부터 10개만 drag로 선택
  > 상단.중간에 Y 모양 icon 클릭 > Rewrite 클릭

3. 상단.[compare] Tab클릭
  > 10개 sql문장 클릭 된 거에서 서로 비교 함

저작자 표시
신고

'유틸리티 > Toad' 카테고리의 다른 글

토드 교육  (0) 2017.03.17
Toad.단축키  (0) 2017.02.09
Posted by 농부지기


티스토리 툴바