RSS구독하기:SUBSCRIBE TO RSS FEED
즐겨찾기추가:ADD FAVORITE
글쓰기:POST
관리자:ADMINISTRATOR


- 기본적인 몽고디비 자체를 설치하는 명령어를 위주로 나열합니다.

1. yum 을 사용할려고 하니 아래의 내용을 기입.
vi /etc/yum.repos.d/mongodb-org-3.2.repo

------------------------------------------------------------------------

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

gpgcheck=0

enabled=1


------------------------------------------------------------------------



2. yum을 인스톨한다.

sudo yum install -y mongodb-org



3. yum -update로 몽고디비가 업데이트되는 것을 방지 

vi /etc/yum.conf

------------------------------------------------------------------------

exclude=mongodb-org,mongodb-org-server,mongodb-org-shell,mongodb-org-mongos,mongodb-org-tools

------------------------------------------------------------------------
추가한다.


4. /etc/selinux/config 에 SELINUX 플레그가 enforcing mode 로 설정되어있다면 아래와 같이 포트를 등록해준다.

semanage port -a -t mongod_port_t -p tcp 27017



5. mongod --dbpath /var/lib/mongo/ --logpath /var/log/mongodb/mongod.log;

^C 해주고 . 아래와 같이 시작 ~
sudo service mongod start


6. 부팅시 자동으로 실행하려면

sudo chkconfig mongod on



--- 아래 의 출처는 -- http://blog.freezner.com/archives/1040



처음 MongoDB를 설치하게되면 기본 계정은 존재하지 않고 생성해야 합니다. 또한 한 계정으로 여러 데이터베이스의 권한을 가질 수 없으며 1사용자 1데이터베이스 원칙이 기존 MySQL, MS-SQL, Oracle과 다른 점입니다.

로컬에서는 계정 정보 없이 mongo 명령만으로 접근이 가능한데 외부에서 접속인증을 통한 원격 접근을 위해서는 계정을 생성해주셔야 합니다.

사용자 계정을 생성하기 위해서는 아래 과정이 필요합니다.

참고로 들여쓰기나 공백은 이해를 돕기위해 단락을 정리한 것으로 예제 형식과 다르더라도 문제될 것은 없습니다.


1. 쉘에서 mongo 실행



2016/01/13 19:10 2016/01/13 19:10
이 글에는 트랙백을 보낼 수 없습니다
사용자 삽입 이미지


가끔 햇갈릴때가 있다.

그럴땐 다시 개념 파악이 중요.
기초 개념은 꼭 외워두는게 중요하다.
2015/03/30 10:07 2015/03/30 10:07
이 글에는 트랙백을 보낼 수 없습니다
아무리 my.cnf 의 dir 를 바꿔준다고 해도

바뀐 mysqld 에서는 속수무책이었다

-_-;

vi /etc/apparmor.d/usr.sbin.mysqld

의 권한 속성 중에

예전 mysql db경로가 붙어있다.
 
즉시 수정해주고

:~# /etc/init.d/apparmor restart

후에 mysql 를 부팅시켜주자..

끗.
2011/04/12 15:20 2011/04/12 15:20
이 글에는 트랙백을 보낼 수 없습니다
http://bada.kldp.net/projects/modurl/

가서 최신 버젼을 받고

shell> apxs -i -c mod_url.c

또는 소스 디렉토리에 GNUMakefile 이 존재 한다면

shell> make
를 한다.


apxs 가 없을때는 아래에 링크를 따라가라.
http://comefeel.com/tt/comefeel/entry/%EC%9A%B0%EB%B6%84%ED%88%AC%EC%97%90%EC%84%9C-apxs-%EC%93%B0%EB%8A%94%EB%B2%95?category=14



그리고

vi /etc/apache2/mods-enabled/url.conf 해주고 아래 내용 기입
<IfModule mod_url.c>
   CheckURL On
   ServerEncoding EUC-KR
   ClientEncoding UTF-8
</IfModule>

vi /etc/apache2/mods-enabled/url.load 해주고 아래 내용 기입
LoadModule  userdir_module   /usr/lib/apache2/modules/mod_userdir.so
LoadModule  redurl_module    /usr/lib/apache2/modules/mod_url.so

아파치 리스타트

끗.
2011/02/15 12:23 2011/02/15 12:23
이 글에는 트랙백을 보낼 수 없습니다
dpkg -l |grep apache2

해보고

apache2-threaded-dev 있으면
sudo apt-get remove apache2-threaded-dev 제거 해주고

sudo apt-get install apache2-prefork-dev 설치로 마무리.


끗 -_-;
2011/02/15 10:59 2011/02/15 10:59
이 글에는 트랙백을 보낼 수 없습니다
저장프로시저
- 저장 프로시저는 하나 이상으로 구성된 Transact-SQL 문을 데이터베이스에 저장한 개체입니다.

저장프로시저 특징
  • 모듈 프로그래밍
    자주 반복해서 사용하는 T-SQL문을 DB에 저장해 필요한 시점에만 사용함.
    매번 같은 구문을 다시 작성할 필요가 없음
  • 유연한 보완관리
    데이터 조회하는 저장프로시저. 접근권한이 없어도 저장프로시저를 실행할 권한이 있다면 조회가능
  • 네트워크 트래픽 감소
    쿼리전체를 서버로 전송해서 작업하는 것이 아닌 저장 프로시저와 매개변수값만을 전달함으로 데이터량이 작음
  • 빠른실행
    저장프로시저는 실행후 쿼리 실행계획을 메모리에 저장 > 저장된 실행계획 사용 > 구문분석이나 최적화 과정 거치지 않아서 더 빠른 실행을 할수 있고 캐시에 없더라도 구문분석, 표준화등의 작업을 하지 않기에 성능이 빠름

저장프로저의 구성요소
저장 프로시저명, 매개변수들, SQL문, 결과값 반환의 반환값

저장프로시저의 종류
  • 확장프로시저 : C와 같은 언어를 이용해서 구현한 프로시저, master DB에만 추가가능
  • 사용자 정의 저장 프로시저 : T-SQL문을 이용해 저장 프로시저로 구현
  • 시스템 저장 프로시저 : SQL서버관리를 위해 시스템에서 제공해주는 저장 프로시저
    sys의 스키마로 나타남, 데이터베이스 명 필요없이 시스템 저장 프로시저명을 통해서 실행가능

    Sp_who, sp_who2 : 사용자 정보
    Sp_lock : lock 정보
    Sp_help : 지정한 개체 정보
    Sp_helpdb : 지정한 DB정보
    Sp_configure : SQL 서버 설정변경
  • 임시 저장프로시저
    T-SQL 문 또는 일괄처리의 실행계획을 재 사용하지 않던 이전 버전의 방식
    사용자 정의 프로시저와 동일하게 작성하지만, 저장프로시저 명을 #으로 하면 임시저장프로시저가 됨
    SQL Server 2005에서는 T-SQL문과 일괄처리의 실행계획을 재 사용할수 있음으로 임시저장프로시저 사용이 거의없음
  • CLR 저장 프로시저
    T-SQL에서 부족한 프로그래밍 부분을 CLR 저장 프로시저를 통해 T-SQL 저장 프로시저보다는 더 강력한 구조적 프로그래밍이 가능

저장 프로시저의 생성

CREATE PROCEDURE usp_withANumber <- 소문자 : 스키마. 저장 프로시저명
@ EmployeeID INT <- 매개변수, 데이터 형식
AS
SELECT ANumber, AContent, ManagerID
FROM HumanResource.analysisDate
WHERE ManagerID = @ EmployeeID
GO

EXECUTE usp_withANumber

GO
* 임시 저장프로시저의 생성은
CREATE PROCEDURE #usp_withANumber <- 소문자 : 스키마. 저장 프로시저명앞에 샾
* 저장프로시저 생성시, SP_ 접두사는 시스템저장프로시저와 혼란을 줄수 있음으로 사용금지
* 그룹화면 저장프로시저 삭제시 개별적으로 하나씩 삭제할수 없음으로 가급적 사용하지말것
- 그룹화하기 : 같은 저장 프로시저명에 ; 하고 숫자를 매김

CREATE PROCEDURE usp_withANumber;1
AS
[ T-SQL구문 ]
GO

CREATE PROCEDURE usp_withANumber;2
AS
[ T-SQL구문 ]
GO

* 다른 사용자의 접근막기위해서는 CREATE아래쪽에 WITH ENCRYPTION을 사용함
시스템뷰에서 저장프로시저의 텍스트가 나타나지 않음. 암호화된 저장프로시저의 내용은 다시 확인할수 있는 방법이 없음으로 암호화되기전의 저장프로시저를 잘 보관해야함



저장 프로시저의 수정

ALTER PROCEDURE 스키마. 저장프로시저명.
@ 매개변수 데이터 형식
AS
[ 변경된 SQL문 ]



저장 프로시저의 삭제

DROP PROCEDURE 스키마.저장프로시저명;



기본값을 지니는 매개변수의 사용과 output사용

CREATE PROCEDURE usp_withANumber
@EmployeeID INT = 10 <- EmployeeID에 기본값을 지정한 것
@outvalue int output <- outvalue에 output 변수를 쓰겠다는것
@currency_cursor CURSOR VARYING OUTPUT <- output 매개변수로 커서를 사용할때
AS
SELECT @outvalue = ManagerID <- 관리자 ID를 output 매개변수에 설정
FROM HumanResource.analysisDate
WHERE ManagerID = @ EmployeeID
GO

DECLARE @ManagerID INT; <- 저장프로시저 output 매개변수에 반환하는 값저장을 위한 지역변수선언

EXECUTE usp_withANumber 20, @ManagerID output <-반환되는값 조회

GO
2010/02/17 17:50 2010/02/17 17:50
이 글에는 트랙백을 보낼 수 없습니다
MYSQL 테이블을 가변적으로 사용할때 쓰면 편리하다

SET
@table = 'mysql.user';
SET @host = '''%localhost%''';
SET @s = CONCAT('SELECT * FROM ', @table, ' WHERE host LIKE ', @host);
PREPARE stmt FROM @s;
EXECUTE stmt;
DEALLOCATE PREPARE stmt;

음..
2010/01/05 11:53 2010/01/05 11:53
이 글에는 트랙백을 보낼 수 없습니다
원문 : http://www.oracle.com/technology/tech/linux/install/xe-on-kubuntu.html

1. 먼저 apt-get 저장소를 연다.
$ sudo gedit /etc/apt/sources.list
2. sources.list에 다음을 추가한다.
deb http://oss.oracle.com/debian unstable main non-free
3. 인증키를 얻고 오라클 XE를 설치한다.
$ wget http://oss.oracle.com/el4/RPM-GPG-KEY-oracle  -O- | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install oracle-xe
 여기까진 쉽다. 만약에 설치 중에 스왑 파티션이 부족하다고 할 수 있다. 오라클 XE는 최소 1G이상의 스왑 파티션을 요구한다. 나는 이것 때문에 포맷을 두 번이나 하고 우분투를 설치했다. -_-;;
 
 근 데 원문 6번 글을 보면 스왑 파티션을 설정하는 방법이 나온다. 직접 해보지는 않았지만 원문 작성자도 별로 추천하지 않는단다. ㅡ.,ㅡ 그냥 포맷하고 반드시 수동으로 해서 스왑 파티션을 잡아준다. 1G라고 해서 1024이런 식으로 했다가는 또 다시 포맷해야하는 불상사가 생길 수 있다. 적당히 1200정도로 잡아줘야 이상 없다. 이것 때문에 두 번이나 다시 깔았다. ㅠ.ㅠ

4. 아무튼 스왑 파티션에 이상이 없으면 터미널에서 다음과 같이 실행하여 root 로 로그인 한다.
$ su -
 아마 패스워드를 입력하라고 할 것이다. 우분투를 처음 설치한 상황에서는 root의 비밀번호가 설정이 되어 있지 않다. 설정하는 방법은 간단하다.
$ sudo bash
# passwd
    또는
$ sudo passwd
 이 명령으로 root 계정 비밀번호를 설정하고 root로 로그인한다. root 비밀번호를 설정하지 않고 그냥 하려면 아래와 같이 입력하고 그 상태에서 작업한다.
$ sudo bash
    또는
$ sudo -i
5. 이제 root 권한 상태에서 다음 명령을 실행한다.
# /etc/init.d/oracle-xe configure
 그럼 아래와 같은 설정 화면이 나올 것이다.
Oracle Database 10g Express Edition Configuration
-------------------------------------------------
Specify the HTTP port that will be used for Oracle Application Express [8080]: Enter
Specify a port that will be used for the database listener [1521]: Enter

Specify a password to be used for database accounts. Note that the same
password will be used for SYS and SYSTEM. Oracle recommends the use of
different passwords for each database account. This can be done after
initial configuration: Enter

Confirm the password: 비밀번호 입력

Do you want Oracle Database 10g Express Edition to be started on boot (y/n) [y]: y

Starting Oracle Net Listener...Done
Configuring Database...Done
Starting Oracle Database 10g Express Edition Instance...Done    Installation Completed Successfully.
To access the Database Home Page go to "http://127.0.0.1:8080/apex"
6. 이제 설정이 끝났다. http://127.0.0.1:8080/apex 로 이동해서 Username은 "system", Password는 위에서 입력한 비밀번호로 로그인한다.



---- 여기서 부턴 웅자 --- config



난 server 기 때문에 로컬에서 접속이 불가능하다 -_-;; 장난하나 ;;;;
브라우져를 어케 까나;;;
결론은 외부로 접속을 시켜야되는데.
어쩔수 없이 sqlplus 를 쓰자고 생각했다.

** root 로 생각한다 **

*. 루트 쉘 환경변수 추가
# cd ~
# vi .bashrc
source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh

*. 환경변수 설정
# cd /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin
# ./oracle_env.sh

*. 114: [[: not fount 에러시 쉘 변경
# vi nls_lang.sh
- 첫줄의 #!/bin/sh -> #!/bin/bash 로 변경

그리고 또 위와 같이 했는데
LC TYPE... 어쩌구 저쩌구 나오면

$ apt-get install language-pack-ko
$ locale-gen ko_KR.EUC-KR (root로)
$ dpkg-reconfigure locales
해서 재설정해주고. 해봐라 .. 난 됐다 ...
아참 root 에 .profile 에 LANG=C 이딴게 있는데 이거 다 주석 체크 해버려라.


1. oracle 계정에 .bash_profile , 그리고 /usr/sbin/apachectl 이부분에 .

아래와 같은 허접을 껴둔다.
# oracle path
source /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/bin/oracle_env.sh
# oracle path end...

아차 맨위에는 무조건 #/bin/bash 를 선언해줘야 된다 . !

후에...

chmod -R 755 $ORACLE_HOME/sqlplus

chmod 755 $ORACLE_HOME/nls

chmod 755 $ORACLE_HOME/nls/data
chmod 744 $ORACLE_HOME/nls/data/*
chmod 755 $ORACLE_HOME/nls/data/lx1boot.nlb
chmod 755 $ORACLE_HOME/oracore
chmod 755 $ORACLE_HOME/oracore/zoneinfo
chmod 755 $ORACLE_HOME/oracore/zoneinfo/timezlrg.dat

이렇게 해주고!!!!

그리고 su - oracle 로 접속을 한뒤

sqlplus 오나클/비밀번호@XE or sqlplus system 후 비밀번호 치던지...
이렇게만 하면 잘 접속 된다.

==================================================================
Oracle Database 10g Express Edition Release 10.2.0.1.0 - Production
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); <= 이거 명령어다.

PL/SQL 처리가 정상적으로 완료되었습니다.

SQL>
===================================================================

우왕ㅋ굳ㅋ 이제 외부에서 접속 가능 !
보안이 후달리니. 설정할때만 잠깐 올리고 다시 닫자 .
SQL> EXEC DBMS_XDB.SETLISTENERLOCALACCESS(TRUE);

자 ~ 외부에서 접속이 될꺼다 ~ ㅋㅋㅋ 아이피:8080/apex 우왕ㅋ굳ㅋ

그럼 ~~ 이번건은 php 에 연동해보자.


1. apt-get install 로 php-pear패키지와 php5-dev패키지를 설치한다.
2. pecl install oci8 한다. (난 /usr/lib/php5/20060613+lfs/oci8.so 여기에 생겨뜸...)
3. /etc/php5/apache2/php.iniextention=oci8.so 혹은 vi /etc/php5/conf.d/oracle.ini 하고 옆에 extention=oci8.so 추가해줘라...그리고 phpinfo(); 로 oci8관련된 항목이 있는지 확인한다.
4.난 이렇게 그냥 검사해봤당.

<?

   //echo PHPINFO();
    $db = "//127.0.0.1/xe";
    $c1 = ocilogon("system","비밀번호",$db);

    echo $c1;

    exit;
?>

잘나오던데 ;;; 난 연동 끝이었다.
2008/10/09 12:36 2008/10/09 12:36
이 글에는 트랙백을 보낼 수 없습니다
오라클을 통해 작업할 시
insert시점에서 정상적으로 인덱싱이 되지 않는 경우가 발생한다.
특히 결합인덱스를 많이 사용하고 있는 경우 발생될 확률이 높다.
 
이런경우 오라클의 Analyzed를 통해서 해결이 가능하고
어느정도의 실행속도를 향상 시킬 수있다.
(실제 오라클사에서도 3개월에 한번씩은 Analyze를 실행하라 권고하고 있다.)
 
[Analyzed 확인 방법]
         select table_name, num_rows, to_char(last_analyzed, 'yyyymmdd') from user_tables
         select index_name, num_rows, to_char(last_analyzed, 'yyyymmdd') from user_indexes
 
ex) select table_name, num_rows, to_char(last_analyzed, 'yyyymmdd') from user_tables;
TABLE_NAME                       NUM_ROWS TO_CHAR(
------------------------------ ---------- --------
ABS_TYPE                               38 20040101
ANNIVERS                              183 20040101
APPRFLDRHISTORY                       570 20040101
APPRFOLDER                          16885 20040101
APPRFOLDER_ERR                       3670 20040101
APPRFORM                              359 20040101
.
.
.
USR_INFO_ADMIN                          0 20040101
VAR_DEPT_INFO                           0 20040101
VIEW_TYPE                               0 20040101
WASTEBOX                                0 20040101
ZIP_CODE                            44195 20040101
252 rows selected.
 
※ 참고 : desc user_tables 에서 보통 num_rows 로도 확인 가능
             
 
[특정 Table만 Analyze 하는 방법]
 
analyze table document compute statistics
ex) DOCUMENT Table 만 Analyze
 
analyze index xpkdocbox compute statistics
ex) XPKDOCBOX Index 만 Analyze
 
[전체 Table Analyze 하는 간단한 방법]
 
1. vi analyze_all.sql
    select 'analyze table || table_name || estimate statistics;' from user_tables
 
2. @analyze_all.sql
 
3. set heading off
     set echo off
     set feedback off
     set pagesize 300  (line 이 300 미만일 경우)
     spool analyze_table.sql
     /
     spool off
 
4. vi analyze_table.sql
    필요없는 Line 제거 및 정리
 
5. @analyze_table.sql
 
[전체 Index Analyze 하는 간단한 방법]
 
1. vi analyze_all.sql
    select 'analyze index || index_name || estimate statistics;' from user_indexes
 
2. @analyze_all.sql
 
3. set heading off
     set echo off
     set feedback off
     set pagesize 300  (line 이 300 미만일 경우)
     spool analyze_index.sql
     /
     spool off
 
4. vi analyze_index.sql
    필요없는 Line 제거 및 정리
 
5. @analyze_index.sql
2008/09/03 20:22 2008/09/03 20:22
이 글에는 트랙백을 보낼 수 없습니다
안녕하세요.

원래 수줍어서 이런거 못올립니다만 .

다른분들이 해결방법을 찾으셧으면 해서 올립니다 .



전 img 및 script rpc 를 이용하여 값을 넘길때.

해당 페이지 or 받는 페이지가 utf-8 이면

받는페이지에서


------------------------------------------------------------------------------------

// 값이 아래와 같다면
$a = "http://comefeel.com/tt/comefeel/entry/윈도우XP-속도-200-빠르게-하기?info=nom&elch=18";

$b = parse_url($a);
echo "<pre>";
print_r($b);

------------------------------------------------------------------------------------

위와같이 한다면 한글 부분이 깨져서 나옵니다.
정확한 인코딩도 다 해봤으나 유효 불가해서 아래와 같이
그냥 -_- 무식하게 (parse_url 처럼 혹은 비슷 ) 나눠 봤습니다.

좀더 좋은 팁이 있거나 좋은거 알고계신분은 정보 공유 합시다.


======================================

// 값이 아래와 같다면
$a = "http://comefeel.com/tt/comefeel/entry/윈도우XP-속도-200-빠르게-하기?info=nom&elch=18";

preg_match('@(^.*):\/\/(.*?)/([^?]*)\??(.*)@', $a, $matches);

 echo "<pre>";
 var_dump( ($matches) );

=======================================
2008/07/11 19:27 2008/07/11 19:27
이 글에는 트랙백을 보낼 수 없습니다
웅쓰:웅자의 상상플러스
웅자의 상상플러스
전체 (379)
게임 (5)
영화 (2)
기타 (23)
맛집 (5)
영어 (2)
대수학 (3)
형태소 (5)
Hacking (9)
Linux (112)
HTML (48)
Application_developing (48)
Web_developing (102)
Window (11)
«   2017/10   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        
  1. 2016/01 (1)
  2. 2015/12 (3)
  3. 2015/10 (3)
  4. 2015/03 (2)
  5. 2015/01 (4)