태터데스크 관리자

도움말
닫기
적용하기   첫페이지 만들기

태터데스크 메시지

저장하였습니다.

프로젝트중 다국어 사이트가 포함되어 설정하던중

DB에서 중국어와 일본어를 불러올때 일부 문자가 깨져버렸다..

기존데이터를 살리고 인코딩을 변경하느라 하루를 버렸네..

DB 초기셋팅때 미리 설정만 해두었더라면..  이래서 많이알아야 몸이 고생을 안한다니깐..



$ sqlplus "sys/manager as sysdba"
 
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Aug 19 23:38:38 2010
 
Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.
 
 
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Data Mining and Real Application Testing options
 
SQL>
SQL>
SQL> SELECT * FROM nls_database_parameters
WHERE parameter='NLS_CHARACTERSET' or parameter='NLS_LANGUAGE'  2  ;
 
PARAMETER
------------------------------
VALUE
--------------------------------------------------------------------------------
NLS_LANGUAGE
AMERICAN
 
NLS_CHARACTERSET
KO16KSC5601
 
 
SQL>
SQL>
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup mount;
ORACLE instance started.
 
Total System Global Area 1610612736 bytes
Fixed Size                  2084400 bytes
Variable Size             654311888 bytes
Database Buffers          939524096 bytes
Redo Buffers               14692352 bytes
Database mounted.
SQL> ALTER SYSTEM ENABLE RESTRICTED SESSION;
System altered.
 
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
System altered.
 
SQL> ALTER SYSTEM SET AQ_TM_PROCESSES=0;
System altered.
 
SQL> ALTER DATABASE OPEN;
Database altered.
 
SQL> update sys.props$ set value$='UTF8' where name='NLS_CHARACTERSET';
1 row updated.
 
SQL> update sys.props$ set value$='UTF8' where name='NLS_NCHAR_CHARACTERSET';
1 row updated.
 
SQL> update sys.props$ set value$='KOREAN_KOREA.UTF8' where name='NLS_LANGUAGE';
1 row updated.
 
SQL> commit;
 
Commit complete.
 
SQL> shutdown immediate;
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup;
ORACLE instance started.
 
Total System Global Area 1610612736 bytes
Fixed Size                  2084400 bytes
Variable Size             654311888 bytes
Database Buffers          939524096 bytes
Redo Buffers               14692352 bytes
Database mounted.
Database opened.
SQL>

프로젝트중 한글과 영문 숫자를 입력받아 분류하는 로직을 구현중 먼가 명확한게 필요했다...

처음엔 정규표현식을 이용해야지 했는데 검색중 좋은글 발견..

거두절미하고 참조글을 참고로 돌려본결과...


    public static void main(String[] args) throws Exception {
        containsHangul("AAAAa한b글c테d스e트f123abcにほんご日本語!@#';");
    }
    public static void containsHangul(String str) {
        for(int i = 0 ; i < str.length() ; i++) {
            char ch = str.charAt(i);
            Character.UnicodeBlock unicodeBlock = Character.UnicodeBlock.of(ch);
            System.out.println("["+unicodeBlock + " | " + ch + "]");
        }
    }

결과

[BASIC_LATIN | A]
[BASIC_LATIN | A]
[BASIC_LATIN | A]
[BASIC_LATIN | A]
[BASIC_LATIN | a]
[HANGUL_SYLLABLES | 한]
[BASIC_LATIN | b]
[HANGUL_SYLLABLES | 글]
[BASIC_LATIN | c]
[HANGUL_SYLLABLES | 테]
[BASIC_LATIN | d]
[HANGUL_SYLLABLES | 스]
[BASIC_LATIN | e]
[HANGUL_SYLLABLES | 트]
[BASIC_LATIN | f]
[BASIC_LATIN | 1]
[BASIC_LATIN | 2]
[BASIC_LATIN | 3]
[BASIC_LATIN | a]
[BASIC_LATIN | b]
[BASIC_LATIN | c]
[HIRAGANA | に]
[HIRAGANA | ほ]
[HIRAGANA | ん]
[HIRAGANA | ご]
[CJK_UNIFIED_IDEOGRAPHS | 日]
[CJK_UNIFIED_IDEOGRAPHS | 本]
[CJK_UNIFIED_IDEOGRAPHS | 語]
[BASIC_LATIN | !]
[BASIC_LATIN | @]
[BASIC_LATIN | #]
[BASIC_LATIN | ']
[BASIC_LATIN | ;]

아스키 코드값과 점목시켜서 사용하면 먼가 더 명확한 추출이 되지않을까...

하는 나만의 생각?? 



참조글 : http://entireboy.egloos.com/4217304





Oracle 9i Database Release 2 이상버전에서 Flashback 데이터 복구 사용
 
SELECT ...  AS OF ....
최대 360분 이전데이터까지 조회가 가능하다한다..


ex) SELECT * FROM 테이블명 AS OF TIMESTAMP(SYSTIMESTAMP - INTERVAL '분' MINUTE) WHERE ~~

ex2) insert into 복구 테이블명
      select * from 기존데이터 테이블명 as of timestamp(systimestamp-interval '40' minute) where 1=1



Oracle 9i Database Release 1 버전에서는 DBMS_FLASHBACK 프로시저를 이용해서 데이터를 복구해야한단다..
DB JOIN [ORACLE & ANSI]
from D.B./Oracle 2010/08/03 13:54


Oracle Joins
Version 11.1

Demo Tables & Data

Join Demo Tables
CREATE TABLE person (
person_id     NUMBER(10),
first_name    VARCHAR2(25) NOT NULL,
last_name     VARCHAR2(25) NOT NULL,
title_1       VARCHAR2(5),
title_2       VARCHAR2(5))
PCTFREE 20;

ALTER TABLE person
ADD CONSTRAINT pk_person
PRIMARY KEY (person_id)
USING INDEX
PCTFREE 5;

CREATE TABLE person_role (
role_id   VARCHAR2(1),
role_name VARCHAR2(20) NOT NULL);

ALTER TABLE person_role
ADD CONSTRAINT pk_role
PRIMARY KEY (role_id)
USING INDEX
PCTFREE 5;

CREATE TABLE person_role_ie (
person_role_id NUMBER(10),
person_id      NUMBER(10) NOT NULL,
role_id        VARCHAR2(1) NOT NULL);

ALTER TABLE person_role_ie
ADD CONSTRAINT pk_person_role_ie
PRIMARY KEY (person_role_id)
USING INDEX
PCTFREE 5;

CREATE TABLE title (
title_abbrev VARCHAR2(5),
title_name   VARCHAR2(20))
PCTFREE 0;

ALTER TABLE title
ADD CONSTRAINT pk_title
PRIMARY KEY (title_abbrev)
USING INDEX
PCTFREE 0;

ALTER TABLE person_role_ie
ADD CONSTRAINT fk_person_role_ie_person
FOREIGN KEY (person_id)
REFERENCES person(person_id);

ALTER TABLE person_role_ie
ADD CONSTRAINT fk_person_role_ie_role
FOREIGN KEY (role_id)
REFERENCES person_role(role_id);

ALTER TABLE person
ADD CONSTRAINT fk_person_title1
FOREIGN KEY (title_1)
REFERENCES title(title_abbrev);

ALTER TABLE person
ADD CONSTRAINT fk_person_title2
FOREIGN KEY (title_2)
REFERENCES title(title_abbrev);

Demo Table Data Load
INSERT INTO title VALUES
('BA', 'Bachelor of Arts');

INSERT INTO title VALUES
('BS', 'Bachelor of Science');

INSERT INTO title VALUES
('MS', 'Master of Science');

INSERT INTO title VALUES
('PhD', 'Doctor of Philosophy');

INSERT INTO title VALUES
('MD', 'Doctor of Medicine');

INSERT INTO person
(person_id, first_name, last_name, title_1)
VALUES
(1, 'Daniel', 'Morgan', 'BS');

INSERT INTO person
(person_id, first_name, last_name, title_1)
VALUES
(2, 'Jack', 'Cline', 'BA');

INSERT INTO person
(person_id, first_name, last_name, title_1)
VALUES
(3, 'Muriel', 'Dance', 'PhD');

INSERT INTO person
(person_id, first_name, last_name, title_1)
VALUES
(4, 'Elizabeth', 'Scott', 'MS');

INSERT INTO person
(person_id, first_name, last_name)
VALUES
(5, 'Jacqueline', 'Stough');

INSERT INTO person_role VALUES (1, 'Administrator');
INSERT INTO person_role VALUES (2, 'Professor');
INSERT INTO person_role VALUES (3, 'Instructor');
INSERT INTO person_role VALUES (4, 'Employee');
INSERT INTO person_role VALUES (5, 'Student');
INSERT INTO person_role VALUES (9, 'Alumni');

CREATE SEQUENCE seq_pr_id START WITH 1;

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 1, 2);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 1, 9);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 2, 3);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 1, 5);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 3, 1);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 3, 9);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 4, 4);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 5, 5);

INSERT INTO person_role_ie VALUES
(seq_pr_id.NEXTVAL, 5, 9);

COMMIT;
 
Traditional Joins

Two Table Inner Join
SELECT <column_name>, <column_name>
FROM <table_name alias>, <table_name alias>
WHERE <alias.column_name> = <alias.column_name>
SELECT p.last_name, t.title_name
FROM person p, title t
WHERE p.title_1 = t.title_abbrev;

Three Table Inner Join
SELECT <column_name>, <column_name>
FROM <table_name alias>, <table_name alias>
WHERE <alias.column_name> = <alias.column_name>
AND <alias.column_name> = <alias.column_name>;
SELECT p.last_name, r.role_name
FROM person p, person_role_ie i, person_role r
WHERE p.person_id = i.person_id
AND i.role_id = r.role_id
ORDER BY p.person_id;

Left Outer Join
SELECT <column_name>, <column_name>
FROM <table_name alias>, <table_name alias>
WHERE <alias.column_name = <alias.column_name>
AND <alias.column_name> = <alias.column_name> (+);
SELECT p.last_name, t.title_name
FROM person p, title t
WHERE p.title_1 = t.title_abbrev(+);

Right Outer Join
SELECT <column_name>, <column_name>
FROM <table_name alias>, <table_name alias>
WHERE <alias.column_name> (+) = <alias.column_name>;
SELECT p.last_name, t.title_name
FROM person p, title t
WHERE p.title_1(+) = t.title_abbrev;

Self Join
SELECT <column_name>, <column_name>
FROM <table_name alias>, <table_name alias>, <table_name alias>
WHERE <alias.column_name> = < alias.column_name>
AND <alias.column_name> = <alias.column_name>;
UPDATE person
SET title_2 = 'PhD'
WHERE person_id = 1;
COMMIT;

SELECT p.last_name, t1.title_name, t2.title_name
FROM person p, title t1, title t2
WHERE p.title_1 = t1.title_abbrev
AND p.title_2 = t2.title_abbrev;
 
ANSI Joins

Inner Join
SELECT <column_name>, <column_name>
FROM <table_name alias> INNER JOIN <table_name alias>
ON <alias.column_name> = <alias.column_name>
SELECT p.last_name, t.title_name
FROM person p INNER JOIN title t
ON p.title_1 = t.title_abbrev;

Left Outer Join
SELECT <column_name>, <column_name>
FROM <table_name alias> LEFT OUTER JOIN <table_name alias>
ON <alias.column_name> = <alias.column_name>
SELECT p.last_name, t.title_name
FROM person p LEFT OUTER JOIN title t
ON p.title_1 = t.title_abbrev;

Right Outer Join
SELECT <column_name>, <column_name>
FROM <table_name alias> RIGHT OUTER JOIN <table_name alias>
ON <alias.column_name> = <alias.column_name>
SELECT p.last_name, t.title_name
FROM person p RIGHT OUTER JOIN title t
ON p.title_1 = t.title_abbrev;

Full Outer Join
SELECT <column_name>, <column_name>
FROM <table_name alias> FULL OUTER JOIN <table_name alias>
ON <alias.column_name> = <alias.column_name>
SELECT p.last_name, t.title_name
FROM person p FULL OUTER JOIN title t
ON p.title_1 = t.title_abbrev;

Natural Join
SELECT <column_name>, <column_name>
FROM <table_name alias> NATURAL JOIN <table_name alias>
CREATE TABLE parents (
person_id  NUMBER(5),
adult_name VARCHAR2(20),
comments   VARCHAR2(40))
PCTFREE 0;

CREATE TABLE children (
parent_id    NUMBER(5),
person_id    NUMBER(5),
child_name   VARCHAR2(20),
comments     VARCHAR2(40))
PCTFREE 0;

INSERT INTO parents VALUES (1, 'Dan', 'So What');
INSERT INTO parents VALUES (2, 'Jack', 'Who Cares');
INSERT INTO children VALUES (1, 2, 'Anne', 'Who Cares');
INSERT INTO children VALUES (1, 1, 'Julia', 'Yeah Right');
INSERT INTO children VALUES (2, 1, 'Marcella', 'So What');
COMMIT;

SELECT adult_name, child_name
FROM parents NATURAL JOIN children;

Self Join
SELECT <column_name>, <column_name>
FROM <table_name alias> INNER JOIN <table_name alias>
ON <alias.column_name> = <alias.column_name>,
   <table_name alias> INNER JOIN <table_name alias>
ON <alias .column_name> = <alias.column_name>;
SELECT p1.last_name, t1.title_name, t2.title_name
FROM person p1 INNER JOIN title t1
ON p1.title_1 = t1.title_abbrev,
     person p2 INNER JOIN title t2
ON p2.title_2 = t2.title_abbrev;

EXPLAIN PLAN FOR
SELECT p1.last_name, t1.title_name, t2.title_name
FROM person p1 INNER JOIN title t1
ON p1.title_1 = t1.title_abbrev,
   person p2 INNER JOIN title t2
ON p2.title_2 = t2.title_abbrev;

SELECT * FROM TABLE(dbms_xplan.display);

-----------------------------------------------------------------------
| Id |            Operation            |   Name   | Rows | Cost (%CPU)|
-----------------------------------------------------------------------
|  0 | SELECT STATEMENT                |          |    1 |   16    (0)|
|  1 |  NESTED LOOPS                   |          |      |            |
|  2 |   NESTED LOOPS                  |          |    1 |   16    (0)|
|  3 |    MERGE JOIN CARTESIAN         |          |    1 |   15    (0)|
|  4 |     NESTED LOOPS                |          |      |            |
|  5 |      NESTED LOOPS               |          |    1 |   10    (0)|
|  6 |       TABLE ACCESS FULL         | PERSON   |    5 |    5    (0)|
|  7 |       INDEX UNIQUE SCAN         | PK_TITLE |    1 |    0    (0)|
|  8 |      TABLE ACCESS BY INDEX ROWID| TITLE    |    1 |    1    (0)|
|  9 |     BUFFER SORT                 |          |    5 |   14    (0)|
| 10 |      TABLE ACCESS FULL          | PERSON   |    5 |    5    (0)|
| 11 |    INDEX UNIQUE SCAN            | PK_TITLE |    1 |    0    (0)|
| 12 |   TABLE ACCESS BY INDEX ROWID   | TITLE    |    1 |    1    (0)|
-----------------------------------------------------------------------

Alternative Syntax Joining on commonly named column in both tables
SELECT <column_name>, <column_name>
FROM <table_name alias> <join_type> <table_name alias>
USING (<common_column_name>);
-- does not work
SELECT s.srvr_id, s.status, i.location_code
FROM servers s INNER JOIN serv_inst i
USING (s.srvr_id)
WHERE rownum < 11;

-- does not work either
SELECT s.srvr_id, s.status, i.location_code
FROM servers s INNER JOIN serv_inst i
USING (srvr_id)
WHERE rownum < 11;

-- works
SELECT srvr_id, s.status, i.location_code
FROM servers s INNER JOIN serv_inst i
USING (srvr_id)
WHERE rownum < 11;
 
Cartesian Join
Table And Data For Cartesian
Product (Cross-Join) Demo
CREATE TABLE cartesian (
join_column NUMBER(10));

CREATE TABLE product (
join_column NUMBER(10));

Load Demo Tables
BEGIN
  FOR i in 1..1000
  LOOP
    INSERT INTO cartesian VALUES (i);
    INSERT INTO product VALUES (i);
  END LOOP;
  COMMIT;
END;
/

Inner Join
SELECT COUNT(*)
FROM cartesian c, product p
WHERE c.join_column = p.join_column;

EXPLAIN PLAN FOR
SELECT COUNT(*)
FROM cartesian c, product p
WHERE c.join_column = p.join_column;

SELECT * FROM TABLE(dbms_xplan.display);

--------------------------------------------------------------------
| Id | Operation           |    Name   | Rows | Bytes | Cost (%CPU)|
--------------------------------------------------------------------
|  0 | SELECT STATEMENT    |           |    1 |    26 |   11   (10)|
|  1 |  SORT AGGREGATE     |           |    1 |    26 |            |
|  2 |   HASH JOIN         |           | 1000 | 26000 |   11   (10)|
|  3 |    TABLE ACCESS FULL| CARTESIAN | 1000 | 13000 |    5    (0)|
|  4 |    TABLE ACCESS FULL| PRODUCT   | 1000 | 13000 |    5    (0)|
--------------------------------------------------------------------

Not Inner Join
SELECT COUNT(*)
FROM cartesian c, product p
WHERE c.join_column != p.join_column;

EXPLAIN PLAN FOR
SELECT COUNT(*)
FROM cartesian c, product p
WHERE c.join_column != p.join_column;

SELECT * FROM TABLE(dbms_xplan.display);

--------------------------------------------------------------------
| Id |      Operation      |    Name   | Rows | Bytes | Cost (%CPU)|
--------------------------------------------------------------------
|  0 | SELECT STATEMENT    |           |    1 |    26 | 3076    (2)|
|  1 |  SORT AGGREGATE     |           |    1 |    26 |            |
|  2 |   NESTED LOOPS      |           |  999K|    24M| 3076    (2)|
|  3 |    TABLE ACCESS FULL| CARTESIAN | 1000 | 13000 |    5    (0)|
|  4 |    TABLE ACCESS FULL| PRODUCT   |  999 | 12987 |    3    (0)|
--------------------------------------------------------------------

Cartesian (Cross-Join) Product
SELECT COUNT(*)
FROM cartesian, product;

EXPLAIN PLAN FOR
SELECT COUNT(*)
FROM cartesian c, product p;

SELECT * FROM TABLE(dbms_xplan.display);

----------------------------------------------------------------
| Id |       Operation       |    Name   | Rows | Cost (%CPU)|
----------------------------------------------------------------
|  0 | SELECT STATEMENT      |           |    1 | 3076    (2)|
|  1 |  SORT AGGREGATE       |           |    1 |            |
|  2 |   MERGE JOIN CARTESIAN|           | 1000K| 3076    (2)|
|  3 |    TABLE ACCESS FULL  | CARTESIAN | 1000 |    5    (0)|
|  4 |    BUFFER SORT        |           | 1000 | 3071    (2)|
|  5 |     TABLE ACCESS FULL | PRODUCT   | 1000 |    3    (0)|
----------------------------------------------------------------

Intentional Cartesian (Cross-Join) Product
SELECT <alias.column_name>, <alias.column_name>
FROM <table_name alias> CROSS JOIN <table_name alias>;
SELECT s.srvr_id, i.location_code
FROM servers s CROSS JOIN serv_inst i
WHERE rownum < 1001;

 
 
Join Related Queries

Column Join Usage
conn / as sysdba

set linesize 121

desc col_usage$

SELECT *
FROM col_usage$
WHERE obj# IN (
  SELECT object_id
  FROM dba_objects
  WHERE owner = 'UWCLASS');

출처 : http://psoug.org/reference/joins.html


 


-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
-- 분류코드와 코드를 이용해 코드명을 가져온다.
-->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>


CREATE OR REPLACE
FUNCTION GET_CODE_NAME (
      p_cl_code IN VARCHAR2                --입력되는 인자값1
    , p_code     IN VARCHAR2                --입력되는 인자값2
)RETURN VARCHAR2 IS
    v_return VARCHAR2(50);

BEGIN
    SELECT CODE_NM1 
         INTO v_return
        FROM CMM_CODE_INFO
      WHERE CL_CODE = p_cl_code
           AND CODE = p_code;
    RETURN v_return;
   
    EXCEPTION
        WHEN NO_DATA_FOUND THEN
            RETURN '';
        WHEN OTHERS THEN
            RETURN '';
END GET_CODE_NAME;



[UNIX] shutdown
from O.S/Unix 2010/06/07 16:16

출처 : http://unix.co.kr/bbs/board.php?bo_table=03_4&wr_id=273

shutdown 명령

목적

시스템 조작을 종료합니다.

구문

shutdown [ -d ] [ -F ] [ -h ] [ -i ] [ -k ] [ -l ] [ -m ] [ -p ] [ -r ] [ -t mmddHHMM [ yy ] ] [ -u ] [ -v ] [ +Time [ Message ] ]

설명

shutdown 명령은 운영 시스템을 정지시킵니다. 루트 사용자 권한이 있는 사용자만이 이 명령을 실행할 수 있습니다. 디폴트 값으로 종료할 때는, 사용자에게 메시지로 시스템 종료가 임박했음을 통지합니다(wall 명령 사용). 시스템이 종료되면 종료 완료 메시지가 나타납니다. 종료 완료 메시지가 나타나기 전에 시스템을 재시작하거나 끄지 마십시오. 그렇지 않으면, 파일 시스템이 손상될 수 있습니다.

주: 멀티포트 어댑터로 시스템과 연결된 tty에서 종료 명령을 수행했다면, tty에는 halt completed 메시지가 나타나지 않습니다.

시스템 종료 시간이 가까워지면 시스템의 모든 사용자의 터미널에 경고 메시지가 나타납니다.

시스템은 지정된 시간(디폴트는 60초)이 지난 후 사용통계 및 오류 로그 프로세스를 정지하고 항목을 오류 로그에 기록합니다. 그런 다음 shutdown 명령은 killall 명령을 실행하여 나머지 프로세스를 종료하고 sync 명령을 실행하여 나머지 모든 메모리 디스크 블록을 삭제합니다. 마지막으로 파일 시스템을 마운트 해제하고 halt 명령을 호출합니다.

주: shutdown 명령을 실행 중인 노드의 파일을 열어 놓았지만 해당 노드에 로그인되어 있지 않은 사용자에게는 시스템 종료를 통지하지 않습니다.

운영 시스템에 완전한 정지를 요청하면 shutdown 명령이 모든 프로세스를 정지시키고 모든 파일 시스템을 마운트 해제하며 halt 명령을 호출합니다.

시스템 관리자가 조정된 국지 종료 프로시저를 쉘 스크립트 /etc/rc.shutdown에 둘 수 있습니다. 이 스크립트는 존재할 경우, 시스템 종료 시작 시 실행됩니다. 스크립트가 실행되었으나 제로가 아닌 리턴 코드로 실패하면 종료가 정지합니다.

주의: 시스템을 유지보수 모드로 할 경우에는 파일 시스템을 깨끗하게 마운트 해제할 수 있도록 shutdown 명령을 /(루트) 디렉토리에서 실행해야 합니다.

주: 디폴트로, 소프트웨어를 제어할 수 있는 전원이 있는 모델에서 shutdown 명령이 발행되면 시스템의 전원을 끕니다.

플래그

-d 시스템을 분산 모드에서 다중 사용자 모드로 전환합니다.
-F 다른 사용자의 메시지를 생략하고 시스템을 가능하면 빨리 종료하게 하는 신속한 시스템 종료를 수행합니다.
-h -v 플래그와 동일하며 운영 시스템을 완전히 정지시킵니다.
-i 대화식 모드를 지정합니다. 대화식 메시지를 표시하여 시스템 종료 조작을 사용자에게 안내합니다.
-k 시스템 관리자가 시스템 종료의 원인 없이 시스템이 종료된다는 경고 메시지를 모두에게 알리도록 허용합니다. -k 플래그를 사용할 때는 메시지 전송을 제외한 다른 시스템 종료 활동은 일어나지 않습니다. 예를 들어, -l 플래그가 지정되고, 실행되지 않는 /etc/rc.shutdown 스크립트가 존재할 경우에는 종료되는 프로세스도 없고, /etc/shutdown.log에서의 로그인 활동도 없습니다.
-l 다운되는 파일 시스템, 디먼, 사용자 로그인, 라이센스 서비스, 네트워크 인터페이스에 대한 정보를 포함하는 /etc/shutdown.log 파일을 작성/추가합니다. 파일은 종료 장애 발생 시 진단 및 디버깅 목적으로 사용할 수 있습니다.

주: 플래그를 사용하는 동안 항목을 기록하기 위해 shutdown 명령에 대한 디스크 공간이 충분한지 확인하십시오.
-m 시스템을 유지보수(단일 사용자) 모드로 전환합니다.
-p 전원을 끄지 않고 시스템을 정지시킵니다. 이것은 무정전 전원 공급장치(UPS)에서 사용합니다. 이 플래그는 AIX 4.2 이상에만 적용됩니다.

주: -p 플래그는 영구 시스템 정지가 필요없는 플래그와 함께 사용되면 유효하지 않습니다. 다른 피연산자가 지연된 전원 공급을 요청하고 재부트해도 여전히 전원이 꺼집니다.
-r reboot 명령으로 시스템 종료한 후 시스템을 재시작합니다.
-t mmddHHMM [ yy ] mmddHHMM [ yy ]이 지정한 날짜에 시스템을 종료한 후 즉시 재시작합니다. 여기서
mm
달을 지정합니다.
dd
일을 지정합니다.
HH
시간을 지정합니다.
MM
분을 지정합니다.
yy
연도를 지정합니다.

shutdown -t 플래그는 -v 또는 -h 옵션과 함께 사용할 수 없습니다.

주: 이 옵션은 시스템 종료 시 전원을 자동으로 차단하는 전원 공급장치와 나중에 재부트할 수 있게 해 주는 경보 기능이 있는 시스템에서만 지원됩니다. 이 기능이 없는 시스템은 종료 후 즉시 정지하거나 재부트할 수 있습니다.
-u 이 플래그는 플래시 메모리를 갱신하고 재부트하기 위해 진단 프로그램에서 사용됩니다.
-v 운영 시스템을 완전히 정지시킵니다.

매개변수

+Time shutdown 명령이 시스템을 정지시키는 시간을 지정합니다. 즉시 종료는 화면에 now라는 단어가 나타납니다. 미래 시간은 +숫자 또는 시:분 형식 중 하나로 지정할 수 있습니다. 첫 번째 양식은 지정된 분 후에 시스템을 종료하며 두 번째 양식은 표시된 시간(24시간제로)에 시스템을 종료합니다. Message 매개변수가 지정되면 Time 매개변수도 지정되어야 합니다.
Message 메시지를 지정합니다.

예제

  1. 시스템을 끄려면 다음과 같이 입력하십시오.

    shutdown

    그러면 1분 후 사용자 프로세스와 init 프로세스를 정지시켜 시스템을 종료합니다.

  2. 사용자가 시스템에서 수행하던 작업을 종료하고 시스템을 유지보수 모드로 전환하는데, 사용자에게 더 많은 시간을 주려면 다음과 같이 입력하십시오.
    shutdown  -m +2
    그러면 2분 대기 후 시스템을 다중 사용자 모드에서 유지보수 모드로 전환합니다.

파일

/usr/sbin/shutdown shutdown 명령을 포함하고 있습니다.


[startup]

- DBMS 기동
$ ./sqlplus '/as sysdba'
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Jul 1 09:56:38 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.

SQL> startup
ORACLE instance started.

- 리스너 기동

$ ./lsnrctl start
LSNRCTL for Linux: Version 9.2.0.4.0 - Production on 01-JUL-2009 09:57:34
Copyright (c) 1991, 2002, Oracle Corporation.  All rights reserved.
Starting /home/oracle/oracle/product/9.2.0.4/bin/tnslsnr: please wait...

- 리스너 정지   
$ ./lsnrctl stop


[shutdown]

출처 : http://blog.naver.com/gaeean/60020826347


oracle 계정으로 접속
$ ./sqlplus '/as sysdba'
SQL*Plus: Release 9.2.0.4.0 - Production on Wed Jul 1 09:56:38 2009
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
Connected to an idle instance.

SQL> shutdown [ABORT|IMMEDIATE|NORMAL|TRANSACTIONAL [LOCAL]]

데이터베이스 닫힘
데이터베이스 마운트 해제
ORACLE 인스턴스가 종료


shutdown 옵션 설명



  • NORMAL
    • 새로운 데이터베이스 CONNECTION은 더이상 허락하지 않는다.
    • 현재 USER들이 맺고 있는 CONNECTION은 그 사용자들이 DISCONNECT할때까지 기다린다.
    • 현재 처리중인 트랜잭션이 있다면, 그 트랜잭션이 끝날 때까지 기다린후 서버를 종료한다.
    • 다음 DATABASE STARTUP할시 어떤 INSTANCE RECOVERY 절차도 필요하지 않는다.
  • TRANSACTIONAL
    • 모든 클라이언트가 특정 인스턴스에서 새로운 트랜잭션을 시작할 수 없다.
    • 클라이언트의 진행중인 트랜잭션을 모두 끝마치면 서버를 종료한다.
    • 모든 트랜잭션이 끝나는 즉시 종료되며, 이후 시작시 인스턴스 복구가 필요없다.
  • IMMEDIATE
    • 현재 처리중인 SQL STATEMENT가 있다면, 모두 STOP시킨다.
    • UNCOMMITTED TRANSACTIONS가 있다면, 모두 ROLLBACK시킨다.
    • USER들이 DISCONNECTION할때까지 기다리지않고 DB를 CLOSE & DISMOUNT해서
      오라클 인스턴스를 깨끗이 SHUTDOWN한다.
  • ABOART
    • 현재 처리중인 SQL STATEMENTS를 모두 ABORT시키고 ROLLBACK도 시키지않는다.
    • USER들을 모두 끊고 CLOSE & DISCONNECT 도 하지 않는다.
    • 이후 시작시 인스턴스가 자동 복구된다.

 


[Tiles2.1 설정]
Java SE 5.0 이상, Servlet 2.4 이상, JSP 2.0 이상
tiles-core-VERSION.jar, tiles-api-VERSION.jar, tiles-servlet-VERSION.jar and tiles-jsp-VERSION.jar  사용
의존 library
   - Commons BeanUtils 1.7 이상
   - Commons Digester 1.8 이상
   - Commons Logging 1.1 이상

definition 파일에 wildcarts 사용시 의존 library 
    - spring-web-VERSION.jar
    - 
spring-core-VERSION.jar
    - 
spring-context-VERSION.jar
    - 
spring-beans-VERSION.jar
    - aopalliance-VERSION.jar

EL사용시 의존 library
    - el-api-VERSION.jar
    - jasper-el-VERSION.jar

# xxxx-servlet.xml #

<!-- 어노테이션 @RequestMapping 사용시 설정
    <context:component-scan base-package="testSpringTiles2" />
   
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
-->
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/test/*">testSpringTiles2Controller</prop>
            </props>
        </property>
    </bean>

.....

<!-- Tiles 2 Configuration -->
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/config/tilesdef.xml</value>
            </list>
        </property>
    </bean>

.....

    <bean id="tilesViewResolver" class="org.springframework.web.servlet.view.UrlBasedViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.tiles2.TilesView" />
        <property name="order" value="1"/>
    </bean>

    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
        <property name="order" value="2"/>
    </bean>


# tilesdef.xml #
   
<definition name=".base_layout" template="/layout.jsp">
        <put-attribute name="title" value="레이아웃페이지" />
        <put-attribute name="header" value="/header.jsp"/>
        <put-attribute name="menu" value="/menu.jsp"/>
        <put-attribute name="body" value="/body.jsp"/>
        <put-attribute name="footer" value="/footer.jsp"/>
    </definition>

    <definition name="hello" extends=".base_layout"> 
         <put-attribute name="body" value="/hello.jsp"/>
     </definition>


[DynamicTiles 1.1 설정]

의존library http://www.springbyexample.org/maven/site/org.springbyexample.dynamic.tiles2/1.2/dependencies.html

# xxxx-servlet.xml #

<!-- 어노테이션 @RequestMapping 사용시 설정
    <context:component-scan base-package="testSpringTiles2" />
   
    <bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping"/>
    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>
-->
    <bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
        <property name="mappings">
            <props>
                <prop key="/test/*">testSpringTiles2Controller</prop>
            </props>
        </property>
    </bean>

.....

<!-- Tiles 2 Configuration -->
    <bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles2.TilesConfigurer">
        <property name="definitions">
            <list>
                <value>/WEB-INF/config/tilesdef.xml</value>
            </list>
        </property>
    </bean>

.....

    <bean id="tilesViewResolver" class="org.springbyexample.web.servlet.view.tiles2.TilesUrlBasedViewResolver">
        <property name="viewClass" value="org.springbyexample.web.servlet.view.tiles2.DynamicTilesView" />
        <property name="tilesDefinitionName" value="base_layout" />
        <property name="tilesBodyAttributeName" value="body"/>
        <property name="tilesDefinitionDelimiter" value="."/>
        <property name="order" value="1"/>
    </bean>

    <bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/"/>
        <property name="suffix" value=".jsp"/>
        <property name="order" value="2"/>
    </bean>


# tilesdef.xml #
   
<definition name=".base_layout" template="/layout.jsp">
        <put-attribute name="title" value="레이아웃페이지" />
        <put-attribute name="header" value="/header.jsp"/>
        <put-attribute name="menu" value="/menu.jsp"/>
        <put-attribute name="body" value="/body.jsp"/>
        <put-attribute name="footer" value="/footer.jsp"/>
    </definition>
    
     ... 하단 삭제 ...



참고 : http://yunsunghan.tistory.com/258
         http://tiles.apache.org/
         http://www.springbyexample.org/examples/dynamic-tiles-spring-mvc-module.html
         http://www.springbyexample.org/maven/site/org.springbyexample.dynamic.tiles2/1.2/project-info.html


modal창 (SimpleModal)
Homepage : http://www.ericmmartin.com/projects/simplemodal/

CSS
/* Overlay Required*/
#simplemodal-overlay {
    background-color:#EFEFEF;
}

JS
$j.modal($j("#ID값"));          //Modal 출력
$j.modal.close();               //Close



이미지 확대 (lightbox)
Homepage : http://leandrovieira.com/projects/jquery/lightbox/

$j(function() {
       $j("# a태그 상위엘리먼트 ID값 > a").lightBox(option);
 });




이미지 줌, 뷰어 (iviewer)
Homepage : http://wiki.github.com/can3p/iviewer/
Demo : http://test.dpetroff.ru/jquery.iviewer/test/

$("#ID값").iviewer(options);



SIMPLE (SOHTANAKA)
Homepage : http://www.sohtanaka.com/web-design/category/jquery-tutorials/

tripwiremagazine
http://www.tripwiremagazine.com/category/development