이클립스를 사용안하면 어떻게 클래스를 컴파일 시켜서 적용을 시킬까?
예전엔 그렇게 찾아도 안보이던 것이 .....이리 쉬울줄이야..
c:\Tomcat\conf\context.xml
혹시나 몰라서 써둔다.
01
02
03
04
05
06
07
08
09
10
11
|
$ adrci ADRCI: Release 11.2.0.2.0 - Production on Thu Dec 1 15:38:15 2011 ADR base = "/u01/app" adrci> show homes diag/tnslsnr/ip-10-100-255-165/listener diag/rdbms/uw01/uw01 adrci> set home diag/rdbms/uw01/uw01 adrci> show alert -tail 100 |
insert into user(host, user, password) values('localhost', '아이디', password('비밀번호')); insert into user(host, user, password) values('%', '아이디', password('비밀번호')); grant all privileges on DB명.* to 아이디@localhost identified by '비밀번호'; grant all privileges on DB명.* to 아이디@'%' identified by '비밀번호';
SELECT /*+ rule */ s.status "Status", s.serial# "Serial#", s.TYPE "Type", s.username "DB User", s.osuser "Client User", s.server "Server", s.machine "Machine", s.module "Module", s.terminal "Terminal", s.program "Program", p.program "O.S. Program", s.logon_time "Connect Time", lockwait "Lock Wait", si.physical_reads "Physical Reads", si.block_gets "Block Gets", si.consistent_gets "Consistent Gets", si.block_changes "Block Changes", si.consistent_changes "Consistent Changes", s.process "Process", p.spid, p.pid, s.serial#, si.sid, s.sql_address "Address", s.sql_hash_value "Sql Hash", s.action FROM V$SESSION s, V$PROCESS p, SYS.V_$SESS_IO si WHERE s.paddr = p.addr(+) AND si.sid(+) = s.sid AND s.username IS NOT NULL AND NVL (s.osuser, 'x') <> 'SYSTEM' AND s.TYPE <> 'BACKGROUND' ORDER BY 3
select s.sid , s.program , ss.value "open_cursor" from v$sesstat ss, v$session s where ss.statistic# = 3 and s.sid = ss.sid order by 3 desc
SELECT * FROM sys.dm_os_performance_counters WHERE object_name = 'SQLServer:General Statistics'
<style type="text/css"> .vCenter { display:table; width:400px; height:400px; border:1px solid red; } .vCenter span { display:table-cell; text-align:center; vertical-align:middle; } .vCenter span a { } </style> <!--[if lt IE 8]> ie8보다 버전이 낮은 브라우져에서 실행 <style type="text/css"> .vCenter { position:relative; } .vCenter span { display:inline-block; position:absolute; top:50%; left:50%; } .vCenter span a { position:relative; top:-50%; left:-50%; } </style> <![endif]--> <div class="vCenter"> <span> <a href="#"> <img src="thumbnails.jpeg" alt="이미지" /> </a> </span> </div>
C:\Program Files\MySQL\MySQL Server 5.0\bin> mysqldump -u root -p --default-character-set=euckr 디비 > 파일.sql Enter password:**** C:\Program Files\MySQL\MySQL Server 5.0\bin>
mysql -u root -p DB명 < 파일명.sql Enter password:****
http://www.cmake.org/cmake/resources/software.html 접속후 cmake-2.8.4.tar.gz 파일을 받으면 된다
[root@localhost src]# rpm -Uvh --force --nodeps MySQL-devel-5.5.13-1.rhel5.i386.rpm [root@localhost src]# yum -y install zlib curl [root@localhost src]# yum -y install gcc g++ cpp gcc-c++ [root@localhost src]# yum -y install openssl openssl-devel [root@localhost src]# yum -y install ncurses-devel [root@localhost src]# yum -y install bzip2-devel [root@localhost src]# yum -y install libtermcap-devel libc-client-devel [root@localhost src]# yum -y install bison
[3]. 설치 파일 생성 make
[4]. 파일 설치 make install
[5]. cmake를 설치하면 /usr/local/bin 에 위치한다 cmake 명령어로 설치 확인!
groupadd mysql useradd -g mysql mysql
tar xvf mysql-5.5.13.tar.gz cd mysql-5.5.13
cmake . -LH -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DMYSQL_DATADIR=/usr/local/mysql/data
make; make install
chown -R mysql:mysql /usr/local/mysql cd /usr/local/mysql ./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data
cp support-files/mysql.server /etc/init.d/mysqld cp support-files/my-medium.cnf /etc/my.cnf vi /etc/init.d/mysqld service mysqld start
-- SID 조회 SELECT instance FROM v$thread; -- GLOBAL_NAME 조회 SELECT * FROM props$ WHERE name='GLOBAL_DB_NAME'; SELECT * FROM global_name; -- GLOBAL_NAME 수정 ALTER DATABASE RENAME GLOBAL_NAME TO 'NAME';
***************************************** 테이블 스페이스 확인 ******************************************/ -- 생성되어 있는 테이블 스페이스 보기. SELECT * FROM DBA_TABLESPACES; -- 생성되어 있는 DBF 파일 보기. SELECT * FROM DBA_DATA_FILES; -- 생성되어 있는 TEMP DBF 파일 보기. SELECT * FROM DBA_TEMP_FILES; /***************************************** 테이블 스페이스 생성 확장자 명은 DBF 또는 .DAT, .ORA를 사용할 수 있다. 일반적으로는 DBF를 가장 많이 사용한다. DBF '[테이블스페이스경로(예. /usr/lib/oracle/xe/oradata/XE/)]/[테이블스페이스명].dbf' ex 10g 경우) => C:\oracle\product\10.2.0\oradata\[폴더]\[테이블스페이스명.dbf] ex XE 경우) => C:\oraclexe\oradata\XE\[폴더]\[테이블스페이스명.dbf] ******************************************/ CREATE TABLESPACE TABLESPACENAME DATAFILE 'E:\oracle\product\10.2.0\oradata\directoryname\sample.dbf' SIZE 500M -- 기본 용량 AUTOEXTEND ON -- 기본 용량을 자동으로 늘려줌 extent management local autoallocate; /***************************************** 테이블 스페이스 삭제 INCLUDING CONTENTS AND DATAFILES : 모든 내용 삭제 CASCADE CONSTRAINTS : 종속된 제약 조건 삭제 ******************************************/ ALTER TABLESPACE TABLESPACENAME OFFLINE; DROP TABLESPACE TABLESPACENAME INCLUDING CONTENTS AND DATAFILES CASCADE CONSTRAINTS;
--1. 해당 데이터파일의 크기를 재조정 ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\KIRIO1\A1_CLON\A1.DBF' RESIZE 1100M; --2. 해당 테이블 스페이스에 새로운 데이터파일 추가 ALTER TABLESPACE DATA ADD DATAFILE 'd:\oracle\oradata\kirio1\data01.dbf' SIZE 100M; --3. 해당 데이터파일에 AUTOEXTEND ON 설정 ALTER DATABASE DATAFILE 'D:\ORACLE\ORADATA\KIRIO1\A1_CLON\A1.DBF' AUTOEXTEND ON;
-- 테이블스페이스 삭제 -- 테이블스페이스가 오프라인으로 상태에서 명령을 내리길 권장 DROP TABLESPACE unicorn_temp INCLUDING CONTENTS CASCADE CONSTRAINTS; -- DATA TABLESPACE 생성 CREATE TABLESPACE unicorn_data DATAFILE 'D:\oracle\oradata\unicorn_data.TBL' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M DEFAULT STORAGE (INITIAL 4K NEXT 128K MINEXTENTS 1 PCTINCREASE 0); -- INDEX TABLESPACE 생성 CREATE TABLESPACE unicorn_index DATAFILE 'D:\oracle\oradata\unicorn_index.TBL' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M DEFAULT STORAGE (INITIAL 4K NEXT 128K MINEXTENTS 1 PCTINCREASE 0); -- TEMP TALBESPACE 생성 CREATE TEMPORARY TABLESPACE unicorn_temp TEMPFILE 'D:\oracle\oradata\unicorn_temp.TBL' SIZE 100M AUTOEXTEND ON NEXT 10M MAXSIZE 500M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K; -- 사용자 생성 CREATE USER unicorn IDENTIFIED BY unicorn DEFAULT TABLESPACE unicorn_data TEMPORARY TABLESPACE unicorn_temp; -- 사용자 비밀번호 변경 ALTER USER unicorn IDENTIFIED BY unicorn; -- 권한 설정 -- 생성한 사용자에게 자신의 schema에서 테이블등을 만들 권한과 자원을 사용할 권한을 준다. -- GRANT RESOURCE, CONNECT TO MIDAN; -- DBA 권한을 준다. GRANT DBA TO unicorn; -- datafile 추가 ALTER TABLESPACE unicorn_data ADD DATAFILE 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' SIZE 2048M; /* alter tablespace unicorn_data add datafile 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' size 50M autoextend on next 20M maxsize 100M 추후에 datafile에 자동증가만 추가하려면 alter database datafile 'D:\oracle\oradata\unicorn\unicorn_dat02.dbf' autoextend on next 20M maxsize 100M 계속 증가하도록 하려면 100M 대신 unlimited 사용 (32G이상 확장되지 않음) */ -- datafile 확인 select * from DBA_DATA_FILES; -- 등록되어 있는 사용자보기 SELECT * FROM ALL_USERS; -- 사용자 삭제 -- ※ CASCADE를 사용하게 되면 사용자 이름과 관련된 모든 데이터베이스 스키마가 데이터 사전으로부터 -- 삭제되며 모든 스키마 객체들 또한 물리적으로 삭제 됩니다. DROP USER scott CASCADE; --IMPORT, EXPORT 권한을 준다. GRANT EXP_FULL_DATABASE, IMP_FULL_DATABASE TO unicorn; /* --시스템 권한 부여 GRANT CREATE USER, ALTER USER, DROP USER TO scott WITH ADMIN OPTION. --*설명 : scott 사용자에게 사용자를 생성, 수정, 삭제 할 수 있는 권한을 부여하고, -- scott 사용자도 다른 사용자에게 그 권한을 부여 할 수 있습니다. --시스템 권한 박탈 REVOKE CREATE USER, ALTER USER, DROP USER FROM scott --*설명 : scott 사용자에게 부여한 생성, 수정, 삭제 권한을 회수합니다, */ --사용자조회 SELECT username, default_tablespace, temporary_tablespace FROM DBA_USERS; SELECT * FROM ALL_USERS; -- 테이블스페이스조회 SELECT * FROM DBA_TABLESPACES; % 그외 TIP ------------------------------------------------------------------------------------- ※ ORACLE SID 확인 SELECT INSTANCE FROM V$THREAD; ------------------------------------------------------------------------------------- ※ ORACLE DB_NAME 확인 SELECT NAME FROM V$DATABASE; ------------------------------------------------------------------------------------- ※ ORACLE VERSION 확인 SELECT * FROM V$VERSION; ------------------------------------------------------------------------------------- ※ ORACLE USER 확인 SELECT * FROM ALL_USERS; ------------------------------------------------------------------------------------- ※ 등록된 USER 목록 보기 SELECT USERNAME, USER_ID FROM DBA_USERS ORDER BY USERNAME; ------------------------------------------------------------------------------------- ※ USER가 소유한 모든 테이블 보기 SELECT TABLE_NAME FROM USER_TABLES; ------------------------------------------------------------------------------------- ※ 사용자 정보 SELECT USERNAME, DEFAULT_TABLESPACE, TEMPORARY_TABLESPACE FROM DBA_USERS; ------------------------------------------------------------------------------------- ※ 오브젝트 조회 SELECT * FROM ALL_OBJECTS WHERE OBJECT_NAME LIKE '명'; ------------------------------------------------------------------------------------- ※ 테이블 조회 SELECT * FROM ALL_TABLES WHERE TABLE_NAME LIKE '명'; ------------------------------------------------------------------------------------- ※ 시퀀스 정보 SELECT * FROM USER_SEQUENCES; ------------------------------------------------------------------------------------- ※ 시노님 조회 SELECT * FROM ALL_SYNONYMS WHERE SYNONYM_NAME='명'; ------------------------------------------------------------------------------------- ※ 테이블 인덱스 정보 조회 SELECT * FROM ALL_IND_COLUMNS WHERE TABLE_NAME='테이블명'; ------------------------------------------------------------------------------------- ※ 테이블의 컬럼 정보 조회 SELECT * FROM ALL_TAB_COLUMNS WHERE TABLE_NAME='테이블명'; ------------------------------------------------------------------------------------- ※ TABLE COMMENT 쿼리 SELECT * FROM ALL_TAB_COMMENTS WHERE TABLE_NAME='테이블명'; ------------------------------------------------------------------------------------- ※ COLUMN COMMENT 쿼리 SELECT * FROM ALL_COL_COMMENTS WHERE TABLE_NAME='테이블명'; ------------------------------------------------------------------------------------- ※ 콘트롤파일의 데이타파일 정보와 테이블스페이스 정보 SELECT status,enabled, t.name,d.name FROM v$datafile d, v$tablespace t WHERE t.ts#=d.ts#; ------------------------------------------------------------------------------------- ※ 테이블스페이스의 데이터파일과 테이블스페이스의 크기 확인 ※ DBA_DATA_FILES 데이터 사전을 이용 하면 됩니다. SELECT file_name, tablespace_name, bytes, blocks, status, user_bytes, user_blocks FROM DBA_DATA_FILES; ------------------------------------------------------------------------------------- ※ 테이블 스페이스별 사용 가능한 공간의 확인 ※ DBA_FREE_SPACE 데이터 사전 ※ SUM을 사용한 이유는하나의 테이블 스페이스에 분산되어 있는 여유공간을 합한 것이며 ※ MAX를 사용한 이유는 여유 공간중 가장 큰 공간의 SIZE를 의미 합니다. SELECT tablespace_name, SUM(bytes), MAX(bytes) FROM DBA_FREE_SPACE GROUP BY tablespace_name; ------------------------------------------------------------------------------------- ※데이타 화일에 대한 총 크기와 남아있는 공간, 사용한 용량, 남은 %율 ※DBA_FREE_SPACE, DBA_DATA_FILES 데이터 사전 SELECT b.file_name "FILE_NAME", -- DataFile Name b.tablespace_name "TABLESPACE_NAME", -- TableSpace Name b.bytes / 1024 "TOTAL SIZE(KB)", -- 총 Bytes ((b.bytes - sum(nvl(a.bytes,0)))) / 1024 "USED(KB)", -- 사용한 용량 (sum(nvl(a.bytes,0))) / 1024 "FREE SIZE(KB)", -- 남은 용량 ROUND((sum(nvl(a.bytes,0)) / (b.bytes)) * 100, 2) "FREE %" -- 남은 % FROM DBA_FREE_SPACE a, DBA_DATA_FILES b WHERE a.file_id(+) = b.file_id GROUP BY b.tablespace_name, b.file_name, b.bytes ORDER BY b.tablespace_name ------------------------------------------------------------------------------------- ※오라클 권한 준거 확인 (테이블 권한) SELECT * FROM USER_TAB_PRIVS; ------------------------------------------------------------------------------------- ※오라클 VIEW Table 조회 SELECT OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS WHERE OWNER = 'NIS' AND OBJECT_TYPE = 'VIEW'; SELECT * FROM TAB; ------------------------------------------------------------------------------------- ※오라클 비밀번호 강제 변경 sqlplus "/as sysdba" ALTER USER 아이디 IDENTIFIED BY 암호; ------------------------------------------------------------------------------------- ※락 잡힌거 죽이기 --락확인 법 SELECT A.SESSION_ID SID, B.SERIAL# SERIAL_NO, A.OS_USER_NAME OS_USER_NAME, A.ORACLE_USERNAME ORACLE_USERNAME, B.STATUS STATUS FROM V$LOCKED_OBJECT A, V$SESSION B WHERE A.SESSION_ID = B.SID; SELECT * FROM V$LOCKED_OBJECT; ALTER SYSTEM KILL SESSION 'SID, SERIAL_ID'; ------------------------------------------------------------------------------------- 권한주기 GRANT SELECT,DELETE,UPDATE ON SMSVNJNVIEW TO SMSVIEW WITH GRANT OPTION; ------------------------------------------------------------------------------------- 아이디생성 CREATE USER SMSVIEW PROFILE DEFAULT IDENTIFIED BY SMSVIEW; GRANT CONNECT, RESOURCE TO SMSVIEW; ------------------------------------------------------------------------------------- 시노님 생성 CREATE PUBLIC SYNONYM SMSVNJNVIEW FOR NIS.SMSVNJNVIEW; ------------------------------------------------------------------------------------- 디비링크 거는법 1. tnsnames.ora 파일 정보추가 tns = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1 )(PORT = 1521)) ) (CONNECT_DATA = (SID = ora92) ) ) 2. 연결 CREATE DATABASE LINK 링크명 CONNECT TO 아이디 IDENTIFIED BY 비번 USING 'tns' ------------------------------------------------------------------------------------- pk 생성 ALTER TABLE 테이블 ADD ( CONSTRAINT pk명 PRIMARY KEY (컬럼, 컬럼)); ------------------------------------------------------------------------------------- 인덱스 생성 CREATE INDEX 인덱스명 ON 테이블 (컬럼, 컬럼); CREATE UNIQUE INDEX 인덱스명 ON 테이블 (컬럼, 컬럼); ------------------------------------------------------ ------------------------------- 테이블 설명 COMMENT ON TABLE 테이블명 IS '부과대장'; COMMENT ON COLUMN 테이블명.컬럼명 IS '부과대장키 '; -------------------------------------------------------------------------------------
CREATE OR REPLACE TRIGGER 트리거명 AFTER INSERT OR UPDATE OR DELETE OF 선택컬럼명 ON 테이블명 FOR EACH ROW BEGIN IF (INSERTING) THEN INSERT INTO 테이블(선택컬럼) VALUES(:NEW.선택컬럼); ELSIF (UPDATING) THEN UPDATE 테이블 SET 선택컬럼=:NEW.선택컬럼 WHERE 선택컬럼=:OLD.선택컬럼; ELSIF (DELETING) THEN DELETE FROM 테이블 WHERE 선택컬럼 = :OLD.선택컬럼; END IF; END;
SELECT SUBSTR( WDATA, INSTR(WDATA, '|', 1, LEVEL) + 1, INSTR(WDATA, '|', 1, LEVEL + 1) - INSTR(WDATA, '|', 1, LEVEL) - 1 ) NAME FROM ( SELECT '|aaa|bbb|ccc|ddd|eee|' AS WDATA FROM dual ) CONNECT BY LEVEL <= LENGTH(WDATA) - LENGTH(REPLACE(WDATA, '|')) - 1
exec sp_configure 'show advanced options', 1 reconfigure exec sp_configure 'Ad Hoc Distributed Queries',1 reconfigure -- 예제 1) select * from OPENROWSET('Microsoft.Jet.OLEDB.4.0','text;Database=절대경로;HDR=NO','select * from 파일명') -- 예제 2) select * from OPENROWSET('MSDASQL','Driver={Microsoft Text Driver (*.txt; *.csv)};DefaultDir=절대경로;','select * from 파일명')
출처 : 모르겠어요ㅠㅠ 메일주세요 (-->공지확인)
# 필요한 rpm (이건 꼭 필요한것이므로 Linux CD에서 찾아 전부 설치해야한다.)
root 계정에서 rpm -Uvh 설치할거.rpm 이렇게 주면서 쭉~ 설치 하면 된다.
rpm -Uvh compat-libstdc++-33-3.2.3-61.i386.rpm
rpm -Uvh elfutils-libelf-0.137-3.el5.i386.rpm
rpm -Uvh elfutils-libelf-devel-0.137-3.el5.i386.rpm
rpm -Uvh glibc-2.5-58.i386.rpm
rpm -Uvh glibc-devel-2.5-58.i386.rpm
rpm -Uvh glibc-common-2.5-58.i386.rpm
rpm -Uvh gcc-4.1.2-50.el5.i386.rpm
rpm -Uvh gcc-c++-4.1.2-50.el5.i386.rpm
rpm -Uvh kernel-headers-2.6.18-238.el5.i386.rpm
rpm -Uvh libgcc-4.1.2-50.el5.i386.rpm
rpm -Uvh libaio-0.3.106-5.i386.rpm
rpm -Uvh libaio-devel-0.3.106-5.i386.rpm
rpm -Uvh libstdc++-4.1.2-50.el5.i386.rpm
rpm -Uvh libstdc++-devel-4.1.2-50.el5.i386.rpm
rpm -Uvh sysstat-7.0.2-3.el5_5.1.i386.rpm
rpm -Uvh binutils-2.17.50.0.6-14.el5.i386.rpm
rpm -Uvh unixODBC-2.2.11-7.1.i386.rpm
rpm -Uvh unixODBC-devel-2.2.11-7.1.i386.rpm
rpm -Uvh make-3.81-3.el5.i386.rpm
rpm -Uvh pdksh-5.2.14-36.el5.i386.rpm
# sysctl.conf에 추가
cat >> /etc/sysctl.conf <<EOF
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
EOF
/sbin/sysctl -p
# oracle 사용자 계정의 Shell Limit 설정
cat >> /etc/security/limits.conf <<EOF
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
EOF
cat >> /etc/pam.d/login <<EOF
session required /lib/security/pam_limits.so
EOF
# oracle 그룹 및 사용자 계정 생성
/usr/sbin/groupadd oinstall
/usr/sbin/groupadd dba
/usr/sbin/useradd -g oinstall -G dba oracle
mkdir -p /u01/app/oracle
chmod 775 -R /u01/app/oracle
chown -R oracle:oinstall /u01/app
passwd oracle
# bash_profile 추가
export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=TESTDB
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export PATH=$ORACLE_HOME/bin:$PATH
export DISPLAY=:0.
# 압축을 푼다
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
# 설치를 시작한다.
./runInstaller
# 리스너를 구성한다.
netca
dbca
$ORACLE_HOME/admin/testdb/pfile 디렉리
에 가면 init.ora.1222010183035 이런식으로 숨겨진 pfile 이 존재 한다.
이파일을 $ORACLE_HOME/product/11.2.0/db_1/dbs/ 디렉토리의 inittestdb.ora라는 파일로 복사한다.
sqlplus 를 실행해서 startup 을 실행
빠져나온뒤 lsnrctl start
#####한글설정
본인의 테스트 기준...
#####SQLPLUS 한글 깨짐 현상(.bash_profile 에 추가)
데이터베이스의 캐릭터셋 설정 확인 (설정 값이 한글이 지원이 안되는 캐릭터셋으로 되어 있는 경우에는 한글 입출력이 불가능하다.)
SQL> select * from nls_database_parameters;
PARAMETER VALUE
------------------------------ ----------------------------
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.1.0.6.0
캐릭터셋을 확인하고 (AL32UTF8)
리눅스 쉘에서,
$ export NLS_LANG=KOREAN_KOREA.AL32UTF8
$ sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on 월 11월 10 17:31:57 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
다음에 접속됨:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL>
SQL> select '한글' from dual;
'한글'
------
한글
SQL>
sqlplus 인터페이스도 한글로 출력되고, 데이터도 한글로 잘 출력된다.
NLS_LANG 파마리터 설정을 해제하면
$ unset NLS_LANG
$ sqlplus / as sysdba
SQL*Plus: Release 11.1.0.6.0 - Production on Mon Nov 10 17:33:49 2008
Copyright (c) 1982, 2007, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select '한글' from dual;
'???????'
---------------------
???????
SQL>
export NLS_LANG=KOREAN_KOREA.KO16MSWIN949
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
mssql :select CONVERT(CHAR(8),getdate(),112)+REPLACE(CONVERT(CHAR(8),getdate(),108),':','') mysql :select convert(date_format(now(),'%Y%m%d%H%i'),char(12)); oracle :select to_char(sysdate, 'yyyymmddhh24mi') from dual;
@echo off setlocal :: str 변수 초기화 set str= :RE set /p str=복사해올 파일명 입력: if "%str%" == "" goto RE echo 방금 입력하신 문자열은 %str% 입니다. copy d:\%str%.exe d:\job rem 이런식으로 사용 하면 된다~~(주석임)
java Calendar 시간과 서버시간 불일치 처리
Calendar runTimeCal = Calendar.getInstance(); System.out.println ("현재 타임존 : " + runTimeCal.getTimeZone().getDisplayName() ); TimeZone tz = TimeZone.getTimeZone("GMT+09:00"); runTimeCal.setTimeZone(tz);
출처는 까먹음(죄송해요)..ㅠㅠ
@echo
off
java -cp
lib/jtds-1.2.jar;lib/log4j-1.2.15.jar;lib/xstream-1.3.1.jar;./;%CLASSPATH%
mgr.MainEngine
set
root_path=d:\test
set
lib_home=%root_path%/lib
set
classpath=%lib_home%/xstream-1.3.1.jar;%lib_home%/jtds-1.2.jar;%lib_home%/log4j-1.2.15.jar;
java mgr.MainEngine
-- 컬럼수 조회
import java.sql.*; try{ String driver = "oracle.jdbc.driver.OracleDriver"; String url = "jdbc:oracle:thin:@localhost:1521:ORCL"; Class.forName(driver); Connection conn = DriverManager.getConnection(url, "userid", "passwd"); String Qry=" select * from ab"; Statement Stmt = conn.createStatement(); ResultSet Rs = Stmt.ExecuteQuery(Qry); //**** 컬럼 갯수를 알고싶을때 ResultSetMetaData Rsmd = Rs.getMetaData(); int ColumnCount=Rsmd.getColumnCount(); //**** }catch(Exception e){ e.printStackTrace() }
// 패키지 컴파일
C:\temp>javac my\main\TestPackge.java
// 패키지 실행
C:\temp>java my.main/TestPackge
Test Package
Test_one
// 오라클 패키지 프로시저 선언
CREATE OR REPLACE PACKAGE SDK_RESULT_PKG AS TYPE REF_TYPE IS REF CURSOR; PROCEDURE SDK_RESULT( V_RESULT OUT SDK_RESULT_PKG.REF_TYPE, MSG_TYPE IN VARCHAR2, FROMDATE IN VARCHAR2, TODATE IN VARCHAR2 ); END SDK_RESULT_PKG; // 오라클 패키지 프로시저 구현 CREATE OR REPLACE PACKAGE BODY SDK_RESULT_PKG AS PROCEDURE SDK_RESULT( V_RESULT OUT SDK_RESULT_PKG.REF_TYPE, MSG_TYPE IN VARCHAR2, FROMDATE IN VARCHAR2, TODATE IN VARCHAR2 ) AS SMS_SQL VARCHAR2(5000); MMS_SQL VARCHAR2(5000); VMS_SQL VARCHAR2(5000); FMS_SQL VARCHAR2(5000); SURVEY_SQL VARCHAR2(5000); BEGIN SMS_SQL := 'SELECT MSG, '; SMS_SQL := SMS_SQL || ' USER_ID, '; SMS_SQL := SMS_SQL || ' SEND_DATE, '; SMS_SQL := SMS_SQL || ' 0 AS REPLY_TYPE, '; SMS_SQL := SMS_SQL || ' SUM(DEST_COUNT) AS DEST_COUNT, '; SMS_SQL := SMS_SQL || ' SUM(SUCC_COUNT) AS SUCC_COUNT, '; SMS_SQL := SMS_SQL || ' SUM(FAIL_COUNT) AS FAIL_COUNT, '; SMS_SQL := SMS_SQL || ' SUM((DEST_COUNT-SUCC_COUNT) FAIL_COUNT) AS ING_COUNT, '; SMS_SQL := SMS_SQL || ' CALLBACK, '; SMS_SQL := SMS_SQL || ' SUBSTR(XMLAGG(XMLELEMENT(AB,MSG_ID || ''^'') ORDER BY MSG_ID).EXTRACT(''//text()''),1) AS MSG_ID '; SMS_SQL := SMS_SQL || ' FROM TBL'; SMS_SQL := SMS_SQL || ' GROUP BY SMS_MSG, USER_ID, SEND_DATE, CALLBACK, RESERVED5'; OPEN V_RESULT FOR SMS_SQL; END SDK_RESULT; END SDK_RESULT_PKG;
// 자바 실행 Connection Conn=null; ResultSet Rs = null; CallableStatement cstmt = null; DBClassTEST DBClass = new DBClassTEST() DBClass.DB_Info(); DBClass.Connect(); Conn = DBClass.Conn(); //**** DB 연결 부분은 알아서 구현 위 내용은 임시 클래스 Qry = "BEGIN SDK_RESULT_PKG.SDK_RESULT(?,?,?,?); END;"; cstmt = Conn.prepareCall(Qry); cstmt.registerOutParameter(1,OracleTypes.CURSOR); cstmt.setString(2,"SMS"); cstmt.setString(3,"200901010000"); cstmt.setString(4,"201012312359"); cstmt.execute(); Rs = ((OracleCallableStatement)cstmt).getCursor(1); ColumnName="TEST"; //컬럼이름 while(Rs.next()){ System.out.println(Rs.getString(ColumnName)); } Rs.close(); cstmt.close(); Conn.close(); DBClass.DB_Close();