한국오라클, 무료 DB 개발 툴 Oracle SQL Developer 출시 |
Oracle SQL Developer는 무료로 배포되고 사용하기도 편한것 같습니다. 위에 파일은
사용법에 대한 자료입니다.
한국오라클, 무료 DB 개발 툴 Oracle SQL Developer 출시 |
일반적으로 오라클을 삭제하고 나서도 레지스트리에 정보가 남아있다거나
깨끗하게 삭제하는 것은 어렵다고 생각하여
OS 를 재설치하는 등의 여러가지 수고가 들게 됩니다
최대한 깨끗하게 삭제하는 절차를 정리해보겠습니다
1. 먼저 OUI(Oracle Universal Installer) 를 이용하여 설치된 오라클 관련 제품을 삭제합니다
2. services.msc 를 실행하신후 오라클 관련 서비스 모두를 멈춥니다
3. 다음의 경로에 포함되어 있는 레지스트리 정보를 삭제합니다
- 사용자에 따라 경로가 다를수 있습니다
HKEY_CURRENT_USER\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Application
\Oracle.oracle
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OracleDBConsole
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Oracle10g_home
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OraclService
4. 파일 시스템에서 오라클 관련 폴더를 삭제합니다 - 사용자의 환경에 따라 다릅니다
Oracle Home Folder
Oracle 이 설치된 Program Files 하단의 Oracle 관련 폴더 삭제
Oracle Start Group 삭제 -
예) C:\Documents and Settings\All Users\Start Menu\Programs\Oracle*
- 위의 폴더를 지웠다고 해서 서비스 목록에서 오라클 관련 서비스 목록이 삭제되지는 않습니다
재부팅이 필요합니다
5. 시스템 환경 변수에서 오라클 관련 설정 내용들을 모두 삭제합니다
- System Path 와 user defined Path 모두 해당됩니다
6. 그리고 다음의 정보를 삭제합니다
C:\Windows\assembly\ 의 Oracle.DataAccess 와 xxx Polic.Oracle 을 삭제합니다
이상으로 삭제가 완료되었습니다
새로운 오라클을 시작하기전에 반드시 위의 과정을 거치시는 것을 추천합니다
19.3 기본 Built-in Function
19.3.1 개요
함 수 명 유 형 리턴값 적용버전
---------------------------------------------------------------------------------------------------------
abs 수학 표현식의 절대값
ascii 문자열 표현식의 첫 문자에 대한 ASCII 코드
avg 집계 모든 고유 값의 산술 평균
ceiling 수학 지정된 값보다 크거나 같은 최소 정수
char 문자열 정수와 대등한 문자
charindex 문자열 표현식의 시작 위치를 나타내는 정수를 반환합니다.
char_length 문자열 표현식의 문자 수
col_length 시스템 정의된 열의 길이
convert 데이터 유형변환 다른 데이터 유형 또는 datetime 표시 형식으로 변환된 지정 값
count 집계 null이 아닌 고유한 값의 수
current_date 날짜 현재 날짜를 반환합니다. 12.5.1
current_time 날짜 현재 시간을 반환합니다. 12.5.1
datalength 시스템 지정된 열 또는 문자열의 실제 바이트 단위 길이
dateadd 날짜 주어진 년도, 분기, 시간 또는 기타 날짜 부분을 지정된
날짜에 더하여 만든 날짜
datediff 날짜 두 날짜 표현식 간의 차이
datename 날짜 날짜 표현식에서 지정된 부분의 이름
datepart 날짜 날짜 표현식에서 지정된 부분의 정수 값
day 날짜 지정한 날짜의 datepart에서 날짜를 나타내는 정수를 반환합니다. 12.5.0.3
floor 수학 지정된 값보다 작거나 같은 최대 정수
getdate 날짜 시스템의 현재 날짜 및 시간
hextoint 데이터유형변환 지정된 16진수 문자열에 해당하는 플랫폼 독립 정수
isdate 시스템 Expression이 날짜형식인지 확인합니다. 15.0.1
isnull 시스템 expression1이 NULL로 계산되는 경우 expression2 에 지정된 값으로
대체합니다.
isnumeric 시스템 Expression이 숫자형인지 확인합니다. 15.0.1
ltrim 문자열 선두 공백이 제거된 지정 표현식
left 문자열 문자열의 왼쪽 끝에서부터 지정한 수만큼의 문자를 반환합니다. 12.5.0.3
len 문자열 지정한 문자열 표현식의 바이트 수가 아닌 문자 수를 반환합니다. 12.5.0.3
이 때 후미 공백은 제외됩니다.
max 집계 열의 최고 값
min 집계 열의 최하 값
month 날짜 지정한 날짜의 datepart에서 월을 나타내는 정수를 반환합니다. 12.5.0.3
newid 시스템 Globally Unique ID’s (GUID) 반환 12.5.0.3
patindex 문자열 텍스트 및 이미지 지정된 패턴이 처음 발생한 시작 위치
pi 수학 상수 값 3.1415926535897936
power 수학 지정된 숫자를 주어진 거듭제곱으로 증가시키는 경우 결과 값
radians 수학 지정된 각도의 라디안 단위 각도 크기
rand 수학 지정된 시드 값을 사용하여 생성된 0과 1 사이의 임의 값
replicate 문자열 지정된 횟수만큼 반복되는 표현식으로 구성되는 문자열
reverse 문자열 역순으로 열거된 문자의 지정 문자열
right 문자열 오른쪽에서 지정된 수의 문자를 시작하는 문자 표현식의 일부
round 수학 주어진 소수점 자리로 반올림된 지정된 숫자의 값
rtrim 문자열 후미 공백이 제거된 지정 표현식
space 문자열 지정된 수의 단일 바이트 공간으로 구성되는 문자열
square 수학 float로 표현한 지정 값의 제곱근을 반환합니다. 12.5.0.3
sqrt 수학 지정된 숫자의 제곱근
str 문자열 지정된 숫자와 대등한 문자
str_replace 문자열 첫 번째 문자열 표현식 내에 있는 두 번째 문자열 표현식의 인스턴스를 12.5.0.3
세 번째 표현식으로 대체합니다.
stuff 문자열 특정 문자열에서 지정된 수의 문자를 삭제하고 다른 문자열로 바꾸어
만들어진 문자열
substring 문자열 다른 문자열에서 지정된 수의 문자를 추출하여 만들어진 문자열
sum 집계 값 총계
upper 문자열 지정된 문자열과 대등한 대문자
year 날짜 지정한 날짜의 datepart에서 연도를 나타내는 정수를 반환합니다. 12.5.0.3
19.3.2 사용법
select abs(-1)
select ascii("a")
select avg(advance), sum(total_sales) from titles where type = "business"
select ceiling(123.45)
select char(42)
select charindex("der", "wonderful")
select char_length(notes) from titles where title_id = "PC9999"
select convert(integer, 0x00000100)
select convert(varchar, getdate(), 23)
표 1) 년도를 char 또는 varchar로 변경할 때 사용되는 옵션값
년도 2자리 년도 4자리 형식
----------------------------------------------------------------------------------------------------------
- 또는 0 100 Default
mon dd yyyy, hh:mm AM (or PM)
1 101 USA mm/dd/yy
2 102 SQL standard yy.mm.dd
3 103 English/French dd/mm/yy
4 104 German dd.mm.yy
5 105 dd-mm-yy
6 106 dd mon yy
7 107 mon dd, yy
8 108 HH:mm:ss
- 또는 9 109 Default + milliseconds mon dd yyyy hh:mm:sss AM (or PM)
10 110 USA mm-dd-yy
11 111 Japan yy/mm/dd
12 112 yymmdd
13 113 yy/dd/mm
14 114 mm/yy/dd
15 115 dd/yy/mm
16 116 mon dd yy HH:mm:ss
17 NONE hh:mmAM
18 NONE HH:mm
19 NONE hh:mm:ss:zzzAM
20 NONE hh:mm:ss:zzz
21 NONE yy/mm/dd
22 NONE yy/mm/dd
23 NONE yyyy-mm-ddTHH:mm:ss
select current_date()
select current_time()
select datalength(col1) from table1
select dateadd(hh, 24, "4/1/1979")
select datediff(yy, convert(date, "4/1/1999"), convert(date, "4/1/2000"))
year : yy
quater : qq
week : wk
day : dd
dayofyear : dy
weekday : dw
hour : hh
minute : mi
second : ss
millisecond : ms
select datename(mm, getdate())
select datepart(month, getdate())
select day(getdate())
select floor(123.45)
select getdate()
select hextoint ("0x00000100")
select isdate("20001231")
select isnull(price,0) from titles
select isnumeric("12345")
select ltrim(" aaa")
select left("abc", 1)
select len("abcdefg")
select max(discount) from salesdetail
select min(discount) from salesdetail
select newid(), newid(1), newid(0x0)
select au_id, patindex("%circus%", copy) from blurbs
select pi()
select power(2, 3)
select radians(2578)
select rand()
select replicate("abcd", 3)
select reverse("abcde")
select right("abcde", 3)
select round(123.4545, 2)
select rtrim("aaa ")
select "aaa" + space(5) + "bbb"
select square(5)
select sqrt(25)
select str(12345.1234, 10, 4)
select str_replace("cdefghi","def","yyy")
select stuff("abc", 2, 3, "xyz")
select au_lname, substring(au_fname, 1, 1) from authors
select avg(advance), sum(total_sales) from titles where type = "business"
select upper("abcd")
year("11/02/03")
출처 : www.dbguide.net - ase 프로그래밍 가이드
* START UP
|
* SHUTDOWN
|
* CREATE DATABASE
|
* DROP DATABASE
|
관련글_1
Public Cn As ADODB.Connection
Public Rs As ADODB.Recordset
Public Cstmst As String
Public strConnectionString As String
Private Sub Command1_Click()
Set Cn = New ADODB.Connection
Cn.Open "ODBC; Driver=Sybase SQL Anywhere 6.0;" & _
"Uid=DBA;" & _
"Pwd=SQL;" & _
"Dsn=YkAgDb;"
Set Rs = New ADODB.Recordset
Dim SQL
Dim Mng_cd
SQL = "SELECT mng_cd, cst_nm, zip_no, cst_addr, boss_nm, tel_no, emp_dlv, cst_gb1, cst_gb2, cst_ymd, cst_abc, cst_st FROM dbo.CSTMST WHERE bit_cd4 = 'Y' ORDER BY mng_cd, cst_nm, zip_no, cst_addr, boss_nm, tel_no, emp_dlv, cst_gb1, cst_gb2, cst_ymd, cst_st, cst_abc"
Rs.Open SQL, Cn ' Sql 문으로 레코드 오픈
Open "c:\work\Ykcon.csv" For Output As #1
Do Until Rs.EOF
Mng_cd = Format(Val(Rs!Mng_cd & ""), "000000") 'Rs!Mng_cd
'Retail = Rs!Retail
cst_nm = Rs!cst_nm
zip_no = Rs!zip_no
cst_addr = Rs!cst_addr
boss_nm = Rs!cst_addr
tel_no = Rs!tel_no
emp_dlv = Rs!emp_dlv
cst_gb1 = Rs!cst_gb1
cst_gb2 = Rs!cst_gb2
cst_ymd = Rs!cst_ymd
cst_abc = Rs!cst_abc
cst_st = Rs!cst_st
폼어느 위치에다가 선언을 해줘야 하나여?? 처음 폼형식에서 선언해줘야 하는건가여?
관련글_2
1. sybase odbc 드라이브를 구하세요...
( 못구하시면 mail 보내시면 보내드릴께요 용량이 14M가 넘어서 파일첨부에 되지 않습니다)
2. setup으로 설치하십시오
3. dsedit를 실행하십시오
4. 확인
5. 화면의 왼쪽부분(server 부분 아래 빈공간)에서 오른쪽 마우스를 누르시고 add를 선택하십시오
6. 서버이름을 지정하시고요
7. 오른쪽 Server address 부분에 sybase서버 ip와 포트를 입력하세요
(ex : 211.2.100.3,3035) 반드시 ip와 포트 사이에 콤마를 쓰셔야함....
8. 번개 모양의 아이콘 (ping server임) 으로 test하여 성공하여야 합니다
9. dsedit종료하시고요
10. 제어판의 odbc관리자에 시스템 dns에 설정하세요...... (꼭 필요한 것만 하면되요...)
애고 잘모르는데 설명 해들릴려니깐 힘드네요.....
위에 처럼 하시면 됩니다..
안되시면 메일 주세요....
관련글_3
일단 Provider가 나오는 경우는 ODBC연결이 아닌 OLEDB로 연결하려는 것 같은데
Sybase는 Oracle이나 MS-SQL가 달리 VB에서 기본으로 제공하지는 않습니다..
그리고 Sybase 11버전 까지는 OLEDB가 지원되지 않고 Syabse12부터 지원이 됩니다,,,,
일단 Sybase Open Client버전이 11이하이면 www.sybase.co.kr에서 Open Client 12.5버전을
개발환경에 새로 인스톨하시고 그러면 그 안에 OLEDB라는 폴더가 생깁니다...
OLEDB폴더 안에 sydaadm.exe를 실행시켜 Server를 지정합니다..
(지정하는 방법은 ODBC와 비슷)그리고 그리고 Proveider명은
Provider =Sybase.ASEOLEDBProvider.2입니다..
예) DB Server IP=111.111.111.111, Port=5000
Data Sourcer Name = TEST(sydaadm.exe에서 생성)
User Id = Test, Password = 123456
DB명 = TestDB라고 하면
VB에서 Connection String은
sCnSvr1 = "Provider=Sybase.ASEOLEDBProvider.2;Initial Catalog=TestDB;Password=123456;"
sCnSvr1 = sCnSvr1 + "User Id=Test;Data Source=Test;Server Name=111.111.111.111;"
sCnSvr1 = sCnSvr1 + "Server Port Address=5000"
이라고 사용
위에서 ServerName은 반드시 IP주소로 표시
더 자세한 문의는 메일로 연락바람.....(저도 처음에 Sybase OLEDB연결 때문에 고생 많이함..ㅠ.ㅠ)
관련글_4
ADO연결 방식으로 Sybase에 연결하여 사용 중입니다.
Set DB = New ADODB.Connection
With DB
.ConnectionString = "UID=**;PWD=******;DSN=******"
.ConnectionTimeout = 30
.CommandTimeout = 120
.Open
End With
Set Rs = New ADODB.Recordset
S_SQL = "select a.ab, ... from aaa a, bbb b where ... ... order by a.cont_no, b.cnt"
Rs.Open S_SQL, DB, adOpenStatic, adLockReadOnly
위와 같이 쓰는데요...
건수가 작은 한 5천 미만 건수는 잘 처리 되는데요...
약 5천 건수를 초과하면
-2147217887 (오류코드)
ODBC 드라이버가 요청한 속성을 지원하지 않습니다.
이렇케 되는 군요...
관련글_5
네트웍에 DB를 접속 할려면 Direct가아닌 연결해주는 ODBC를 사용하죠(물론 다른것도 있습니다.)
그래서 직접 jet를 이용해 local의 db를 연결하는것과 좀 다르죠
물론 local도 odbc로 연결이 가능합니다.
그런데 그건 속도의 저하를 가져와 그렇게 사용하는 사람은(거의) 없죠
provider는 mdb를 읽을 드라이버 명이구요
(3.51은 아마도 Access 2000은 인식 못할꺼구요 3.6은 인식합니다. 이러한 차이죠..)
datasource는 당연히 화일명이죠 mdb의 위치...(넘 당연한가..)
adoConnectionString = "dsn=sybaseodbc;" & _
"server=" & adoServerName & ";" & _
"uid=" & adoLoginID & ";" & _
"pwd=" & adoLoginPassword & ";" & _
"database=" & adodefaultDatabaseName
dsn(Dats Source Name) => ODBC에 잡힌 이름이죠, Sybase 접속 할려면 꼭 설정해 줘야 겠죠
server => 당연히 접속할 서버 이름이겠죠..
uid => 접속할 사용자 명이구요
pwd => 이건 패스워드 겠죠
database => DB의 여러 데이터 베이스중 기본으로 접속할 이름을 써주는 곳이죠..
답이 되었는지 모르겠내요..
제가 설명이 좀 그래서..
부족하시면 다시 질문 주세요..
ㅇ Tunning Guide
- DBO만 소유자
- 커서와 View 지양
- View내 '*' 존재시 원 Table 변경시 View Recompile 실시
- SP 지향
- SP 작성시 소유자 명시 : CREATE PROC DBO.SP명
- SP 작성시 DB명 명시 : USE DB명
- SP 작명시 SP외의 접두어 사용
- SP는 'SET NOCOUNT ON'으로 시작
- [Sybase] CREATE Tbl보다 SELECT INTO 구문 지향
- SELECT는 필요한 값만 명시
- COUNT(ColNm)보다 COUNT(*) 사용
- DELETE시 FROM 붙이기(MySQL) : DELETE FROM table_name WHERE ...
- UPDATE시 Index Column은 지양
- JOIN에 의한 UPDATE 지양
- WHERE절은 INDEX 또는 INDEX Hint 사용
- 부정문은 긍정문으로 수정
- <, >, = 사용시 가능한 '=' 포함
- Column 변환 금지
- EXISTS()로 대체가능한 COUNT(*)는 EXISTS() 사용
- LIKE 지양 : 코드 찾기로 유도
- MIN과 MAX 함께 사용 지양
- SUBSTRING 지양 : Table 설계시 분해로 해소
- TRANSACTION에서 사용하는 Table은 타 Program과 비교하여 일관된 순서 적용
- TRANSACTION은 가급적 짧게 관리
ㅇ Archive 정리(query tool 사용)
USE PUBS -- PUBS DB 사용
BACKUP LOG PUBS WITH TRUNCATE_ONLY -- PUBS DB 로그 백업후 삭제
GO
SP_HELPDB PUBS -- PUBS DB 정보 확인(Size 조정전)
DBCC SHRINKFILE(PUBS_LOG,#) -- 줄일 File Size #(단위: MB) 입력
SP_HELPDB PUBS -- PUBS DB 정보 확인(Size 조정후)
※ 관련파일 : MSSQL > Data > xxx_LOG.xxx
ㅇ Sybase Attribute Value
max memory : Max Memory, 1M = 512page
number of locks : 동시 Locking 개수
precedure cache size : SP Cache Size, 1M = 512page
shared memory starting address : DB Start시 할당 된 메모리 할당여부 결정, 1 = 할당영역 확보
statement cache size : Statement cache 사용할 영역
max online engines : OS CPU 개수에 의존적인 DB사용 최대 엔진수
number of engines at startup : DB Start시 Start할 엔진 수
ㅇ 기타
※ Oracle : Ora, Sybase : Syb
ABS() : 절대값
AS : [MS, Syb]Alias
AS : [Ora]Column Alias 만 가능
AVG() : 평균값
ALTER TABLE TblNm ADD ColNm ColType(#) : TblNm에 ColNm Add
BACKUP DATABASE DB명 TO DISK = '디스크:\경로\백업파일명' : DB Backup
BEGIN TRAN : Transaction 시작
BEGIN TRANSACTION...COMMIT TRANSACTION : Transaction 처리
CASE .. WHEN .. THEN .. ELSE .. END : [Syb,MS] 조건 분기
SQL Query 참고사항
ㅇ Tunning Guide
- DBO만 소유자
- 커서와 View 지양
- View내 '*' 존재시 원 Table 변경시 View Recompile 실시
- SP 지향
- SP 작성시 소유자 명시 : CREATE PROC DBO.SP명
- SP 작성시 DB명 명시 : USE DB명
- SP 작명시 SP외의 접두어 사용
- SP는 'SET NOCOUNT ON'으로 시작
- [Sybase] CREATE Tbl보다 SELECT INTO 구문 지향
- SELECT는 필요한 값만 명시
- COUNT(ColNm)보다 COUNT(*) 사용
- DELETE시 FROM 붙이기(MySQL) : DELETE FROM table_name WHERE ...
- UPDATE시 Index Column은 지양
- JOIN에 의한 UPDATE 지양
- WHERE절은 INDEX 또는 INDEX Hint 사용
- 부정문은 긍정문으로 수정
- <, >, = 사용시 가능한 '=' 포함
- Column 변환 금지
- EXISTS()로 대체가능한 COUNT(*)는 EXISTS() 사용
- LIKE 지양 : 코드 찾기로 유도
- MIN과 MAX 함께 사용 지양
- SUBSTRING 지양 : Table 설계시 분해로 해소
- TRANSACTION에서 사용하는 Table은 타 Program과 비교하여 일관된 순서 적용
- TRANSACTION은 가급적 짧게 관리
ㅇ Archive 정리(query tool 사용)
USE PUBS -- PUBS DB 사용
BACKUP LOG PUBS WITH TRUNCATE_ONLY -- PUBS DB 로그 백업후 삭제
GO
SP_HELPDB PUBS -- PUBS DB 정보 확인(Size 조정전)
DBCC SHRINKFILE(PUBS_LOG,#) -- 줄일 File Size #(단위: MB) 입력
SP_HELPDB PUBS -- PUBS DB 정보 확인(Size 조정후)
※ 관련파일 : MSSQL > Data > xxx_LOG.xxx
ㅇ Sybase Attribute Value
max memory : Max Memory, 1M = 512page
number of locks : 동시 Locking 개수
precedure cache size : SP Cache Size, 1M = 512page
shared memory starting address : DB Start시 할당 된 메모리 할당여부 결정, 1 = 할당영역 확보
statement cache size : Statement cache 사용할 영역
max online engines : OS CPU 개수에 의존적인 DB사용 최대 엔진수
number of engines at startup : DB Start시 Start할 엔진 수
ㅇ 기타
※ Oracle : Ora, Sybase : Syb
ABS() : 절대값
AS : [MS, Syb]Alias
AS : [Ora]Column Alias 만 가능
AVG() : 평균값
ALTER TABLE TblNm ADD ColNm ColType(#) : TblNm에 ColNm Add
BACKUP DATABASE DB명 TO DISK = '디스크:\경로\백업파일명' : DB Backup
BEGIN TRAN : Transaction 시작
BEGIN TRANSACTION...COMMIT TRANSACTION : Transaction 처리
CASE .. WHEN .. THEN .. ELSE .. END : [Syb,MS] 조건 분기
CEIL() : [Ora] 올림
CEILING() : [Syb] 올림
FLOOR() : [Syb] 버림
CHR() : [Ora] Data를 Character로 변환
CHAR() : [Syb] Data를 Character로 변환
COMMIT : Transation 처리 및 저장
CONVERT(INT,VarNm); : [Syb] VarNm을 Int화
CONVERT(VARCHAR(10),GETDATE(),101) : [Syb] mm/dd/yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),102) : [Syb] yyyy.mm.dd 로 변경
CONVERT(VARCHAR(10),GETDATE(),103) : [Syb] dd/mm/yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),104) : [Syb] dd.mm.yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),105) : [Syb] dd-mm-yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),106) : [Syb] dd mm yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),107) : [Syb] mm dd, yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),108) : [Syb] hh:mi:ss 로 변경
CONVERT(VARCHAR(10),GETDATE(),109) : [Syb] mm dd yyyy h:mi:ss:??PM/AM로 변경
CONVERT(VARCHAR(10),GETDATE(),110) : [Syb] mm-dd-yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),111) : [Syb] yyyy/mm/dd 로 변경
CONVERT(VARCHAR(10),GETDATE(),112) : [Syb] yyyymmdd 로 변경
CONVERT(VARCHAR(10),GETDATE(),113) : [Syb] yy mm yyyy hh:mm:ss:???로 변경
CONVERT(VARCHAR(10),GETDATE(),114) : [Syb] hh:mm:ss:??? 로 변경
CREATE TABLE TblNm ( Col1 ColType(#) NOT NULL, ..) : TblNm Create
CREATE TABLE TblNm ( Col1 ColType(#) default 값, ..) : [Syb] TblNm Create, Defualt 값 부여
DATALENGTH() : [Syb] 문자열 길이
DATEADD(DAY, ±일, GETDATE()) : [Syb] 금일 ±일 더하기
DATEADD(MONTH, ±월, GETDATE()) : [Syb] 금월 ±월 더하기
DATEADD(YEAR, ±년, GETDATE()) : [Syb] 금년 ±년 더하기
DATEDIFF() : [Syb] Date간 차이
DECLARE @@VarNm char(10) : [Syb] Grobal 변수 선언
DECLARE @VarNm char(10) : [Syb] Local 변수 선언
DECODE() : [Ora] Case문 대체
DUMP DATABASE DB_Nm FROM "/PathNM/FileNm.dmp" : [Syb] DB Backup
exec sp_rename 'TblNm.ColNm','NewColNm','column' : [Syb] ColNm수정
EXEC sp_helpdb DBMS_Nm : [Syb] DBMS size, owner 정보
EXEC sp_primarykey TblNm, Col1, Col2 : TblNm에 Col1, Col2를 PK로 지정
exec sp명 parameter값 : [Syb] Sp 구동
EXISTS (SELECT Col FROM Tbl Where Tbl.Col = Tbl2.Col : [Syb] 복수개의 SELECT 값 비교
FROM Tbl1 = Tbl2(+) : [Ora] Left Outer Join
FROM Tbl1 *= Tbl2 : [Syb] Left Outer Join
GETDATE() : [Syb,MS] 현 시간
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[sp_MNG_ATTD_REC_I]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
: Object 존재유무 확인
INSERT INTO TblNm VALUES('V1','V2') : V1, V2를 TblNm에 추가
INSERT INTO TblNM SELECT ... : [Syb] 조회결과 INSERT
ISNULL() : [Syb] Null을 타 문자로 치환
isql -U사용자ID -P패스워드 -i입력파일 -o출력파일 : [Syb]쿼리 결과 파일로 만들기
LEN() : [Syb] 문자열 길이
LENGTH() : [Ora] 문자열 길이
LOAD DATABASE DB_Nm FROM "/PathNm/FileNm.dum" : [Syb]에서 DB Restore
LOWER() : 소문자로 변환
LOWNUM : [Ora] 행의 갯수 제한시 사용
LTRIM() : [Syb] Left 공란 제거
MAX() : 최대값
MIN() : 최소값
NVL() : [Ora]에서 Null을 타 문자로 치환
print "%1!", @변수명 : [Syb] SP의 변수 출력하기
RAND() : [Syb]에서 난수 구하기
REPLACE() : [Ora]에서 문자치환
ROLLBACK : Transaction 처리 취소
RTRIM() : [Syb] Right 공란 제거
SELECT * FROM #TmpTblNm : [Syb] 임시 테이블 사용
SELECT * FROM TblNm < FlNm.sql > FlNm2.out : [Syb] FlNm.sql 결과 → FlNn2.out
SELECT db_name() : [Syb]현재 Login DB명 Display
SELECT CONVERT(CHAR(10), GETDATE(), 126) : Date Type → Char(10) Type
SELECT CONVERT(CHAR(10), GETDATE(), 112) : Date Type → Char(10) Type
SELECT * INTO NewTblNm FROM OldTblNm : [Syb] CREATE Tbl, INSERT Tbl
SELECT ROWNUM = IDENTITY(9) : [Syb] Oracle Rownum 따라하기
, ColNm
INTO #T
FROM TblNm
SET IDENTITY_INSERT TblNm ON : Identity Column 수정 가능
SET ROWCOUNT # : [Syb] #건만큼 반환
sp_cacheconfig "default data cache" : [Syb] 할당된 Default Data Cache 조회
sp_configure "number of user connections",100 : [Syb] 동시 접속자 100명
sp_configure "lock scheme",0,"datarows : [Syb] Row Level Locking
sp_help : [Syb] 현재 Login Table 조회
sp_help Tbl_Nm : [Syb] Tbl_Nm 정보 조회
sp_helpdb DB_Nm : [Syb] DB_Nm 정보조회
sp_lock : [Syb]Locking정보 Display
sp_who : [Syb] 접속된 Process
STR() : [Syb] Numeric을 Char로 변환
STUFF() : [Syb] 문자치환
SUBSTR() : [Ora] Substring
SUBSTRING() : [Syb] Substring
SUM() : 합계
SYSDATE : [Ora] 현 시간
TO_CHAR() : [Ora] Data을 Char로 변환
TO_DATE() : [Ora] Data을 Date로 변환
TO_NUMBER() : [Ora] Data을 Numeric로 변환
TOP 1 : [Syb] 첫 Row Return
TRUNCATE TABLE TblNm : TblNm의 모든 데이터 삭제
UNION : SELECT 결과 APPEND - 교집합
UNION ALL : SELECT 결과 APPEND
UPDATE TblNm SET Col1='xxx', Col2='yyy' : TblNm의 Col1, Col2 Update
UPDATE STATISTICS TblNM : TblNm 통계 갱신
UPDATE Tbl1 : [Syb] Join Update
Set Col1 = Col2
FROM Tbl1 INNER JOIN Tbl2
ON Tbl1.Key1 = Tbl2.Key2
UPPER() : 대문자로 변환
USE DB_Nm : DB_nm으로 이동
CHR() : [Ora] Data를 Character로 변환
CHAR() : [Syb] Data를 Character로 변환
COMMIT : Transation 처리 및 저장
CONVERT(INT,VarNm); : [Syb] VarNm을 Int화
CONVERT(VARCHAR(10),GETDATE(),101) : [Syb] mm/dd/yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),102) : [Syb] yyyy.mm.dd 로 변경
CONVERT(VARCHAR(10),GETDATE(),103) : [Syb] dd/mm/yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),104) : [Syb] dd.mm.yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),105) : [Syb] dd-mm-yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),106) : [Syb] dd mm yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),107) : [Syb] mm dd, yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),108) : [Syb] hh:mi:ss 로 변경
CONVERT(VARCHAR(10),GETDATE(),109) : [Syb] mm dd yyyy h:mi:ss:??PM/AM로 변경
CONVERT(VARCHAR(10),GETDATE(),110) : [Syb] mm-dd-yyyy 로 변경
CONVERT(VARCHAR(10),GETDATE(),111) : [Syb] yyyy/mm/dd 로 변경
CONVERT(VARCHAR(10),GETDATE(),112) : [Syb] yyyymmdd 로 변경
CONVERT(VARCHAR(10),GETDATE(),113) : [Syb] yy mm yyyy hh:mm:ss:???로 변경
CONVERT(VARCHAR(10),GETDATE(),114) : [Syb] hh:mm:ss:??? 로 변경
CREATE TABLE TblNm ( Col1 ColType(#) NOT NULL, ..) : TblNm Create
CREATE TABLE TblNm ( Col1 ColType(#) default 값, ..) : [Syb] TblNm Create, Defualt 값 부여
DATALENGTH() : [Syb] 문자열 길이
DATEADD(DAY, ±일, GETDATE()) : [Syb] 금일 ±일 더하기
DATEADD(MONTH, ±월, GETDATE()) : [Syb] 금월 ±월 더하기
DATEADD(YEAR, ±년, GETDATE()) : [Syb] 금년 ±년 더하기
DATEDIFF() : [Syb] Date간 차이
DECLARE @@VarNm char(10) : [Syb] Grobal 변수 선언
DECLARE @VarNm char(10) : [Syb] Local 변수 선언
DECODE() : [Ora] Case문 대체
DUMP DATABASE DB_Nm FROM "/PathNM/FileNm.dmp" : [Syb] DB Backup
exec sp_rename 'TblNm.ColNm','NewColNm','column' : [Syb] ColNm수정
EXEC sp_helpdb DBMS_Nm : [Syb] DBMS size, owner 정보
EXEC sp_primarykey TblNm, Col1, Col2 : TblNm에 Col1, Col2를 PK로 지정
exec sp명 parameter값 : [Syb] Sp 구동
EXISTS (SELECT Col FROM Tbl Where Tbl.Col = Tbl2.Col : [Syb] 복수개의 SELECT 값 비교
FROM Tbl1 = Tbl2(+) : [Ora] Left Outer Join
FROM Tbl1 *= Tbl2 : [Syb] Left Outer Join
GETDATE() : [Syb,MS] 현 시간
IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[sp_MNG_ATTD_REC_I]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
: Object 존재유무 확인
INSERT INTO TblNm VALUES('V1','V2') : V1, V2를 TblNm에 추가
INSERT INTO TblNM SELECT ... : [Syb] 조회결과 INSERT
ISNULL() : [Syb] Null을 타 문자로 치환
isql -U사용자ID -P패스워드 -i입력파일 -o출력파일 : [Syb]쿼리 결과 파일로 만들기
LEN() : [Syb] 문자열 길이
LENGTH() : [Ora] 문자열 길이
LOAD DATABASE DB_Nm FROM "/PathNm/FileNm.dum" : [Syb]에서 DB Restore
LOWER() : 소문자로 변환
LOWNUM : [Ora] 행의 갯수 제한시 사용
LTRIM() : [Syb] Left 공란 제거
MAX() : 최대값
MIN() : 최소값
NVL() : [Ora]에서 Null을 타 문자로 치환
print "%1!", @변수명 : [Syb] SP의 변수 출력하기
RAND() : [Syb]에서 난수 구하기
REPLACE() : [Ora]에서 문자치환
ROLLBACK : Transaction 처리 취소
RTRIM() : [Syb] Right 공란 제거
SELECT * FROM #TmpTblNm : [Syb] 임시 테이블 사용
SELECT * FROM TblNm < FlNm.sql > FlNm2.out : [Syb] FlNm.sql 결과 → FlNn2.out
SELECT db_name() : [Syb]현재 Login DB명 Display
SELECT CONVERT(CHAR(10), GETDATE(), 126) : Date Type → Char(10) Type
SELECT CONVERT(CHAR(10), GETDATE(), 112) : Date Type → Char(10) Type
SELECT * INTO NewTblNm FROM OldTblNm : [Syb] CREATE Tbl, INSERT Tbl
SELECT ROWNUM = IDENTITY(9) : [Syb] Oracle Rownum 따라하기
, ColNm
INTO #T
FROM TblNm
SET IDENTITY_INSERT TblNm ON : Identity Column 수정 가능
SET ROWCOUNT # : [Syb] #건만큼 반환
sp_cacheconfig "default data cache" : [Syb] 할당된 Default Data Cache 조회
sp_configure "number of user connections",100 : [Syb] 동시 접속자 100명
sp_configure "lock scheme",0,"datarows : [Syb] Row Level Locking
sp_help : [Syb] 현재 Login Table 조회
sp_help Tbl_Nm : [Syb] Tbl_Nm 정보 조회
sp_helpdb DB_Nm : [Syb] DB_Nm 정보조회
sp_lock : [Syb]Locking정보 Display
sp_who : [Syb] 접속된 Process
STR() : [Syb] Numeric을 Char로 변환
STUFF() : [Syb] 문자치환
SUBSTR() : [Ora] Substring
SUBSTRING() : [Syb] Substring
SUM() : 합계
SYSDATE : [Ora] 현 시간
TO_CHAR() : [Ora] Data을 Char로 변환
TO_DATE() : [Ora] Data을 Date로 변환
TO_NUMBER() : [Ora] Data을 Numeric로 변환
TOP 1 : [Syb] 첫 Row Return
TRUNCATE TABLE TblNm : TblNm의 모든 데이터 삭제
UNION : SELECT 결과 APPEND - 교집합
UNION ALL : SELECT 결과 APPEND
UPDATE TblNm SET Col1='xxx', Col2='yyy' : TblNm의 Col1, Col2 Update
UPDATE STATISTICS TblNM : TblNm 통계 갱신
UPDATE Tbl1 : [Syb] Join Update
Set Col1 = Col2
FROM Tbl1 INNER JOIN Tbl2
ON Tbl1.Key1 = Tbl2.Key2
UPPER() : 대문자로 변환
USE DB_Nm : DB_nm으로 이동
sybase>$isql -Usa
use master
go
# size 단위는 block (1024 = 2M) 이다. 500000 은 약 1G
disk init name = "TMS_DEV", physname = "/datafile/sybase/dev/TMS_DEV.dat", size = 500000
go
disk init name = "TMS_LOG", physname = "/datafile/sybase/dev/TMS_LOG.dat", size = 50000
go
# size 단위는 Mbyte
create database TMS on TMS_DEV = 1024 log on TMS_LOG = 100
go
sp_addlogin tmsadmin, tmsadmin, TMS
go
use TMS
go
sp_changedbowner tmsadmin, true
go
use master
go
sp_dboption TMS, "trunc log on chkpt", true
go
use TMS
go
checkpoint
go
use master
go
sp_dboption TMS, "allow nulls by default", true
go
use TMS
go
checkpoint
go
use master
go
sp_dboption TMS, "select into/bulkcopy/pllsort", true
go
use TMS
go
checkpoint
go
use master
go
sp_dboption TMS, "abort tran on log full", true
go
use TMS
go
checkpoint
go
sp_activeroles :
사용자의 로그인에 부여된 현재 롤(role)을 모두 표시합니다.
sp_addalias:
Adaptive Server 사용자가 데이터베이스에서 다른 사용자 이름으로 인식되는 것을 허용합니다.
sp_addauditrecord :
사용자가 사용자 정의 감사 레코드(주석)를 감사 기록에 입력하는 것을 허용합니다.
sp_addaudittable:
감사 기능을 설치한 후 다른 시스템 감사 테이블을 추가합니다.
sp_addengine :
엔진을 기존 엔진 그룹에 추가하거나, 엔진 그룹이 없으면 엔진 그룹을 만들어 엔진을 추가합니다.
sp_addexeclass :
클라이언트 응용 프로그램, 로그인, 내장 프로시저에 바인드할 수 있는 사용자 정의 실행 클래스를 만들거나 업데이트합니다.
sp_addextendedproc :
확장 내장 프로시저(ESP)를 master 데이터베이스에 만듭니다.
sp_addexternlogin :
CIS(Component Integration Services)를 통해 원격 서버와 통신할 때 사용할 대체 로그인 계정과 암호를 만듭니다.
sp_addgroup :
그룹을 데이터베이스에 추가합니다. 그룹은 권한을 부여하거나 취소할 때 집합적 이름으로 사용됩니다.
sp_addlanguage :
대체 언어의 월과 요일의 이름과 날짜 형식을 정의합니다.
sp_addlogin :
새 사용자 계정을 Adaptive Server에 추가합니다.
sp_addmessage :
내장 프로시저 print와 raiserror 호출과 sp_bindmsg에서 사용할 수 있도록 사용자 정의 메시지를 sysusermessages에 추가합니다.
sp_addobjectdef :
로컬 테이블과 외부 저장 위치 사이의 매핑을 지정합니다.
sp_add_qpgroup :
Abstract Plan(AP) 그룹을 추가합니다.
sp_addremotelogin : master.dbo.sysremotelogins에 엔트리를 추가하여 원격 서버 사용자에게 권한을 부여합니다.
sp_add_resource_limit :
질의나 질의 배치, 트랜잭션을 실행할 때 로그인이나 응용 프로그램에서 사용할 수 있는 서버 자원의 양에 대한 제한을 만듭니다.
sp_addsegment :
현재 데이터베이스의 데이터베이스 디바이스에 세그먼트를 정의합니다.
sp_addserver :
원격 서버를 정의하거나 로컬 서버의 이름을 정의합니다.
sp_addthreshold :
데이터베이스 세그먼트에 있는 공간을 모니터하기 위한 임계값을 만듭니다. 세그먼트의 여유 공간이 지정한 수준 아래로 내려가면, Adaptive Server는 연관된 내장 프로시저를 실행합니다.
sp_add_time_range :
이름이 지정된 시간 범위를 Adaptive Server에 추가합니다.
sp_addtype :
사용자 정의한 데이터 유형을 만듭니다.
sp_addumpdevice :
덤프 디바이스를 Adaptive Server에 추가합니다.
sp_adduser :
새 사용자를 현재 데이터베이스에 추가합니다.
sp_altermessage :
특정 시스템 정의 메시지나 사용자 정의 메시지를 Adaptive Server 에러 로그에 기록할 수 있게 하거나 기록할 수 없게 합니다.
sp_audit :
시스템 보안 담당자가 감사 선택 항목을 구성할 수 있게 해줍니다.
sp_autoconnect :
이름이 지정된 사용자가 로그인할 때 자동으로 passthrough 모드로 들어갈 수 있도록, 특정 사용자에게 원격 서버에 대한 passthrough 연결을 정의해 줍니다.
sp_bindcache :
데이터베이스나 테이블, 인덱스, text 객체, image 객체를 데이터 캐시에 바인드합니다.
sp_bindefault :
사용자 정의 디폴트를 열이나 사용자 정의 데이터 유형에 바인드 합니다.
sp_bindexeclass :
실행 클래스를 클라이언트 응용 프로그램이나 로그인,, 내장 프로시저와 연관시킵니다.
sp_bindmsg :
사용자 메시지를 참조 무결성 제약 조건이나 검사 제약 조건에 바인드합니다.
sp_bindrule :
규칙을 열이나 사용자 정의 데이터 유형에 바인드 합니다.
locksp_cacheconfig :
데이터 캐시에 대한 정보를 만들거나 구성, 다시 구성, 삭제, 제공을 합니다.
sp_cachestrategy :
테이블이나 인덱스 text 객체, image 객체에 대한 MRU 캐시 대체 전략과 프리페치(대량 입/출력)를 가능하게 하거나 가능하지 않게 합니다.
sp_changedbowner :
데이터베이스의 소유자를 변경합니다.
sp_changegroup :
사용자 그룹을 변경합니다.
sp_checknames :
7-비트 ASCII 집합에 없는 문자가 이름에 들어 있는지 현재 데이터베이스를 검사합니다.
sp_checkreswords :
Transact-SQL 예약어인 식별자를 검색하여 표시합니다. 서버 이름과 디바이스 이름, 데이터베이스 이름, 세그먼트 이름, 사용자 정의 데이터 유형, 객체 이름, 열 이름, 사용자 이름, 로그인 이름, 원격 로그인 이름을 검사합니다.
sp_checksource :
컴파일된 객체에 소스 텍스트가 있는지 검사합니다.
sp_chgattribute :
테이블이나 인덱스의 추후 공간 할당을 위해 max_rows_per_page 값을 변경합니다.
sp_clearpsexe :
sp_setpsexe에서 설정한 클라이언트 응용 프로그램, 로그인, 내장 프로시저의 실행 속성을 지웁니다.
sp_clearstats :
모든 서버 사용자나 지정한 사용자에 대한 새 계정 기간을 시장합니다. sp_reportstats를 실행하여 이전 기간 동안의 통계를 인쇄합니다.
sp_cmp_all_qplans :
모든 Abstract Plan(AP)을 두 개의 Abstract Plan(AP) 그룹에서 비교합니다.
sp_cmp_qplans : 두 개의 Abstract Plan(AP)을 비교합니다.
sp_commonkey :
두 개의 테이블이나 뷰 사이의 자주 조인되는 common 키 열을 정의합니다.
sp_companion :
Adaptive Server를 고가용성(HA) 시스템의 보조 companion으로 구성하고 companion 서버를 한 failover 모드에서 다른 모드로 이동하는 등의 클러스터 작업을 수행합니다.
sp_configure : 구성 매개변수를 표시하거나 변경합니다.
sp_copy_all_qplans :
한 Abstract Plan(AP) 그룹의 모든 계획을 다른 그룹으로 복사합니다.
sp_copy_qplan :
한 Abstract Plan(AP) Abstract Plan(AP) 그룹으로 복사합니다.
sp_countmetadata :
Adaptive Server의 인덱스, 객체, 데이터베이스 개수를 표시합니다.
sp_cursorinfo :
사용자 세션에서 활성 중인 특정 커서나 모든 커서에 대한 정보를 보고합니다.
locksp_dboption : 데이터베이스 옵션을 표시하거나 변경합니다.
sp_dbremap :
alter database에서 만든 변경 내용을 Adaptive Server에서 인식하게 만듭니다. Adaptive Server 메시지에서 지시한 경우에만 이 프로시저를 실행합니다.
sp_depends :
특정 테이블이나 뷰에 종속된 뷰, 트리거, 프로시저와 특정 뷰, 트리거, 프로시저가 종속되어 있는 테이블이나 뷰와 가타은 데이터베이스 객체 종속 관계에 대한 정보를 표시합니다.
sp_deviceattr :
기존 데이터베이스 디바이스 파일의 dsync 설정을 변경합니다.
sp_diskdefault :
사용자가 데이터베이스 디바이스를 지정하지 않은 경우 데이터베이스 디바이스를 데이터베이스 저장소로 사용할 수 있는지 여부를 지정하거나, create database나 alter database 명령의 default를 지정합니다.
sp_displayaudit : 감사 선택 항목의 상태를 표시합니다.
sp_displaylevel :
sp_configure 출력에 나타나야 할 Adaptive Server 구성 매개변수를 설정하거나 표시합니다.
sp_displaylogin : 로그인 계정에 대한 정보를 표시합니다.
sp_displayroles :
다른 롤(role)에 부여된 모든 롤(role)을 표시하거나 롤(role)의 전체 계층 트리를 표 형식으로 표시합니다.
sp_dropalias :
sp_addalias를 사용하여 설정했던 가명(alias) 사용자 이름을 삭제 합니다.
sp_drop_all_qplans :
모든 Abstract Plan(AP)을 Abstract Plan(AP) 그룹에서 삭제합니다.
sp_dropdevice :
Adaptive Server 데이터베이스 디바이스나 덤프 디바이스를 삭제 합니다.
sp_dropengine :
지정한 엔진 그룹에서 엔진을 삭제하거나 해당 엔진이 그룹의 마지막 엔진인 경우 엔진 그룹을 삭제합니다.
sp_dropexeclass : 사용자 정의 실행 클래스를 삭제합니다.
sp_dropextendedproc : Master database에서 ESP를 삭제합니다.
sp_dropglockpromote :
데이터베이스나 테이블에서 lock 실행 값을 삭제합니다.
sp_dropgroup : 데이터베이스에서 그룹을 삭제합니다.
sp_dropkey :
syskeys 테이블에서 sp_primarykey나 sp_foreignkey, sp_commonkey로 정의한 키를 삭제합니다.
sp_droplanguage :
서버에서 대체 언어를 삭제하고 해당 행을 master.dbo.syslanguages에서 삭제합니다.
sp_droplogin :
사용자 엔트리를 master.dbo.syslogins에서 삭제하여 Adaptive Server 사용자 로그인을 삭제합니다.
sp_dropmessage : 사용자 정의 메시지를 sysusermessages에서 삭제합니다.
sp_drop_qpgroup : Abstract Plan(AP) 그룹을 삭제합니다.
sp_drop_qplan : Abstract Plan(AP)을 삭제합니다.
sp_dropremotelogin : 원격 사용자 로그인을 삭제합니다.
sp_drop_resource_limit :
하나 이상의 자원 제한값을 Adaptive Server에서 삭제합니다.
sp_dropsegment :
데이터베이스에서 세그먼트를 삭제하거나 세그먼트를 특정 데이터베이스 디바이스에서 매핑 해제합니다.
sp_dropserver : 알려진 서버 목록에서 서버를 삭제합니다.
sp_dropthreshold : 세그먼트에서 여유 공간 임계값을 삭제합니다.
sp_drop_time_range :
Adaptive Server에서 사용자 정의 시간 범위를 삭제합니다.
sp_droptype : 사용자 정의 테이터 유형을 삭제합니다.
sp_dropuser : 현재 데이터베이스에서 사용자를 삭제합니다.
sp_dumpoptimize :
데이터베이스 덤프 작업 중에 Backup Server에서 덤프하는 데이터 크기를 지정합니다.
sp_estspace :
테이블과 테이블 인덱스에 필요한 공간의 크기와 인덱스를 만드는데 필요한 시간을 추정합니다.
sp_export_qpgroup :
지정한 사용자와 Abstract Plan(AP) 그룹에 대한 모든 계획을 사용자 테이블로 내보냅니다.
sp_extendsegment :
세그먼트의 범위를 다른 데이터베이스 디바이스로 확장합니다.
sp_familylock :
구문을 병렬로 실행하는 패밀리(조정 프로세스와 작업자 프로세스)에서 보유하는 모든 lock에 대한 정보를 보고합니다.
sp_find_qplan :
질의 텍스트나 계획 텍스트에서 파생된 패턴인, Abstract Plan(AP)을 찾습니다.
sp_flushstats :
메모리내에서 systabstats 시스템 테이블로 통계를 전달합니다.
sp_forceonline_db :
복구로 인해 오프라인으로 전환되었던 데이터베이스의 모든 페이지에 대한 액세스를 제공합니다.
sp_forceonline_page :
복구로 인해 오프라인으로 전환되었던 페이지에 대한 액세스를 제공합니다.
sp_foreignkey : 현재 데이터베이스의 테이블이나 뷰에 외부키를 정의합니다.
sp_freedll :
ESP 실행을 지원하기 위해 XP Server 메모리에 로드되었던 동적 연결 라이브러리(DLL)를 언로드합니다.
sp_getmessage :
print와 raiserror 문의 sysmessages와 sysusermessages에서 저장 메시지 문자열을 검색합니다.
sp_grantlogin :
Windows NT 전용으로 통합 보안 모드나 혼합 모드(Named
Pipes를 사용하여)가 활성화되어 있으면 Adaptive Server 롤(role)이나 default 권한을 Windows NT 사용자 및 그룹에 할당합니다.
sp_ha_admin :
고가용성(HA) 시스템에서 Sybase failover로 구성되어 있는 Adaptive Server에 관리 작업을 수행합니다. sp_ha_admin은 installhavss 스크립트(Windows NT에서는 insthasv)와 함께 설치됩니다.
sp_help :
데이터베이스 객체(sysobjects에 나열되어 있는 모든 객체)에 대한 정보와 Adaptive Server 제공 데이터 유형이나 사용자 정의 데이터 유형에 대한 정보를 보고합니다.
sp_helpartition :
partition 테이블의 각 partition에 대한 첫 페이지와 컨트롤 페이지를 나열합니다.
sp_helpcache :
데이터 캐시에 바운드되어 있는 객체에 대한 정보나 지정한 캐시 크기에 필요한 오버헤드 크기에 대한 정보를 표시합니다.
sp_helpdb :
특정 데이터베이스나 모든 데이터베이스에 대한 정보를 보고합니다.
sp_helpdevice :
특정 디바이스에 대한 정보나 모든 Adaptive Server 데이터베이스 디바이스와 덤프 디바이스에 대한 정보를 보고합니다.
sp_helpextendedproc :
현재 데이터베이스에 등록된 ESP를 관련 DLL 파일과 함께 표시합니다.
sp_helpexternlogin :
CIS(Component Integration Services) 전용으로 외부 로그인 이름에 대한 정보를 보고합니다.
sp_helpgroup :
현재 데이터베이스의 모든 그룹에 대한 정보나 특정 그룹에 대한 정보를 보고합니다.
sp_helpindex : 테이블에 만든 인덱스에 대한 정보를 보고합니다.
sp_helpjava :
데이터베이스에 설치되어 있는 Java 클래스와 관련 JAR에 대한 정보를 표시합니다.
sp_helpjoins :
조인 대상이 될 가능성이 있는 두 개의 테이블이나 뷰의 열을 나열 합니다.
sp_helpkey :
특정 테이블이나 뷰의 Primary 키, 외부키, common 키에 대한 정보나 현재 데이터베이스의 모든 키에 대한 정보를 보고합니다.
sp_helplanguage : 특정 대체 언어나 모든 언어에 대한 정보를 보고합니다.
sp_helplog :
트랜잭션 로그의 첫 페이지가 들어 있는 디바이스의 이름을 보고합니다.
sp_helpobjectdef :
CIS(Component Integration Services) 전용으로 원격 객체 정의에 대한 정보를 보고합니다. 소유자, 객체, 유형, 정의를 표시합니다.
sp_help_qpgroup : Abstract Plan(AP) 그룹에 대한 정보를 보고합니다.
sp_help_qplan : Abstract Plan(AP)에 대한 정보를 보고합니다.
sp_helpremotelogin :
특정 원격 서버의 로그인이나 모든 원격 서버의 로그인에 대한 정보를 보고합니다.
sp_help_resource_limit :
모든 자원 제한값이나 주어진 로그인이나 응용 프로그램에 대한 제한값, 주어진 시간이나 요일에 유효한 제한값, 주어진 범위나 작업의 제한값에 대한 정보를 보고합니다.
sp_helprotect :
데이터베이스 객체, 사용자, 그룹, 롤(role)에 대한 권한을 보고합니다.
sp_helpsegment :
현재 데이터베이스의 모든 세그먼트나 특정 세그먼트에 대한 정보를 보고합니다.
sp_helpserver : 특정 원격 서버나 모든 원격 서버에 대한 정보를 보고합니다.
sp_helpsort :
Adaptive Server의 기본 정렬 순서와 문자 집합을 표시합니다.
sp_helptext :
시스템 프로시저나 트리거, 뷰, 디폴트, 규칙 무결성 검사 제약 조건의 텍스트를 인쇄합니다.
sp_helpthreshold :
현재 데이터베이스의 모든 임계값이나 특정 세그먼트의 모든 임계값과 관련된 세그먼트, 여유 공간 값, 상태, 내장 프로시저를 보고합니다.
sp_helpuser :
현재 데이터베이스의 모든 사용자나 특정 사용자에 대한 정보를 보고합니다.
sp_import_qpgroup :
Abstract Plan(AP)을 사용자 테이블에서 Abstract Plan(AP) 그룹으로 가져옵니다.
sp_indsuspect :
정렬 순서 변경을 한 후 복구 중에 추정으로 표시된 인덱스가 있는지 사용자 테이블에서 검사합니다.
sp_listsuspect_db :
복구 시 손상으로 인해 오프라인 페이지가 들어 있는 데이터베이스를 모두 나열합니다.
sp_listsuspect_page :
복구 시 손상으로 인해 현재 오프라인 페이자가 들어 있는 페이지를 모두 나열합니다.
sp_lock : 현재 lock을 보유하고 있는 프로세스에 대한 정보를 보고합니다.
sp_locklogin :
사용자가 로그인할 수 없게 Adaptive Server 계정을 잠그거나 모든 잠궈진 계정의 목록을 표시합니다.
sp_logdevice :
로그 및 데이터를 같은 디바이스에 가지고 있는 데이터베이스의 트랜잭션 로그를 별개의 데이터베이스 디바이스로 이동합니다.
sp_loginconfig :
Windows NT 전용으로 하나 또는 모든 통합 보안 매개변수의 값을 표시합니다.
sp_logininfo :
Windows NT 전용으로 sp_grantlogin을 사용하여 Windows NT 사용자와 그룹에 부여된 모든 롤(role)을 표시합니다.
sp_logiosize :
Adaptive Server에서 현재 데이터베이스의 트랜잭션 로그에 대한 입/출력을 할 때 사용하는 로그 입/출력 크기를 다른 메모리 풀로 변경합니다.
sp_modifylogin :
Adaptive Server 로그인 계정의 Primary database나 기본 언어, 기본 롤 (role) 사용이나 전체 이름을 수정합니다.
sp_modify_resource_limit :
새 제한값을 지정하거나 제한값이 초과했을 때 취할 조치 또는 둘을 모두 지정하여 자원 제한값을 변경합니다.
sp_modifythreshold :
임계값을 다른 임계값 프로시저와 여유 공간 수준, 세그먼트 이름과 연결하여 수정합니다. sp_modifythreshold를 사용하여 마지막 임계값의 세그먼트 이름이나 여유 공간 크기를 변경 할 수 없습니다.
sp_modify_time_range :
이름이 지정된 시간 범위와 관련된 시작일, 시작 시간, 종료일, 종료 시간 등을 변경합니다.
sp_monitor : Adaptive Server에 대한 통계를 표시합니다.
sp_password :
Adaptive Server 로그인 계정의 암호를 추가하거나 변경합니다.
sp_placeobject :
테이블이나 인덱스의 추후 공간 할당을 특정 세그먼트에 둡니다.
sp_plan_dbccdb :
새 dbccdb와 dbccalt 데이터베이스의 적합한 크기를 권장하고 dbccdb와 dbccalt의 적절한 디바이스를 나열하며 캐시 크기와 대상 데이터베이스의 작업자 프로세스의 적당한 개수를 제안합니다.
sp_poolconfig :
데이터 캐시 내에서 메모리 풀에 대한 정보를 제공하고, 크기를 다시 조정하고, 삭제하며 만듭니다.
sp_primarykey : 테이블이나 뷰에 Primary 키를 정의합니다.
sp_processmail :
Windows NT 전용으로 Adaptive Server 받은 편지함의 메시지를 읽고 처리하고 전송하며 삭제합니다.
sp_procqmode : 내장 프로시저, 뷰, 트리거의 질의 처리 모드를 표시합니다.
sp_procxmode :
내장 프로시저와 관련된 트랜잭션 모드를 표시하거나 변경합니다.
sp_recompile :
이름이 지정된 테이블을 사용하는 각 내장 프로시저와 트리거가 다음에 실행될 때 다시 컴파일되게 합니다.
sp_remap :
4.8 이상과 10.0 이전의 내장 프로시저나 트리거, 규칙, 디폴트, 뷰가 10.0 이상 릴리스와 호환될 수 있도록 다시 매핑합니다. 릴리스 11.0의 업그레이드 절차에서 다시 매핑하는 데 실패한 11.0 이전 릴리스 객체에 대해서는 sp_remap를 사용하십시오.
sp_remoteoption : 원격 로그인 옵션을 표시하거나 변경합니다.
sp_rename :
현재 데이터베이스에 있는 사용자의 구성 객체나 사용자 정의 데이터 유형의 이름을 변경합니다.
sp_renamedb :
데이터베이스 이름을 변경합니다. 시스템 테이터베이스 이름이나 외부 참조 무결성 제약 조건이 있는 테이터베이스의 이름은 변경 할 수 없습니다.
sp_rename_qpgroup : Abstract Plan(AP) 그룹의 이름을 바꿉니다.
sp_reportstats : 시스템 사용량에 대한 통계를 보고합니다.
sp_revokelogin :
Windows NT 전용으로 통합 보안 모드나 혼합모드(Named Pipes를 사용하여)가 활성화되어 있으면 Windows NT 사용자와 그룹에서 Adaptive Server 롤(role)과 기본 권한을 취소합니다.
sp_role :
Adaptive Server 로그인 계정에 시스템 롤(role)을 부여하거나 취소합니다.
sp_serveroption : 원격 서버 옵션을 표시가거나 변경합니다.
sp_setlangalias : 대체 언어의 가명(alias)을 지정하거나 변경합니다.
sp_setpglockpromote :
데이터베이스나 테이블, Adaptive Server의 lock 실행 임계값을 설정하거나 변경합니다.
sp_setpsexe :
활성 클라이언트 응용 프로그램과 로그인, 내장 프로시저의 사용자 정의 실행 속성을 “바로” 설정합니다.
sp_set_qplan :
연관된 질의를 변경하지 않고 기존 계획의 Abstract Plan(AP) 텍스트를 변경합니다.
sp_setsuspect_granularity : 복구 장애 결리 모드를 표시하고 설정합니다.
sp_setsuspect_threshold :
복수 시, 전체 데이터베이스를 오프라인으로 전환하기 전에 Adaptive Server가 지정한 데이터베이스에서 허용할 최대 추정 페이지 개수를 설정합니다.
sp_showcontrolinfo :
엔진 그룹 할당, 바운드 클라이언트 응용 프로그램, 로그인, 내장 프로시저에 대한 정보를 표시합니다.
sp_showexeclass :
지정한 실행 클래스와 연관된 엔진 그룹의 엔진과 실행 크래스 속성을 표시합니다.
sp_showplan :
현재 SQL 문(또는 같은 배치의 이전 구문)의 사용자 연결에 대한 질의 계획을 표시합니다. 질의 계획은 showplan 형식으로 표시됩니다.
sp_showpsexe :
Adaptive Server에서 실행되는 모든 프로세스에 대한 실행 클래스, 현재 우선 순위, 연결을 표시합니다.
sp_spaceused :
현재 데이터베이스의 한 테이블이나 모든 테이블에서 사용하는 예상 행 수, 예상 데이터 페이지 수 및 예상 공간 값을 표시합니다.
sp_syntax :
Transact-SQL 문의 구문, 시스템 프로시저, 유틸리티, 기타 루틴을 Adaptive Server에 있는 제품과 해당 sp_syntax 스크립트에 따라 표시합니다.
sp_sysmon : 성능 정보를 표시합니다.
sp_thresholdaction :
임계값이 다른 프로시저와 연관되어 있지 않은 경우, 로그 세그먼트의 사용 가능한 페이지 개수가 마지막 임계값 아래로 떨어지면 자동으로ㅗ 실행합니다. Sybase에서는 이 프로시저를 제공하지 않습니다.
sp_transactions :
활성 트랜잭션에 대한 정보를 보고합니다.
sp_unbindcache :
데이터베이스나 테이블, 인덱스, text 객체, image 객체를 데이터 캐시에서 바인드 해제합니다.
sp_unbindcache_all :
캐시에 바운드되어 있는 모든 객체를 바인드 해제합니다.
sp_unbindefault :
생성된 디폴트를 열이나 사용자 정의 데이터 유형에서 바인드 해제합니다.
sp_unbindexeclass :
데이터베이스나 테이블, 인덱스, text 객체나 image 객체를 데이터 캐시에서 바인드 해제합니다.
sp_unbindmsg :
사용자 정의 메시지를 제약 조건에서 바인드 해제합니다.
sp_unbindrule :
규직을 열이나 사용자 정의 데이터 유형에서 바인드 해제합니다.
sp_volchanged :
요청한 볼륨 처리를 덤프나 로드 중에 운영자가 수행했다는 것을 Backup Server™에 통보합니다.
sp_who :
모든 현재 Adaptive Server 사용자와 프로세스에 대한 정보, 특정 사용자 또는 프로세스에 대한 정보를 보고합니다.
강좌 시작 >
준비사항
먼저 그림과 같이 Sybase를 사용할 수 있는 Client-Program을 설치해야 합니다. Oracle을 접근하기 위해서는 Oracle-Client 프로그램을 설치하는 것과 마찬가지입니다. 음.. 준비사항이라고 적기는 했는데 이외에는 별다른 사항은 없네요. (머슥 ㅡㅡ;;)
SyBase 연결
SyBase에 연결하기 위해서는 세가지 정도의 방법이 있습니다.
OLEDB는 .NET Framework 1을 설치하면 SQL Data-Provider For .NET과 같이 기본적으로 설치되는 드라이버입니다. 기존의 두 드라이버 이외에 .NET에는 ODBC 와 Oracle 버전이 추가로 제공되었는데, 이번에 .NET Framework 1.1이 나오면서 기본 드라이버로 추가되었습니다.
마지막으로 3번은 SyBase에서 제공하는 .NET용 Data-Provider인데, www.sybase.com에서 다운로드 받을 수 있습니다.
먼저 ODBC를 통해서 Sybase에 연결하는 방법을 알아보겠습니다. ODBC 설정을 위해서 그림과 같이 ODBC관리자를 열고,
해당 정보를 입력합니다.
연결 테스트를 통해 연결을 확인합니다.
확인 되었다면 CSharp을 통해서 연결해 보죠.
Code1. ODBC Connection OdbcConnection Conn=null; |
기존의 Com에서 ODBC를 사용해서 연결했던 내용과 별 차이가 없네요. OLEDB를 통해서도 Connection을 연결하는 방법은
Code2. OLEDB Connection OleDbConnection Conn=new OleDbConnection("Provider=ASAProv.70;Data Source= arnold;"+"UserID=arnold;Password=pwd;"); |
음. 별 차이가 없군요. ㅡㅡ;;; SyBase에서 제공하는 ASA를 통해서 접근하는 방식은 OLEDB를 접근하는 방식과 Connection-String은 동일합니다. 단지 OLEDB대신 ASA이라는 접두사가 붙습니다.
Provider별 성능을 비교한 문서가 없어서 정확히 말씀은 드리지 못하겠지만 일반적인 경우를 생각해 볼 때 SyBase를 통해 제공되는 provider를 사용하는 것을 권하고 싶네요.
Stored-Procedure 사용하기
저장 프로시저 사용의 경우 MSSQL이나 Oracle을 사용하는 경우와 별로 차이가 없습니다. 한가지 주의하실 점은 ODBC나 ASA Driver를 사용하는 경우에는 SP를 호출하는 부분의 Syntax가 조금 차이가 있다는 점이죠. SyBase에만 해당하는 특별한 사항은 아니고, ODBC를 통해서 접근하는 경우에 공통적인 사항입니다.
Code3. Call SP OdbcCommand Comm=new OdbcCommand("{call test_procedure(?,?)} ",Conn); |
MSSql을 사용 시 Sp명만 적어주고, Parameter를 할당하는 것과는 조금 차이가 있습니다. ?를 사용해서 Parameter의 위치를 미리 지정하고 Parameter를 Command에 할당해서 사용하는 방식입니다.
문제는 지금부터 인데 다음과 같은 저장 프로시저가 있다고 생각해 보죠.
Code4. Stored-Procedure create procedure test1(@code char(05), |
프로시저에서는 세 가지 값을 Client에게 리턴합니다.
2)번의 경우는 프로시저가 정상적으로 실행되었는지를 확인하는 값입니다. 위의 프로시저를 호출하는 코드는 다음과 같습니다.
Code5. Call SP2 |
음.. 문제가 발생하는 부분은 위와 같이 동시에 세 개를 리턴 받는 경우입니다. 다음은 테스트 한 결과입니다.(테스트 시나리오 별로 각 각의 프로시저 작성)
즉, 요약해 보면 select와 output/return값은 동시에 출력되지 않는다는 결과입니다. 동일한 프로시저를 MSSQL에서 작성해서 테스트 해보면 세 개의 값이 정상적으로 리턴 되는 것을 확인하였습니다.
특정 Provider의 문제인가 싶어서 앞에서 열거한 Provider별로 모두 테스트를 해보았지만, 결과는 동일 (ㅡㅡ);;. SyBase에 문의해 본 결과 ASA 7.0 Engine 의 경우에는 아직 .NET에서 certified되지 않은 상태라고 하네요. 지용군님을 비롯한 주위분들 얘기를 들어보면 Provider에 따라서 위의 기능이 제공되지 않을 수도 있다고 하는군요. 물론 DB자체에서는 실행이 되겠지만 DB에서 실행되는 것과 특정 Provider를 통해 제공되는 기능이 꼭 같다고 볼 수는 없다는 것이죠.
이러한 문제 때문에 조금 우회한 방식으로 처리를 하게 되었습니다.
Return과 Output Parameter를 사용하는 대신 Select 구문으로 대치해서 DataSet에 담는 방식으로 처리를 했습니다. 즉, Output Parameter나 Return 구문은 Select 구문으로 치환해서 결과적으로 DataSet에는 3개의 테이블이 들어가 있는 것이죠.
.NET에서 Sybase 접근방식에 대해서 간단히 알아보았습니다. 그럼 ㅃㅃ2