'Tech_Info/Database'에 해당되는 글 3건

  1. 2006.11.08 TableSpace 사용량 확인하는 script
  2. 2006.06.26 SQL Server Errorlog archive 개수 늘리기
  3. 2006.06.26 xp_cmdshell 삭제하기
Tech_Info/Database2006. 11. 8. 09:14

출처는 모르겠고, 예전회사에서 쓰던 Tablespace 사용량 확인하는 스크립트이다.

set pagesize 50
COLUMN tablespace_name FORMAT a15 HEADING "TableSPace(KB)"
COLUMN total_size_kb FORMAT 999,999,999 HEADING "Total(KB)"
COLUMN free_size_kb FORMAT 99,999,999 HEADING "Free(KB)"
COLUMN used_size_kb FORMAT 999,999,999 HEADING "Used(KB)"
COLUMN usedpercentage FORMAT 999.99 HEADING "Used %"
COLUMN files FORMAT 99999 HEADING  "Files"
COLUMN largest FORMAT 99,999,999 HEADING  "Largest"

select
T.tablespace_name,
       TS."total_size_b"/1024 as "total_size_kb",
       NVL(FS."free_size_b"/1024, 0) as "free_size_kb",
       NVL((TS."total_size_b"-FS."free_size_b")/1024, 0) as "used_size_kb",
       NVL(Round(100 * ((TS."total_size_b"-FS."free_size_b") / TS."total_size_b"), 2), 0) as "usedpercentage",
       TS."filecnt" as "files",
       FS."maxfree" as "largest"
from
       dba_tablespaces T,
       (select tablespace_name, round (sum(bytes), 0) as "total_size_b",
               count(file_name) as "filecnt"
       from dba_data_files
       group by tablespace_name) TS,
       (select tablespace_name, round(sum(bytes), 0) as "free_size_b",
               max(bytes)/1024 as "maxfree"
       from dba_free_space
       group by tablespace_name) FS
where
       T.tablespace_name = TS.tablespace_name and
       T.tablespace_name = FS.tablespace_name (+)
order by "usedpercentage";


사용방법은 알아서 ㅋㅋ
간략하게 쓰자면, tsp.sql로 저장해놓고 sqlplus 에서 @tsp.sql 하면 됩니다. ^^

'Tech_Info > Database' 카테고리의 다른 글

SQL Server Errorlog archive 개수 늘리기  (0) 2006.06.26
xp_cmdshell 삭제하기  (0) 2006.06.26
Posted by 알 수 없는 사용자
Tech_Info/Database2006. 6. 26. 14:43
기본적으로 SQL Server error log는 SQL Server의 로그 서브폴더에 보관된다. 총 7개의 Error log로 구성되어 있으며, Errorlog, Errorlog.1 ~ Errorlog.6의 순으로 보관되며, 확장자가 없는 것이 가장 최근의 현재 Error log이다.
로그는 SQL Server가 restart될 때마다, 재생성된다. Errorlog가 재생성 될때마다, 기존의 Errorlog를 Errorlog.1로 rename하고, 나머지 것도 한개씩 증가한다. Errorlog.6였던 내용은 삭제된다.

※ SQL Server 7.0
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\NumErrorLogs
※ SQL Server 2000
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\<SQL Server Instance Name>\MSSQLServer\NumErrorLogs
- NumErrorLogs REG_DWORD 7(원하는 개수)

확인하는 방법
DBCC ERRORLOG를 실행하면,
E:\MSSQL\MSSQL$MSSQL1\LOG 에 ERRORLOG.7이라는 파일이 생긴다.

참조 링크
How to increase the number of SQL Server error logs
- http://support.microsoft.com/kb/196909/EN-US/

HOW TO: Archive More Than Six SQL Server Error Logs
- http://support.microsoft.com/kb/230590/en-us

'Tech_Info > Database' 카테고리의 다른 글

TableSpace 사용량 확인하는 script  (0) 2006.11.08
xp_cmdshell 삭제하기  (0) 2006.06.26
Posted by 알 수 없는 사용자
Tech_Info/Database2006. 6. 26. 13:45
보안에 문제가 될 수 있는 xp_cmdshell 삭제하기

원본링크 : Implications of removing the xp_cmdshell stored procedure from SQL Server 2000
- http://support.microsoft.com/kb/891984/en-us

How to drop the xp_cmdshell stored procedure
- system administrator user right 필요
- to-drop :
exec sp_dropextendedproc 'xp_cmdshell'
- re-add :
exec sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'

영향받는 stored procedure List

sp_ActiveDirectory_SCP sp_adddistpublisher sp_adddistributiondb sp_attachsubscription sp_changedistpublisher sp_copysubscription sp_MScopysnapshot sp_MScopyscriptfile sp_MSget_file_existence sp_MSremove_userscript sp_replicationoption sp_vupgrade_replication
sp_MSreplremoveuncdir sp_MSdeletefoldercontents sp_resolve_logins Sp_set_local_time sp_msx_defect sp_msx_enlist Xp_sscanf Xp_sprintf Xp_msver Xp_msver Xp_enumgroups Xp_logevent Xp_loginconfig

삭제하게 되면서 발생할 수 있는 메세지

ODBC: Msg 0, Level 16, State 1
Cannot load the DLL xplog70.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.).

Trying to configure Distributor for "server"
Fails with Error 2812: Could not find stored procedure 'master..xp_cmdshell'

Status: 0, code: 1007, text: 'Cannot load the DLL xplog70.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.).'.
Cannot load the DLL xplog70.dll, or one of the DLLs it references. Reason: 126(The specified module could not be found.).
Repl Agent Status: 6

An error occurred trying to execute a SQL Statement.

"Cannot enlist server 'ServerName' . Please upgrade server 'ServerName' to SQL Server 2000 sp3 or later.

“Cannot load the DLL xplog70.dll or one of the DLLs it references. Reason: 126(The specified module could not be found)
ServerName xp_msver


xplog70.dll을 삭제하고서 SQL Server Restart하면 더이상 sp_addextendedproc를 사용해서 등록할 수 없다.
쿼리분석기에서 다시 sp_addextendedproc 'xp_cmdshell', 'xplog70.dll'을 실행하면 정상적으로 실행되지만,
xp_cmdshell 'dir' 와 같이 실행하면,
ODBC: 메시지 0, 수준 16, 상태 1
xplog70.dll DLL 또는 이 DLL이 참조하는 DLL 중 하나를 로드할 수 없습니다. 이유: 126(지정된 모듈을 찾을 수 없습니다.). 라는 메세지를 뿌리면서 실패하게 된다.


'Tech_Info > Database' 카테고리의 다른 글

TableSpace 사용량 확인하는 script  (0) 2006.11.08
SQL Server Errorlog archive 개수 늘리기  (0) 2006.06.26
Posted by 알 수 없는 사용자