이클립스를 사용안하면 어떻게 클래스를 컴파일 시켜서 적용을 시킬까?
예전엔 그렇게 찾아도 안보이던 것이 .....이리 쉬울줄이야..
c:\Tomcat\conf\context.xml
혹시나 몰라서 써둔다.
01
02
03
04
05
06
07
08
09
10
11
|
$ adrciADRCI: Release 11.2.0.2.0 - Production on Thu Dec 1 15:38:15 2011ADR base = "/u01/app"adrci> show homesdiag/tnslsnr/ip-10-100-255-165/listenerdiag/rdbms/uw01/uw01adrci> set home diag/rdbms/uw01/uw01adrci> 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();