Toad 단축키.

DB 2008. 4. 19. 03:52

Table 3.1 SQL Editor Shortcuts by Keystroke

Shortcut

Description

Illustration

F1

Windows Help File


F2

Toggle Output Window

Figure 3.2

Shift+F2

Toggle Data Grid Window


F3

Find Next Occurrence


Shift+F3

Find Previous Occurrence


F4

Describe Table, View, Procedure, Function

Figure 3.26

F5

Execute SQL as a script

Figure 3.34

F6

Toggle between SQL Editor and Results Panel

Figure 3.1

F7

Clear All Text


F8

Recall Previous SQL Statement


F9

Execute Statement

Figure 3.33

Ctrl+F9

Set Code Execution Parameters

Figure 3.33

Shift+F9

Execute Current SQL statement at Cursor


F10 or right-click

Pop-up Menu

Figures 3.4, 3.10

Ctrl+F12

External Editor, Pass Contents

Figures 3.5, 3.6

Ctrl+A

Select All Text


Ctrl+C

Copy


Ctrl+E

Execute Explain Plan on the Current Statement

Figure 3.41

Ctrl+F

Find Text


Ctrl+G

Goto Line


Ctrl+L

Convert Text to Lowercase


Ctrl+M

Make Code Statement


Ctrl+N

Recall Named SQL Statement


Ctrl+O

Open a Text File


Ctrl+P

Strip Code Statement


Ctrl+R

Find and Replace


Ctrl+S

Save File


Shift+Ctrl+S

Save File As

Figure 3.18

Ctrl+T

Columns Drop-down


Shift+Ctrl+R

Alias Replacement


Shift+Ctrl+T

Columns Drop-Down no alias

Figure 3.19

Ctrl+Spacebar

Code Templates

Figure 3.30

Ctrl+U

Converts Text to Uppercase


Ctrl+V

Paste


Ctrl+X

Cut


Ctrl+Z

Undo Last Change


Ctrl+.

Display Pop-up List of Matching Table Names

Figure 3.16

Shift+Ctrl+Z

Redo Last Undo


Alt+Up Arrow

Display Previous Statement

Figure 3.7

Alt+Down Arrow

Display Next Statement (After Alt+Up Arrow)

Figure 3.7

Ctrl+Home

In the data grid: goes to the top of the record set


Ctrl+End

In the data grid: goes to the end of the record set


Ctrl+Tab

Cycles through the Collection of MDI Child Windows



TIP

The competent TOAD user makes use of Shift+F9 to execute SQL statements one at a time out of a script, and F8 to recall the previous SQL statement. The TOAD user also makes use of cut and paste to move code between TOAD windows.

Shift+F9 executes single SQL statements.

F8 recalls the previous SQL statement.

Table 3.2 SQL Editor Shortcuts by Description

Description

Shortcut

Illustration

Alias Replacement

Shift+Ctrl+R


Clear All Text

F7


Code Templates

Ctrl+Spacebar

Figure 3.30

Columns Drop-down

Ctrl+T

Figure 3.18

Columns Drop-down no alias

Shift+Ctrl+T

Figure 3.19

Convert Text to Lowercase

Ctrl+L


Convert Text to Uppercase

Ctrl+U


Copy

Ctrl+C


Cut

Ctrl+X


Cycles through the Collection of MDI Child Windows

Ctrl+Tab


Describe Table, View, Procedure, Function, or Package

F4

Display Next Statement (After Alt+Up Arrow)

Alt+Down Arrow

Figure 3.7

Display Previous Statement

Alt+Up Arrow

Figure 3.7

Display Pop-up List of Matching Table Names

Ctrl+.

Figure 3.16

Execute Current SQL Statement at Cursor

Shift+F9


Execute SQL as a Script

F5

Figure 3.35

Execute Explain Plan on the Current SQL Statement

Ctrl+E

Figure 3.41

Execute SQL Statement

F9

Figure 3.34

External Editor, Pass Contents

Ctrl+F12

Figure 3.5

Find and Replace

Ctrl+R


Find Next Occurrence

F3


Find Previous Occurrence

Shift+F3


Find Text

Ctrl+F


Goto Line

Ctrl+G


In the data grid: goes to the end of the record set

Ctrl+End


In the data grid: goes to the top of the record set

Ctrl+Home


Make Code Statement

Ctrl+M


Open a Text File

Ctrl+O


Paste

Ctrl+V


Pop-up Menu

F10 or RT-Mouse

Figures 3.4, 3.10

Recall Named SQL

Ctrl+N


Recall Previous SQL Statement

F8


Redo Last Undo

Shift+Ctrl+Z


Save File

Ctrl+S

Save File As

Shift+Ctrl+S

Select All Text

Ctrl+A


Strip Code Statement

Ctrl+P


Toggle between SQL Editor and Results Panel

F6

Figure 3.1

Toggle Full Screen Editor

F2

Figure 3.2

Undo Last Change

Ctrl+Z


Verify Statement Without Execution (Parse)

Ctrl+F9


Windows Help File

F1


 
Posted by '김용환'
,

◘ mysqldump : 백업

: mysqldump 명령어를 이용해서 DB의 내용이나 DB자체를 백업 할 수 있다.

 

- mysqldump [옵션] DB명 [table명] > 백업파일

- mysqldump [옵션] --databases [옵션] DB명1, DB명2, .... > 백업파일

- mysqldump [옵션] --all-databases [옵션] > 백업파일

 

▪ 옵션

-A, --all-databases : 모든 DB를 덤프

--add-locks : 덤프 전에 lock 덤프 후에 unlock

--add-drop-table : 덤프 이후에 출력물의 앞에 drop table 명령 추가 (복구할 때 사용)

-B, --databases : 여러 DB를 동시에 덤프 할 때 사용

-f, --force : 에러를 무시

-h, --host : 지정한 호스트의 데이터를 덤프

-t : data만 덤프

-d : 데이터를 제외하고 스키마만 덤프

-p : 사용자의 암호를 지정

-P : 포트번호 지정

-u : 사용자명 지정

 

 

<실습> 계정 : root , 암호 : 12345

1. 전체 DB를 모두 backup 해보자.

mysqldump -u root -p -A > total.db

2. school DB만 backup

mysqldump -u root -p school > total.db

3. school의 student table 만 backup

mysqldump -u root -p school student > total.db

4. school의 table 구조만 backup

mysqldump -u root -p -d school > total.db

 

 

◘ Data만을 백업

▪ 문법

select [column명 , 결과 양식]

into outfile '경로 및 파일명‘

[fields terminated by '종단문자‘]

from [table명]

[where [조건]]

 

기본적으로 column 간의 구별은 Tab을 이용하지만 사용자가 임의로 ‘종단문자’를 지정할 수 있다.

 

 

<실습>

▪ student table의 내용의 column 구분은 ‘|’로 하고 성이 마씨인 학생만을 ‘/root/student.dat로 저장해보자.

select *

into outfile '/root/student.dat'

fields terminated by '|'

from student

where sname like '마%‘

 

 

 

◘ 복구

: 백업된 내용의 복구는 mysql 명령어나 mysqladmin 명령어를 이용한다.

 

<실습>

▪ linux라는 DB를 백업한 파일이 linux.db 라면,

$ mysqladmin -u root -p12345 drop linux

$ mysqladmin -u root -p12345 create linux

$ mysql -u root -p12345 linux < linux.db

 

 

 

◘ myisamchk : 에러 검사 및 복구

- myisamchk [옵션] table명

 

▪ 옵션

-c : 에러 점검

-e : 상세한 검사

-f : 에러 검사 후 -r 옵션으로 재시작

-r : 에러 복구

-o : -r로 복구가 안되는 경우 복구

 

 

<실습>

▪ mysql의 user table을 검사

$ cd /user/local/mysql/var/mysql //검사할 디렉토리로 이동

$ myisamchk -V // 현재 버전확인

$myisamchk -c user // user table 검사

<참고> root의 암호를 잊어버린 경우

▪ MySQL을 몽땅 지우고 새로 설치...orz (단, data는 백업받아둔다.)

▪ mysqld_safe를 실행 할 때 --skip-grant-table 옵션을 준다.

ex) mysqld_safe --skip-grant-table &

-->암호 없이 mysql을 진행 할 수 있다.

 

 

 

 

 

 

 

<Spencer>Why be normal?

http://blog.naver.com/ssalleng21

 
Posted by '김용환'
,

 

log4j:ERROR JDBCAppender::flush_buffer(), :
java.sql.SQLException: Communications link failure during commit(). Transaction resolution unknown.
        at com.mysql.jdbc.Connection.commit(Connection.java:2155)
        at org.apache.log4j.jdbcplus.JDBCLogger.freeConnection(JDBCLogger.java:455)
        at org.apache.log4j.jdbcplus.JDBCLogger.append(JDBCLogger.java:758)
        at org.apache.log4j.jdbcplus.JDBCAppender.flush_buffer(JDBCAppender.java:847)
        at org.apache.log4j.jdbcplus.JDBCAppender.append(JDBCAppender.java:827)
        at org.apache.log4j.AppenderSkeleton.doAppend(AppenderSkeleton.java:221)
        at org.apache.log4j.helpers.AppenderAttachableImpl.appendLoopOnAppenders(AppenderAttachableImpl.java:57)
        at org.apache.log4j.Category.callAppenders(Category.java:194)
        at org.apache.log4j.Category.forcedLog(Category.java:379)
        at org.apache.log4j.Category.log(Category.java:844)
        at org.apache.commons.logging.impl.Log4JLogger.error(Log4JLogger.java:193)
        at org.quartz.core.JobRunShell.run(JobRunShell.java:204)
        at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)

 

이런 에러가 나왔다. log4j에서 로그를 쌓다가 에러가 이렇게 나왔다. 소스를 보아하니..

아래와 같이 나온다..

 

 

 

 } catch (SQLException sqlException) {
- if (SQLError.SQL_STATE_COMMUNICATION_LINK_FAILURE
- .equals(sqlException.getSQLState())) {
- throw SQLError.createSQLException(
- "Communications link failure during commit(). Transaction resolution unknown.",
- SQLError.SQL_STATE_TRANSACTION_RESOLUTION_UNKNOWN);
- }
-
- throw sqlException;
- } finally {

 

 

SQLError.SQL_STATE_COMMUNICATION_LINK_FAILURE

이것인가 본데..

 

mysql이 빡빡한 쿼리로 쌓여 있어서 소켓이 깨지거 같다.

log4j에서 case by case로 넣는 부분을 AsyncAppender로 변경

그리고, logDB에서 시간이 걸리지 않도록 테이블 튜닝을 했다..

 

그 이후, 문제가 발생되지 않고 있다..

 

Posted by '김용환'
,

대단한 내용은 아닌데. 간단한 팁이라 할 수 있겠다.

 

한 테이블이 있는데, indexing이 3개가 걸려있어서 40만개의 row을 삭제하려고 하니. 시간이 무진장 걸렸다.

 

너무 걸려서 뒤에 딸려오는 쿼리들을 위해서 killed되었다.

 

결국 방법은?

 

limit을 써서 적당하게 쪼개는 것이 좋겠다.

 

mysql> delete from lgt_logdata where projectname = "google_music" limit 1000;

 

또는 perl같은 스크립트를 사용하여 적당하게 sleep을 해주면서 처리해주는 센스도 좋을 듯..

 

 

 

 

 

 

Posted by '김용환'
,

 

mysql의 plan 를 떴다.

mytop에서 뜰 수 있고, mysql 내부에서 뜰 수 있다.

이에 대한 설명은 다음과 같다.

 

출처 : blog.empas.com/ing1560/read.html?a=26448819

 

 - table : 테이블 명
- type : 조인의 타입
    system : 테이블이 하나의 레코드만 가지는 경우
    const : 테이블에 조건을 만족하는 레코드가 하나일 때, 상수 취급
    eq_ref : 인덱스가 UNIQUE이거나 PRIMARY KEY인 경우의 조인으로 const를 제외한 조인 중 가장 좋은 형태
    ref : eq_ref와 다른 점은 UNIQUE가 아닐 경우 사용한다는 것.
    range : 조건에 레코드의 범위가 주어진 조인.
    index : all 형태와 비슷하며, 인덱스를 사용한다.
    all : 모든 레코드를 스캔한다.
- possible_keys : 테이블에서 사용 할 수 있는 키(인덱스)
- key : possible_keys에 나온 키 중에서 실제로 사용한 키
- key_len : 키의 길이
- ref : 인덱스를 사용할 때 어떤 컬럼과 조건이 맞아야 하는지
- rows : 조건을 만족하는 레코드를 찾기 위해 몇개의 레코드를 검사해야 하는지
- Extra : 부가적인 정보
    distinct : 조건을 만족하는 레코드를 찾았을 때 같은 조건을 만족하는 또 다른 레코드가 있는지 검사하지 않음.
    not exist : left join 조건을 만족하는 하나의 레코드를 찾았을 때 다른 레코드의 조합은 더 이상 검사하지 않는다.
    range checked for each record : 최적의 인덱스가 없는 차선의 인덱스를 사용한다는 의미.
    using filesort : mysql이 정렬을 빠르게 하기 위해 부가적인 일을 한다.
    unsing index : select 할때 인덱스 파일만 사용
    using temporary : 임시 테이블을 사용한다. order by 나 group by 할때 주로 사용
    where used : 조건을 사용한다는 의미.

 

 

 

참고로 오라클에서 plan 정보 뜨기 정보이다.

출처 : http://www.phplab.co.kr/cms/board/bod_view.php?code=dbms&no=26&pageID=2&item=&find=&flg=

 

1. Plan Table 생성

ORACLE_HOME은 C:\ORANT인경우 
 
테이블 PLAN_TABLE을 생성하는 SQL문은
C:\ORANT\RDBMS80\ADMIN 디렉토리의 UTLXPLAN.SQL입니다. 
 
실행을 시키면 아래와 같이 실행되게 됩니다.

<pre>SQL> SHOW USER 사용자는 "SCOTT" 입니다.
SQL> @C:\ORAWIN95\RDBMS80\ADMIN\UTLXPLAN.SQL
테이블이 생성되었습니다.
SQL>


2. DESC PLAN_TABLE
Name                         Type
--------------------- -----
STATEMENT_ID          VARCHAR2(30)  //사용자가 지정한 제목
TIMESTAMP              DATE               //실행계획이 수립된 날짜와 시간
REMARKS                 VARCHAR2(80) //사용자가 부여한 주석(comments)
OPERATION               VARCHAR2(30) //AND-EQUAL, INDEX, SORT등과 같은 실행 연산자
OPTIONS                   VARCHAR2(30) //BY ROWID, JOIN, FULL 등과 같은 실행 옵션
OBJECT_NODE          VARCHAR2(128) //사용한 데이터베이스 링크
OBJECT_OWNER        VARCHAR2(30) //객체를 생성한 소유자
OBJECT_NAME          VARCHAR2(30) //테이블, 인덱스, 클러스터 등의 객체의 이름
OBJECT_INSTANCE    NUMBER(38)   //SQL문의 FROM절에 기술된 객체를 좌에서 우로부여한 번호
OBJECT_TYPE           VARCHAR2(30) //UNIQUE, NON-UNIQUE INDEX 등의 객체의 종류
OPTIMIZER                VARCHAR2(255) //CHOOSE, RULE, FIRST_ROWS 등의 현재 옵티마이저 모드
SEARCH_COLUMNS    NUMBER
ID                              NUMBER(38) //수립된 각 실행단계에 붙여진 일련번호
PARENT_ID                 NUMBER(38) //부모단계의 일련번호
POSITION                   NUMBER(38) //부모아이디를 가지고있는 자식아이디간의 처리순
COST                         NUMBER(38)
CARDINALITY               NUMBER(38)
BYTES                        NUMBER(38)
OTHER_TAG                VARCHAR2(255)
PARTITION_START       VARCHAR2(255)
PARTITION_STOP         VARCHAR2(255)
PARTITION_ID              NUMBER(38)
OTHER                       LONG

 

3. EXPLAIN PLAN 실행
 
EXPLAIN PLAN을 생성하는 Syntax는 아래와 같습니다.
 
   EXPLAIN PLAN [SET statement_id = 'description']
        [into TABLE_NAME]
        FOR sql_statement
 
 
 
위의 구문을 사용한 예를 살펴 보겠습니다.
 
  SQL> EXPLAIN PLAN SET STATEMENT_ID = 'TEMP_1'
  2  INTO PLAN_TABLE FOR
  3  SELECT A.EMPNO, A.ENAME, NVL(A.SAL,0), B.DNAME
  4  FROM   EMP A, DEPT B
  5  WHERE A.EMPNO = 10
  6  AND   A.DEPTNO = B.DEPTNO
  7  /

Explained.

SQL>

 

4. PLAN_TABLE 확인
 
앞에서 실행한 EXPLAIN PLAN에 대한 PLAN_TABLE의 확인은 아래와 같이 합니다.
 
  SQL> SELECT ename, job, sal, dname
             FROM emp, dept
           WHERE emp.deptno = dept.deptno
            AND not exists
              (SELECT *
                  FROM salgrade
               WHERE emp.sal BETWEEN losal AND hisal)

 ID   P_ID OPERATION                 OPTIONS              OBJECT_NAME    
 ---- ---- ---------------------- ------------------ --------------------
  0          SELECT STATEMENT                                              
  1    0       FILTER                                                   
  2    1         NESTED LOOP                                
  3    2           TABLE ACCESS        FULL                EMP           
  4    2           TABLE ACCESS        BY ROWID         DEPT
  5    4             INDEX UNIQUE SCAN                      PK_DEPT

  6    1         TABLE ACCESS        FULL                  SALGRADE

 

실행계획 생성결과를 이진트리로 표현하면

                     1 

              |             |          

             2              6

       |           |  

       3           4

                    | 

                    5

 

1 FILTER : ID 2번에서 ACCESS 한 결과로ID 6번의 결과를 FILTER

2 NESTED LOOPS : ID 3번에서ACCESS한 결과로 ID 4번에서ACCESS한 결과를 NESTEDLOOP JOIN

6 TABLE ACCESS FULL salgrade :salgrade TABLE을 FULL SCAN

3 TABLE ACCESS FULLemp : emp TABLE을FULL SCAN

4 TABLE ACCESS BY ROWID dept :dept TABLE을 pk_dept에서 읽은rowid로 ACCESS

5 INDEX UNIQUE SCAN pk_dept : pk_dept INDEX를UNIQUE SCAN

 

하나의 SQL 문장에 대한 실행계획을 만들어 결과를 분석하였습니다. 그런데,
이렇게 하나 하나의 문장에 대해서 실행계획을 생성하지 않고, 시스템 전체 혹은 하나의
세션에서 발생하는 모든 SQL 문에 대한 실행계획을 알고자 할 경우에는 Trace File을
만들어서 분석합니다.
 
  생성된 trace file은 생성된 그 자체로는 우리가 분석할 수 없어서 분석할 수 있도록 tkprof라는
tool을 사용해서 분석할 수 있습니다. 또한 SQL*PLUS에서 실행계획의 간략한 정보만
볼 수도 있습니다.


 

Posted by '김용환'
,

mytop으로 본 풀 쿼리 스캔의 악영향이다.

mysql은 테이블 lock을 기본적으로 하기 때문에, 다리 쿼리들을 블럭시킨다. 만약 풀쿼리가 분마다 들어오고, 기타 쿼리들이 쌓인다면.. 문제는 자명하다..

 

만약 mysql은 다른 서비스와 동작시키지 말아야 하며, 중형서버로 증설하지 않도록 해야 한다.

 


      Id      User         Host/IP         DB      Time    Cmd Query or State                                                   
      --      ----         -------         --      ----    --- ----------                                                       
  562670    dejava 211.218.152.101  dejavalog       199  Query SELECT projectname, count(projectname) count FROM lgt_logdata WHER
  562689    dejava 211.218.152.192  dejavalog       118  Query DELETE FROM lgt_logdata WHERE logid = -1                         
  562664    dejava   220.73.147.74  dejavalog       110  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562678    dejava 211.218.152.109  dejavalog       107  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562690    dejava   220.73.147.73  dejavalog       104  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562691    dejava   218.145.30.64  dejavalog       102  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562692    dejava   121.156.75.37  dejavalog        94  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562694    dejava 211.218.152.187  dejavalog        75  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562695    dejava   220.73.147.30  dejavalog        61  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562696    dejava  121.156.75.109  dejavalog        53  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562698    dejava 211.218.152.186  dejavalog        34  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562705    dejava   220.73.147.74  dejavalog        13  Query INSERT INTO lgt_logdata (PROJECTNAME, SERVERNAME, USERID, LOGDT, L
  562346      root       localhost  dejavalog         0  Query show full processlist                                            

 

'DB' 카테고리의 다른 글

mysql에서 delete를 빨리 해보기  (0) 2008.04.03
mysql에서 plan 정보 보기  (0) 2008.04.02
mytop mysql 모니터링 툴!  (0) 2008.04.02
ORA-00900 에러 와 validationQuery  (0) 2008.03.06
RAC 구축  (0) 2008.03.06
Posted by '김용환'
,

mytop mysql 모니터링 툴!

DB 2008. 4. 2. 22:46

mytop : mysql 모니터링에서는 정말 최고의 툴이 아닌가 싶다.

 

/root/.mytop 수정

  user=root
  pass=
  host=localhost
  db=test
  delay=5
  port=3306
  socket=
  batchmode=0
  header=1
  color=1
  idle=1

 

short 키 설명

? : 설명이 나온다.

 

 

너무 정보가 많아서 보기 힘들면, sleep을 뺀 나머지 정보를 보여준다.

mytop 에서 i를 누린다.

 

 MySQL on localhost (4.1.10-log)                                                                         up 41+10:09:05 [13:28:30]
 Queries: 68.4M  qps:   20 Slow:    2.1k         Se/In/Up/De(%):    11/39/02/02
             qps now:    2 Slow qps: 0.0  Threads:  351 (   3/   7) 00/40/00/00
 Cache Hits: 1.6M  Hits/s:  0.5 Hits now:   0.0  Ratio: 21.2% Ratio now:  0.0%
 Key Efficiency: 99.8%  Bps in/out:  1.1k/425.5   Now in/out: 230.3/ 5.1k

      Id      User         Host/IP         DB      Time    Cmd Query or State                                                   
      --      ----         -------         --      ----    --- ----------                                                       
  562607    dejava 211.218.152.101  dejavalog        73  Query SELECT projectname, count(projectname) count FROM lgt_logdata WHER
  562615    dejava 211.218.152.192  dejavalog        11  Query DELETE FROM lgt_logdata WHERE logid = -1                         
  562346      root       localhost  dejavalog         0  Query show full processlist       

 

또한 plan도 뜰 수 있는데.

 

e 를 누르고, id를 넣어서 리턴하면, plan정보가 뜬다.

 

이런 식으로 정보를 볼 수 있어서 모니터링이 편하다.

 

자세한 것은 이곳을 보길~

 

http://jeremy.zawodny.com/mysql/mytop/mytop.html

 

 

'DB' 카테고리의 다른 글

mysql에서 plan 정보 보기  (0) 2008.04.02
풀 쿼리 스캔의 악영향  (0) 2008.04.02
ORA-00900 에러 와 validationQuery  (0) 2008.03.06
RAC 구축  (0) 2008.03.06
오라클 테이블 내용 복구하기  (0) 2008.02.18
Posted by '김용환'
,

 

DBCP 설정중 validationQuery를 할 수 있는데, 그 query에 넣어야 하는데, 아무것도 안넣으면, 다음과 같은 에러가 뜬단다.

헐~~ 왜 그런거 했어

 

http://www.techonthenet.com/oracle/errors/ora00900.php

 

 

 

Error:

ORA-00900: invalid SQL statement

Cause:

The statement that you've tried to execute is not a valid SQL statement.

Action:

The options to resolve this Oracle error are:
  1. This error commonly occurs when you are trying to create a procedure and the Procedural Option is not installed.

To determine if the Procedural Option has been installed, open an Oracle session using SQL*Plus. If the PL/SQL banner does not display, then you know that the Procedural Option has not been installed.

Below is what a sample PL/SQL banner looks like:

'DB' 카테고리의 다른 글

풀 쿼리 스캔의 악영향  (0) 2008.04.02
mytop mysql 모니터링 툴!  (0) 2008.04.02
RAC 구축  (0) 2008.03.06
오라클 테이블 내용 복구하기  (0) 2008.02.18
mysql 에서 root 암호 잃어버렸을 때  (0) 2007.12.31
Posted by '김용환'
,

RAC 구축

DB 2008. 3. 6. 03:06

오라클 10g를 사용하는데, RAC 구축과 관련한 이슈가 있어서 소개한다.

 

http://blog.naver.com/ukja?Redirect=Log&logNo=120041609632

 

지금은 오라클에서 해결한 상태이다.

 

 

오라클 10g만 RAC가 구축이 가능한데. 9i는 RAC 구축이 되지 않는다.

하지만, 3rd party 툴을 이용하면 RAC구축이 가능한다.

 

http://www.quest.com/shareplex-for-oracle/

 

 

'DB' 카테고리의 다른 글

mytop mysql 모니터링 툴!  (0) 2008.04.02
ORA-00900 에러 와 validationQuery  (0) 2008.03.06
오라클 테이블 내용 복구하기  (0) 2008.02.18
mysql 에서 root 암호 잃어버렸을 때  (0) 2007.12.31
mysql  (0) 2007.11.09
Posted by '김용환'
,

오라클 10g에서 모르고 지운 테이블 보고가 발생되었다.
delete BANK where itemcode = 'C14';

 

다음과 같이 복구.

insert into  BANK select * from BANK  as of timestamp(systimestamp - interval '60'minute);

'DB' 카테고리의 다른 글

ORA-00900 에러 와 validationQuery  (0) 2008.03.06
RAC 구축  (0) 2008.03.06
mysql 에서 root 암호 잃어버렸을 때  (0) 2007.12.31
mysql  (0) 2007.11.09
mysql 로그가 차면??  (0) 2007.10.20
Posted by '김용환'
,