분류없음2010/02/09 11:28
오래된 글이지만 체감속도는 빨라졌다..

지금 제가 소개하고자 하는 방법은

How To Speed Up Firefox (Helpful Vanity)

에 글에 나온 것을 인용한 것임을 밝혀둡니다. 즉 단순히 위글을 참고하여 한국어로 적은 것에 불과합니다.

참고로 제가 직접해봤는데, 전보다 더 빨라짐을 느낄 수가 있습니다.

자세한 것은 위의 인용글을 참고 바랍니다.

How to speed up Firefox

먼저 firefox 를 엽니다. 그리고 주소창에 about:config 라고 칩니다.

그럼 목록이 뜹니다. 아주 길게요.. 그 중에서 우리는 단지 3가지만 살펴보면 됩니다.

절대 다 살펴볼 필요가 없으니 걱정 않으셔도 됩니다. ^^

먼저 "network.http.pipelining" 라는 설정이름의 값을 보세요.. 그 값이 "true" 라고 되어 있으면 됩니다.

단순히 그 부분을 마우스로 더블 클릭하면 값이 바뀝니다.

그 다음에 "network.http.proxy.pipelining" 역시 "true" 라고 되어 있으면 됩니다.

저의 이 경우 이 모두가 원래부터 "true" 라고 되어 있더군요. 그럼 고칠 필요가 없습니다.

다음으로 "network.http.pipelining.maxrequests" 의 값을 30 과 같은 어떤 수로 바꾸어주면됩니다.

단순히 그 란을 더블 클릭하면 정수값 입력하는 창이 뜨고 거기에 대신 원하는 그 숫자를 적어두면 됩니다.

저의 경우는 여기 인용글에 나온 그대로 30으로 적었습니다. 이것의 의미는 설정의미 그대로, max requests 를 뜻합니다.

마지막으로 아무 곳에서나 상관하지 마시고 단순히 마우스 오른쪽 버튼을 눌러보세요 그럼 작은 창이 하나 뜹니다. 거기서 "새로만들기" 그리고 "정수" 를 선택하세요. 그러면 위에

"새 정수 값 환경설정 이름을 입력하십시오" 라는 창이 뜨면서 빈칸에 "nglayout.initialpaint.delay" 라고 칩니다. 물론 " " 은 빼시고 그 안의 글자만 치세요. 그리고 확인을 누르시면

"정수값 입력" 이라는 창이 뜹니다. 그럼 거기에 "0" 이라고 치세요
(여기서도 물론 " " 은 뺴세요..)

이 값은 단순히 브라우저가 받는 정보에 act 하기 전에 기다리는 시간의 양을 뜻합니다.

That's all...

간단하죠. ~

인터넷 연결 속도가 원래 느리다면 그렇게 바꿔줘도 느리겠지만, 빠른 인터넷 연결 속도를 사용하신다면, 그 차이를 느끼실 수 있을 겁니다.

제가 직접 사용해보니, 전보다 더 빨라짐을 느낄 수가 있었습니다.

파폭 사용하시는 분들,, 한번 시도해보세요..

그리고 이 방법을 사용해보신 분들은 얼마나 빨라졌는지, 아니면 별 차이가 없는지,, comment 를 달아주시면 좋겠네요.. 앞으로 시도하고자 하는 분들을 위해서...


원글) http://www.appleforum.com/application/50626-%ED%8C%8C%EC%9D%B4%EC%96%B4%ED%8F%AD%EC%8A%A4%EB%A5%BC-%EB%B9%A0%EB%A5%B4%EA%B2%8C-%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95.html
저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
분류없음2010/02/04 18:02
http://flowplayer.org/tools/demos/scrollable/index.html
저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
분류없음2010/02/04 13:52
개인적으로.. 작업을 하다보면... array 보다는 object가 좋을때가 있다..

그래서 쿼리값을 array 와 object로 선택적으로 받아서 사용하도록 구성을 한다...

array를 object로 변환하는 함수..

function bindArrayToObject($array) {
    $return = new stdClass();
    foreach ($array as $k => $v) {
        if (is_array($v)) {
            $return->$k = bindArrayToObject($v);
        }
        else {
            $return->$k = $v;
        }
    }

    return $return;
}


원글) http://snipplr.com/view.php?codeview&id=8770

저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
분류없음2010/01/29 14:05
자바스크립트 escape()를 PHP로 받기

Q&A 보다보니 가-끔 올라오는 주제인듯 싶어서 슬쩍 써둡니다.
알아두기

우 선 분명히 해야할 점은, 자바스크립트 자체에서 escape()와 unescape() 는 사용이 배제되는, 권장하지 않는 함수입니다. 자바스크립트 1.5부터는 encodeURI(), decodeURI() 함수의 사용을 권장하며, ECMA 스크립트(자바스크립트의 표준안입니다) 리비전 3부터 이쪽을 사용하게 되어있습니다. 브라우저에서는 넷스케이프 6, IE 5.5, 모질라(언제부터인지 조사 안함. 1.5에서는 잘 됩니다) 이상에서 잘 지원됩니다. encodeURI(), decodeURI()는 PHP의 rawurlencode(), rawurldecode()와 완벽하게 호환됩니다.


escape()의 작동 원리

escape() 는 영숫자 및 * @ - _ + . /를 제외한 모든 문자를 별도의 방법으로 처리합니다. ASCII 코드의 문자는 %xx 형태로 변경하며, 그 외의 문자는 %uxxxx로 나타나는 유니코드로 처리합니다. (반면 encodeURI()는 제외 문자 이외는 전부 %xx 형태로 변환합니다)


escape() 문자열 받기, PHP js_unescape() 함수

이 함수를 사용하려면, ctype 모듈(기본값으로 들어갑니다), 그리고 이후 변환을 위한 iconv 모듈이 필요합니다. 자바스크립트 escape()로 만들어진 문자열이 아닐 경우(% 변환 오류시) 반환값은 boolean FALSE입니다.


js_unescape() 소스

function js_unescape($src) {
    $len = strlen($src);
    $dst = array();

    for ($i = 0; $i < $len; $i++) {
        if ($src{$i} == '%') {
            if (isset($src{$i+5}) && $src{$i+1} == 'u' &&
                    ctype_xdigit($src{$i+2} . $src{$i+3} . $src{$i+4} .  $src{$i+5})) {
                $dst[] = chr(hexdec($src{$i+2} . $src{$i+3}));
                $dst[] = chr(hexdec($src{$i+4} . $src{$i+5}));
                $i += 5;
            } elseif (isset($src{$i+2}) && ctype_xdigit($src{$i+1} . $src{$i+2})) {
                $dst[] = chr(0);
                $dst[] = chr(hexdec($src{$i+1} . $src{$i+2}));
                $i += 2;
            } else {
                return FALSE;
            }
        } elseif ($src{$i} >= 0x20 && $src{$i} <= 0x7E) {
            $dst[] = chr(0);
            $dst[] = $src{$i};
        } else {
            return FALSE;
        }
    }

    return implode('', $dst);
}


js_unescape() 함수 사용법

이 함수가 반환하는 문자열은 유니코드이므로, 문자열을 받으려면 다음과 같은식으로 사용을 해야합니다. UTF-8 부분을 원하는 인코딩으로 바꾸면 됩니다. (예: EUC-KR)

$unescaped_string = js_unescape($escaped_string);
$original_string  = iconv('ISO-10646-UCS-2', 'UTF-8', $unescaped_string);


소스 이해하기

전체를 설명하진 않습니다. 이해를 돕기 위한 간단한 설명일 뿐입니다. 어려운 소스도 아니니 나머지 부분은 자력으로 연구하십시오.

$src{$i}

이 는 문자열에서 한 문자를 가져오는 방법입니다. C에서는 문자열을 문자의 집합을 나타내는 포인터로 다루기 때문에 자주 쓰이지만, PHP로 시작한 분은 처음볼지도 모르겠습니다. $src = "ABCDEFG"라고 할 경우, $src{0}는 'A'를, $src{5}는 'F'를 나타내는 방식입니다.

$dst[] = chr(0);

이는 유니코드(UCS-2)의 인코딩 방식으로 인해 들어가는 부분입니다. UCS-2인코딩은 다른 인코딩과는 달리, 영숫자 등도 2바이트를 차지하게 되어있습니다. 즉, 'A'의 코드값이 0x41이 아닌, 0x0041입니다. 이를 채워넣기 위함입니다.


끝맺음

마 지막으로 강조하지만, 자바스크립트에서 인코드할때는 encodeURI(), decodeURI()를 우선적으로 고려해보시기 바랍니다. 여담으로, 문자열을 포인터로 다룰 수 없었던게 매우 귀찮았다는게 만들면서 든 생각이였습니다 -ㅅ- 혹시 오류라던지가 발생하면 알아서 고치십시오. 이 소스에 대한 모든 권리와 의무는 포기합니다.

[출처] 자바스크립트 escape()를 PHP로 받기|작성자 훌박


원글) http://www.bluegate.kr/?document_srl=117493

저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
분류없음2010/01/29 13:32
- 용도 : codeigniter에서 oracle과 mysql을 동시에 사용하는 방법입니다.

- 환경 : apmsetup 6, oracle 10g

###### 오라클 설치 ############
http://codeigniter-kr.org/tip/view/341/page/1

###### apmsetup 에 오라클 연동 #######
php.ini에서 다음 2개 주석해제후 apm 재시작
extension=php_oci8.dll
extension=php_oracle.dll

##### codeigniter > database.php 설정 ########
 
01.$active_group = "mysql";
02.$active_record = TRUE;
03. 
04.$db['mysql']['hostname'] = "localhost";
05.$db['mysql']['username'] = "root";
06.$db['mysql']['password'] = "apmsetup";
07.$db['mysql']['database'] = "cidb";
08.$db['mysql']['dbdriver'] = "mysql";
09.$db['mysql']['dbprefix'] = "";
10.$db['mysql']['pconnect'] = TRUE;
11.$db['mysql']['db_debug'] = TRUE;
12.$db['mysql']['cache_on'] = FALSE;
13.$db['mysql']['cachedir'] = "";
14.$db['mysql']['char_set'] = "utf8";
15.$db['mysql']['dbcollat'] = "utf8_general_ci";
16. 
17. 
18.$dbhost = "localhost";    //IP of my host database
19.$dbport = "1521";    //Oracle port
20.$dbname= "ORCL";    //My database Name
21. 
22.$dbConnString = "
23. (DESCRIPTION =
24. (ADDRESS_LIST =
25.   (ADDRESS = (PROTOCOL = TCP)(HOST = ".$dbhost.")(PORT = ".$dbport."))
26. 
27. (CONNECT_DATA =
28.     (SID = ORCL)
29.  (SERVICE_NAME = ".$dbname.")
30. ))";
31. 
32.$db['oracle']['hostname'] = $dbConnString;
33.$db['oracle']['username'] = "combort";   
34.$db['oracle']['password'] = "1234";  
35.$db['oracle']['database'] = "";
36.$db['oracle']['dbdriver'] = "oci8";  
37.$db['oracle']['dbprefix'] = "";
38.$db['oracle']['pconnect'] = TRUE;
39.$db['oracle']['db_debug'] = TRUE;
40.$db['oracle']['cache_on'] = FALSE;
41.$db['oracle']['cachedir'] = "";
42.$db['oracle']['char_set'] = "utf8";
43.$db['oracle']['dbcollat'] = "utf8_general_ci";

##### codeigniter > 컨트롤 사용예제 ########

 

01.<?php
02. 
03.class Welcome extends Controller {
04. 
05.    function Welcome()
06.    {
07.        parent::Controller();  
08.        $this->load->dbforge();
09. 
10.        $this->DB1 = $this->load->database('mysql', TRUE);
11.        $this->DB2 = $this->load->database('oracle', TRUE);
12.    }
13.     
14.    function index()
15.    {
16.          echo "mysql or oracle Test";
17.    }
18. 
19.    function mysql_select()
20.    {
21.        $query = $this->DB1->query("select * from board");
22.        foreach ($query->result_array() as $row) {
23. 
24.            echo $row['title'];
25. 
26.        }
27. 
28.        echo "출력";
29.    }
30. 
31. 
32.    function mysql_insert()
33.    {
34.          $this->DB1->query("insert into board(title, memo) values('3','test')");
35.    }
36. 
37. 
38.    function oracle_select()
39.    {
40.        $query = $this->DB2->query("select C_NAME from customer");
41.        foreach ($query->result_array() as $row) {
42. 
43.            echo $row['C_NAME'];
44. 
45.        }
46. 
47.        echo "출력";
48.    }
49. 
50. 
51.    function oracle_insert()
52.    {
53.          $this->DB2->query("insert into customer(C_NO, C_NAME, C_ADDR, C_PHONE, C_DIST) values('3','test','test','1234','11')");
54.    }
55. 
56.}

※ 참고 : ci에서 제공하는 데이터베이스 forge, util은 100% 구현테스트를 못해보았습니다.


첨부파일에 : 1.7.2 기준으로 테스트한 전체 소스 예제 참조하시면 됩니다.

위내용은 Codeigniter 한국사요자포럼의 내용입니다.
원글) http://codeigniter-kr.org/source/view/332/page/1/q/oracle%20+%20mysql


저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
우분투2010/01/27 00:04
로컬호스트 접속 연결
GRANT ALL PRIVILEGES ON * .* TO '아이디'@'localhost' IDENTIFIED BY '패스워드' WITH GRANT OPTION;

원격접속
GRANT ALL PRIVILEGES ON * .* TO '아이디'@'%' IDENTIFIED BY '패스워드' WITH GRANT OPTION;


저작자 표시 비영리 변경 금지

'우분투' 카테고리의 다른 글

MySQL 계정추가  (0) 2010/01/27
우분투 NFS 설치  (0) 2010/01/26
우분투 삼바 설치 & 설정  (0) 2010/01/19
우분투 + Lighttpd + PHP5(FastCGI) + Mysql + Sqlite 설치  (0) 2010/01/19
우분투  (0) 2010/01/19
Posted by Tommy Lymm
우분투2010/01/26 16:59
서버설치
apt-get install nfs-kernel-server nfs-common

공유위치 설정
vi /etc/export

/var/www        ***.***.***.***(rw,no_root_squash,async)


클라이언트
apt-get install nfs-common

vi /etc/fstab

xxx.xxx.xxx.xxx:/var/www  /var/www        nfs     bg,soft,rw      0       0


저작자 표시 비영리 변경 금지

'우분투' 카테고리의 다른 글

MySQL 계정추가  (0) 2010/01/27
우분투 NFS 설치  (0) 2010/01/26
우분투 삼바 설치 & 설정  (0) 2010/01/19
우분투 + Lighttpd + PHP5(FastCGI) + Mysql + Sqlite 설치  (0) 2010/01/19
우분투  (0) 2010/01/19
Posted by Tommy Lymm
분류없음2010/01/26 10:43
TCP/IP (Transmission Control Protocol/Internet Protocol)는 컴퓨터간에 통신을 할 수 있도록 만든 하나의 규약이다.


protocol   [próutəkɔːl, -kɑ̀l, -kòul] [US]   [-kɔl] [UK]
  • n.
    • U (외교상의) 의전, 의례, 의식;C [the P~] (프랑스 외무부의) 의전국
    • 원안;조약안(條約案);의정서(議定書);조서(調書)
    • (국가 간의) 협안;(협정·조약의) 첨부서
    • (로마 교황의 교칙(敎勅) 등의) 정식문(定式文)
    • 프로토콜 《컴퓨터 상호간의 대화에 필요한 통신 규약》
    • 【의학】 프로토콜 《과학적 연구·환자 치료를 실행하기 위한 계획》;《주로 미》 실험 계획안[기록]
    • 【철학】 프로토콜 명제(=Ṡ stàtement[sèntence])
  • vt.vi.
    • (~ed;~·ing~led;~·ling) 의정서[조서, 초안]를 작성하다



우리가 사용하는 인터넷은 이러한 TCP/IP에 기반하고 있다. TCP/IP가 인터넷의 기반 프로토콜로 자리잡은 이유는 하드웨어, 운영체제, 접속 매체와 관계없이 동작할 수 있는 개방형 구조때문이다.

TCP/IP 계층

응용계층       : WWW,FTP,텔넷,SMTP와 같은 네트워크 프로그램으로 구성
전송계층       : 각 시스템을 연결하고 TCP 프로토콜을 이용하여 데이터 전송
인터넷계층    : IP 프로토콜을 이용하여 데이터 정의 및 경로 배정
물리계층       : 실제 네트워크를 접근할 수 있도록 하는 물리적인 부분



저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
TAG TCP/IP
우분투2010/01/19 17:24

apt-get install samba smbfs

vi /etc/samba/smb.conf

[global]
server string = xxxx-dev
map to guest = Bad User
obey pam restrictions = Yes
pam password change = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
unix password sync = Yes
syslog = 0
log file = /var/log/samba/log.%m
max log size = 100
dns proxy = no
usershare allow guests = Yes
panic action = /usr/share/samba/panic-action %d
# valid users = aaaa, bbbb, cccc

workgroup = XXXX
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
hosts allow = 000.000.000.
dos charset = CP949
display charset = UTF8
unix charset = UTF8
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBF=8192
guest ok = no

[homes]
comment = %S Directories
writable = yes
browseable = no
valid users = %S

[XXXX]
comment = XXXX Directories
path = /home/xxxx
writable = yes
valid users = aaaa, bbbb, cccc

'우분투' 카테고리의 다른 글

MySQL 계정추가  (0) 2010/01/27
우분투 NFS 설치  (0) 2010/01/26
우분투 삼바 설치 & 설정  (0) 2010/01/19
우분투 + Lighttpd + PHP5(FastCGI) + Mysql + Sqlite 설치  (0) 2010/01/19
우분투  (0) 2010/01/19
Posted by Tommy Lymm
우분투2010/01/19 17:03

Ubuntu 9.10 기준

[ Lighttpd]

apt-get install lighttpd lighttpd-doc

[Mysql5]

apt-get install mysql-common mysql-server mysql-client

[PHP5 FastCGI]

apt-get install php5-common php5-cgi php5-mysql php5-sqlite libsqlite0

[SQLite]

apt-get install sqlite

[설정변경 및 확인사항]

vi /etc/php5/cli/php.ini

[sqlite]
sqlite.assoc_case = 0

vi /etc/lighttpd/lighttpd.conf

server.modules = (
"mod_access",
"mod_alias",
"mod_accesslog",
"mod_compress",
"mod_fastcgi", #추가
# "mod_rewrite",

#마지막 라인에 추가.

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php5-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 5,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "4",
"PHP_FCGI_MAX_REQUESTS" => "1000"
),
)))

sqlite3를 테스트 해보고 싶었으나, php5-sqlite3 가 install 되지 않고, 다른방법으로는 설정하는법을 잘 몰라서..

성공하신분 계시면 알려주세요 ^^;

sqlite 로 만든 파일에서

attempt to write a readonly database 오류 또는

unable to open database file 의 오류를 발생하면...

파일 쓰기 권한 또는 웹계정으로 권한을 바꿔주면 사용가능함.

'우분투' 카테고리의 다른 글

MySQL 계정추가  (0) 2010/01/27
우분투 NFS 설치  (0) 2010/01/26
우분투 삼바 설치 & 설정  (0) 2010/01/19
우분투 + Lighttpd + PHP5(FastCGI) + Mysql + Sqlite 설치  (0) 2010/01/19
우분투  (0) 2010/01/19
Posted by Tommy Lymm
우분투2010/01/19 15:02

sdf

btn_go.gif

이미지 파일 업로드.

'우분투' 카테고리의 다른 글

MySQL 계정추가  (0) 2010/01/27
우분투 NFS 설치  (0) 2010/01/26
우분투 삼바 설치 & 설정  (0) 2010/01/19
우분투 + Lighttpd + PHP5(FastCGI) + Mysql + Sqlite 설치  (0) 2010/01/19
우분투  (0) 2010/01/19
Posted by Tommy Lymm
분류없음2010/01/19 14:49

또다시.. 오랜만에...

Zoundry Raven을 설치하고..

Posted by Tommy Lymm
분류없음2010/01/19 14:40
테스트

Posted by Tommy Lymm
분류없음2010/01/19 14:29
bar_02

입력테스트

Posted by Tommy Lymm
분류없음2009/12/23 16:50
select * from USER_SOURCE where name in( select object_name from user_objects where object_type = 'PACKAGE' ) order by name, type,line ; select * from user_objects --where object_type = 'PACKAGE' where object_type = 'TABLE' ; 대충 확인만 한 쿼리라 만들때 확인이 필요함.. ^^
Posted by Tommy Lymm
분류없음2009/12/23 13:46

DBMS_METADATA package를 아십니까?

- 보통.. DB 내부에 생성되어 있는 Object에 대한 DDL (생성 Script)를 뽑기 위해서
여러가지 방법을 사용합니다. 예를 들어, export/import를 이용하여 script를 생성할수도
있고, 또한 시중에 나와 있는 Tool들을 이용해서 DDL을 만들수 있읍니다.

 그러나 DB내부에 기본적으로 제공되는 DDL생성 package가 있읍니다.
 이 package는 table, index는 물론, plsql로 생성해주며, 또한 User나 Role에
 Grant된 정보들도 뽑을수 있읍니다....

참고하시길..
 
 

SQL> SET LONG 1000000
SQL> select dbms_metadata.get_ddl('TABLE','EMP','SCOTT') from dual;
                                                                               
DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT')
--------------------------------------------------------------------------------

  CREATE TABLE "SCOTT"."EMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "MGR" NUMBER(4,0),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2),
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0),
         CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO")
  USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM"  ENABLE,
         CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
          REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   ) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)
  TABLESPACE "SYSTEM"                                                      
 
이때, segment attribute를 빼고 script를 생성하고자 한다면....

SQL> execute dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SEGMENT_ATTRIBUTES', false);
SQL> select dbms_metadata.get_ddl('TABLE','EMP','SCOTT') from dual;
                                                                               
DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT')
--------------------------------------------------------------------------------

  CREATE TABLE "SCOTT"."EMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "MGR" NUMBER(4,0),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2),
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0),
         CONSTRAINT "PK_EMP" PRIMARY KEY ("EMPNO") ENABLE,
         CONSTRAINT "FK_DEPTNO" FOREIGN KEY ("DEPTNO")
          REFERENCES "SCOTT"."DEPT" ("DEPTNO") ENABLE
   )                                                        

또한 constraint(null, pk등), referencial constraint(fk), 그리고 ';' 로 output이
끝나도록 하기를 원하면...

SQL> execute dbms_metadata.set_transform_param(dbms_metadata.session_transform,'CONSTRAINTS', FALSE);
SQL> execute dbms_metadata.set_transform_param(dbms_metadata.session_transform,'REF_CONSTRAINTS', FALSE);
SQL> execute dbms_metadata.set_transform_param(dbms_metadata.session_transform,'SQLTERMINATOR', TRUE);

SQL> select dbms_metadata.get_ddl('TABLE','EMP','SCOTT') from dual;

DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT')
--------------------------------------------------------------------------------

  CREATE TABLE "SCOTT"."EMP"
   (    "EMPNO" NUMBER(4,0),
        "ENAME" VARCHAR2(10),
        "JOB" VARCHAR2(9),
        "MGR" NUMBER(4,0),
        "HIREDATE" DATE,
        "SAL" NUMBER(7,2),
        "COMM" NUMBER(7,2),
        "DEPTNO" NUMBER(2,0)
   ) ;

이렇게 하면 됩니다.... 물론 pl/sql의 source도 뽑을수 있지요..


SQL> CREATE OR REPLACE PROCEDURE abc AS
     BEGIN
       NULL;
     END abc;
/

SQL> SET LONG 1000000
SQL> SELECT dbms_metadata.get_ddl(object_type, object_name)
     FROM   user_objects
     WHERE  object_name = 'ABC';

DBMS_METADATA.GET_DDL('PROCEDURE',OBJECT_NAME)
--------------------------------------------------------------
  CREATE OR REPLACE PROCEDURE "PLSQL_USER"."ABC" AS
BEGIN
   NULL;
END abc;


게다가... 임의의 User에게 Grant된 것도 뽑을수 있읍니다...캬......

ex)

SQL> CREATE USER HIKIM IDENTIFIED BY HIKIM;
SQL> GRANT CONNECT, RESOURCE, DBA TO HIKIM;
SQL> GRANT SELECT ON SCOTT.EMP TO HIKIM;

SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT','HIKIM')  --> system privelige.
     FROM   DUAL;

   GRANT UNLIMITED TABLESPACE TO "HIKIM"                                   
                                                                               
                                                                               
SQL> SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT','HIKIM')    --> role
   FROM   DUAL;
                                                                               
   GRANT "CONNECT" TO "HIKIM"                                             
   GRANT "RESOURCE" TO "HIKIM"                                            
   GRANT "DBA" TO "HIKIM"                                                 
  

SELECT DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT','HIKIM')   --> grant받은 object
FROM   DUAL;
                                                                               
  GRANT SELECT ON "SCOTT"."EMP" TO "HIKIM"                                

SELECT DBMS_METADATA.GET_GRANTED_DDL('DEFAULT_ROLE','HIKIM')  --> default role 받기
FROM   DUAL;
                                                                               
   ALTER USER "HIKIM" DEFAULT ROLE ALL                                    


SELECT DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'DBA')   --> DBA role로 grant된 role.
FROM   DUAL;
                                                                               
   GRANT "SELECT_CATALOG_ROLE" TO "DBA" WITH ADMIN OPTION;                     
   GRANT "EXECUTE_CATALOG_ROLE" TO "DBA" WITH ADMIN OPTION;                    
   GRANT "DELETE_CATALOG_ROLE" TO "DBA" WITH ADMIN OPTION;                     


좋군요...ㅋㅋ.


If you get knocked down, don’t stay down…REBOUND!
The road to success has many obstacles. If you trip and fall, don’t stay down.
Get back up, dust yourself off and keep going. Winners never quit and quitters never win.
 
      Gabriel Corchado  


아래 사이트에서 스크랩하였습니다.
https://www.dbguide.net/dbqa/dbqa120001.jsp?mode=view&pg=28&idx=398

저작자 표시 비영리 변경 금지
Posted by Tommy Lymm
OLD_DATA/PHP tips2009/12/21 09:04

Subversive installation instructions

Subversive can be simply installed from within Eclipse using update manager. All what the user should do is just point update manager to the remote or local update site. To install Subversive:

  1. Start Eclipse and select menu item 'Help > Software Updates...'

    Software Updates

  2. Select the 'Available Software' tab group and click the 'Add Site...' button.

    Update manager

  3. On the 'Add Site' dialog enter the URL to SVN Connectors update site. The proper URL can be found on http://www.eclipse.org/subversive/downloads.php. Also the update-site for Subversive integration plug-ins can be added in the same way.
    • Please note that the use of the software you are about to access may be subject to third party terms and conditions and you are responsible for abiding by such terms and conditions.

    Click on the 'OK' button to store update site information.

    New update site

  4. The Subversive update site provides following features list.
      Required feature, which should be installed unconditionally:
    • SVN Team Provider - The Eclipse Team Provider for the Subversion version control system.


    • Optional integrations with other plug-ins, which can be installed if you use these plugins and want to have them integrated with Subversive:
    • Subversive Integration for the Mylyn Project - Integration with Mylyn (http://www.eclipse.org/mylyn/).


    • Other optional features:
    • JDT Ignore Extensions - The feature is useful for Java development because it allows to interpret output folders as ignored resources automatically.
    • SVN Team Provider Sources - The sources of the Eclipse Team Provider for Subversion.

    Select SVN Team Provider, Subversive SVN Connectors and other features if required and click the 'Install' button.

    Feature Search Result

  5. The update manager calculates dependencies and offers you a list of features to install. Select the needed ones and click the 'Next >' button.

    Features to Install

  6. Accept terms of license agreement and click the 'Finish' button in order to start the download of selected features.

    Feature License

  7. To apply installation changes and restart Eclipse click on the 'Yes' button.

    Restart dialog

  8. After Eclipse restart you are able to start using Subversive.
  9. You can find Subversive perspective and views in correspondent dialogs, activated by menu items 'Window > Open Perspective > Other...' and 'Window > Show View > Other...'.

    Open Perspective Show View


아래 사이트에서 스크랩하였습니다.
http://www.eclipse.org/subversive/documentation/gettingStarted/aboutSubversive/install.php
저작자 표시 비영리 변경 금지

'OLD_DATA > PHP tips' 카테고리의 다른 글

이클립스 SVN 설치  (0) 2009/12/21
Posted by Tommy Lymm