2009. 11. 5. 10:57 DataBase
'DB'에 해당되는 글 6건
- 2009.11.05 지정한 갯수만큼 데이터 뽑기..
- 2008.10.23 SQLTools++
- 2008.10.20 오라클 9i/10g용 관리명령어 요약
- 2008.10.16 mysql 패스워드 복구
- 2008.04.20 MS-SQL 관련 사이트
- 2007.12.23 Oracle의 시작과 중지 절차
2008. 10. 23. 15:47 DataBase/Oracle
SQLTools++
DBA가 아닌 나로서는 예전에 postgres, mysql이나 들어가서 뚝딱뚝딱하던게 고작...
Toad, SQLgate등 FrontEnd가 있긴 하지만..
이 툴은 무료로 사용이 가능하단 점이..
내가 DB 전문가가 아니라서 아직은 많이 모르지만.. 그래도 괜찮다고 생각이 든다.
http://sourceforge.net 에 가서 "oracle frontend"로 검색을 했더니 저 툴이 나오더군..
아래 그림은 툴을 이용해 접속한 화면..
사용하기 위해서는 Oracle Client가 깔려 있어서 OCI.dll을 사용할 수 있어야 한다.
2008. 10. 20. 09:14 DataBase/Oracle
오라클 9i/10g용 관리명령어 요약
http://maktub.tistory.com/22#main_b
여기서 가져왔습니다. 아래의 작성자 원 사이트는 폐쇄가 되었는지..
열리지가 않는 군요
오라클 9i / 10g용 관리 명령어(sql) 요약-
순전히 이기적인 용도로 사용하기 위해 대충 만든 요약본입니다.
필요하신 분은 유용하게 사용하세요.
혹시나 옮겨가실 분은 댓글이라도 달아주세요. ^^
작성자 : mirsya
http://mirsya.tistory.com
최종수정 2007년 2월 18일 일요일
※틀린 부분이나 수정이 필요 한 부분은 가차없이 알려주세요.
- !! 오렌지색 부분은 환경에 맞게 수정하세요.
- Oracle 9i / 10g 관리자 명령어 요약
- Startup / Shutdown
- Session
- Parameter File
- Control File
- Redo Log
- Tablespace
- Temporary Tablespace
- Undo Tablespace
- Database Buffer Cache
- Row Migration / Chaining
- Partitioned Table
- Deferred Constraints
- User
- Profile
- Privileges
- Role
- Export
- Import
- Direct Load
- Oracle Net - Host Naming
- Oracle Net - Local Naming
- Create DB - 9i
- Create DB - 10g
- Archive Log
- STARTUP / SHUTDOWN
- STARTUP
- startup [ nomount | mount | open [ read only ]]
- SHUTDOWN
- shutdown [ immediate | transactional | normal | abort ]
- 상태 변경
- alter database [ mount | open [ read only ]];
- STARTUP 상태 조회
- select status from v$instance;
- OPEN 상태 조회
- select open_mode from v$database;
- >>Index<<
- SESSION
- 제한 상태로 변경
- alter system enable restricted session;
- 제한 상태 조회
- select logins from v$instance;
- 사용자 SESSION 조회
- select sid, serial#, username, status from v$session;
- 사용자 SESSION 강제종료
- alter system kill session 'SID,SERIAL#';
- RESTRICTED SESSION 권한 조회
- select * from dba_sys_privs where privilege like '%RESTRICT%';
- >>Index<<
- PARAMETER FILE
- 파일구분
- spfile : binaryfile, open 상태에서 수정
- pfile : textfile, shutdown 상태에서 수정
- 파일생성
- shutdown 상태에서 수행
- create spfile from pfile;
- create pfile from spfile;
- create spfile from pfile;
- SPFILE
- alter system set parameter_name = 'value' [ comment 'text' ]
[ scope = memory | spfile | both ] [ sid = 'sid' | '*' ]; - PFILE
- shutdown 상태에서 편집기로 편집
- >>Index<<
- CONTROL FILE
- SPFILE 사용시
- open 상태에서 명령수행
alter system set control_files = '경로1', '경로2' scope = spfile;
콘트롤 파일 복사 후 DB 재기동 - PFILE 사용시
- shutdown 상태에서 pfile 파라미터 수정
콘트롤 파일 복사 후 DB 기동- >>Index<<
- REDO LOG
- LOGSWITCH
- 현재 사용하는 로그파일을 변경
- alter system switch logfile;
- CHECKPOINT
- active 상태의 로그파일을 inactive로 변경
- alter system checkpoint;
- LOG FILE 상태 조회
- select a.group#, a.member, b.bytes, b.status
from v$logfile a, v$log b
where a.group# = b.group#; - GROUP 추가
- alter database add logfile group 그룹번호 '파일경로' size 크기;
- alter database add logfile group 그룹번호 ('파일경로1', '파일경로2') size 크기;
- MEMBER 추가
- alter database add logfile member '파일경로' to group 그룹번호;
- GROUP / MEMBER 삭제
- alter database drop logfile group 그룹번호;
- alter database drop logfile member '파일경로';
- ※삭제 명령시 파일은 삭제되지 않음
- >>Index<<
- alter database drop logfile member '파일경로';
- TABLESPACE
- TABLESPACE 조회
- select tablespace_name, status, contents, extent_management, segment_space_management
from dba_tablespaces; - DATAFILE 조회
- select tablespace_name, bytes, file_name from dba_data_files;
- TEMPFILE 조회
- select tablespace_name, bytes, file_name from dba_temp_files;
- 일반 TABLESPACE 생성
- create tablespace 테이블스페이스명 datafile '파일경로' size 크기
[ blocksize 크기] // 해당 블럭 사이즈의 db_nk_cache_size 설정 필요
[ extent management local ] // 8i 이전 필수 옵션
[ segment space management auto ] // 9i 이후 필수 옵션; - UNDO TABLESPACE 생성
- create undo tablespace 테이블스페이스명 datafile '파일경로' size 크기;
- TEMPORARY TABLESPACE 생성
- create temporary tablespace 테이블스페이스명 tempfile '파일경로' size 크기;
- TABLESPACE 확장
- alter tablespace 테이블스페이스명 add datafile '파일경로' size 크기;
- alter database datafile '파일경로' resize 크기;
- TABLESPACE 관리
- alter tablespace 테이블스페이스명 offline;
- alter tablespace 테이블스페이스명 online;
- alter tablespace 테이블스페이스명 rename datafile '원본파일경로' to '파일경로';
- alter tablespace 테이블스페이스명 online;
- TABLESPACE 삭제
- drop tablespace 테이블스페이스명 including contents and datafile cascade constraints;
- 문법
- CREATE TABLESPACE 테이블스페이스명
DATAFILE '파일경로1' SIZE integer [M/K], '파일경로2' SIZE integer [M/K]
[ MINIMUM EXTENT integer [M/K]]
[ BLOCKSIZE integer [K]] [ DEFAULT STORAGE (
INITIAL integer [M/K]
NEXT integer [M/K]
MAXEXTENTS integer
MINEXTENTS integer
PCTINCREASE integer)]
[ ONLINE | OFFLINE ]
[ PERMANENT | TEMPORARY ]
[ EXTENT MANAGEMENT [ DICTIONARY | LOCAL
[ AUTOALLOCATE | UNIFORM [ SIZE integer [M/K]]]]]
[ SEGMENT SPACE MANAGEMENT [ MANUAL | AUTO]] - OPEN 상태에서 DATAFILE 이동
- alter tablespace 테이블스페이스명 offline;
offline 된 T/S에 대해 복사/이동 후
alter tablespace 테이블스페이스명 rename datafile '파일경로' to '파일경로';
alter tablespace 테이블스페이스명 online; - MOUNT 상태에서 DATAFILE 이동
- startup mount;
해당 T/S에 대해 복사/이동 후
alter database rename file '파일경로' to '파일경로';
alter database open;- 모든 데이타 파일은 mount상태에서 복사/이동 가능
- system 파일은 mount상태에서만 복사/이동 가능
- >>Index<<
- 모든 데이타 파일은 mount상태에서 복사/이동 가능
- TEMPORARY TABLESPACE
- TEMPORARY TABLESPACE 관리
- TEMPORARY T/S는 READ ONLY 설정 불가, nologgin 상태이며 rename불가, 복구대상이 아님
READ ONLY DATABASE 에서도 TEMPORARY 파일은 필요 - DEFAULT TEMPORARY TABLESPACE 확인
- select * from database_properties where property_name like '%TEMP%';
- TEMPORARY TABLESPACE 변경
- create temporary tablespace 테이블스페이스명_신 tempfile '파일경로' size 크기;
alter database default temporary tablespace 테이블스페이스명_신;
drop tablespace 테이블스페이스명_구;- >>Index<<
- UNDO TABLESPACE
- PARAMETER 설정 / 9i
- UNDO_MANAGEMENT = AUTO [ MANUAL ]
UNDO_TABLESPACE = UNDOTBS1
UNDO_SUPPRESS_ERRORS = TRUE // 10g 에서는 쓰이지 않음
UNDO_RETENTION = integer (초) - PARAMETER 확인 / 9i
- show parameter undo;
- DEFAULT UNDO TABLESPACE 설정
- alter system set undo_tablespace = 테이블스페이스명;
parameter 'UNDO_TABLESPACE' 수정 - 설정 조회
- select segment_name, owner, tablespace_name, status
from dba_rollback_segs;- >>Index<<
- DATABASE BUFFER CACHE
- DBWR 기동 이벤트
- Checkpoint - 일반적인 ckpt는 어디까지 내려썼는지만 확인 immediate ckpt시 즉시 내려씀
Dirty Block 임계값 도달
LRU List 의 Free Block 이 부족할 때
Time out
T/S offline (9i부터는 online시), read only, begin backup
Table Drop, Truncate
RAC ping - STANDARD BLOCK SIZE
- System과 Temporary tablespace는 스탠다드 사이즈만 사용 가능
- DB생성시 설정되는 표준 사이즈, 수정 불가(system T/S 가 이미 사용중이므로)
- show parameter db_block_size
- DB생성시 설정되는 표준 사이즈, 수정 불가(system T/S 가 이미 사용중이므로)
- 사용 가능한 BLOCK SIZE 조회
- show parameter cache_size
- db_nk_cache_size / n = '2, 4, 8, 16, 32'
- DB_KEEP_CACHE_SIZE, DB_RECYCLE_CACHE_SIZE
- hit rate 향상을 위한 parameter
db_keep_cache_size : 자주 호출되는 data를 pinning 할 때 쓰임
db_recycle_cache_size : 차후 호출될 가능성의 희박한 data를 읽을 때 쓰임 - SGA 크기 조회
- show parameter sga
show parameter sga_max - nk BLOCK SIZE의 TABLESPACE 생성
- alter system set db_cache_size = 크기[M]; // SGA영역의 공간 확보를 위해 db_cache_size를 줄임
alter system set db_nk_cache_size = 크기[M]; // 줄여진 db_cache_size 만큼 할당 가능
create tablespace 테이블스페이스명 datafile '파일경로' size 크기 blocksize nk;- nk 블럭의 T/S가 존재하면 해당 db_nk_cache_size 를 0으로 설정 불가
- >>Index<<
- nk 블럭의 T/S가 존재하면 해당 db_nk_cache_size 를 0으로 설정 불가
- ROW MIGRATION / CHAINING
- migration 은 해소 가능 chaining 은 해소 불가
오라클은 이 두 가지 경우를 구분하지 않음 - TABLE 상태 확인
- select owner, table_name, tablespace_name from dba_tables
where owner = '유저명' and table_name = '테이블명'; - TABLE ANALYZE
- analyze table 스키마.테이블명 compute statistics;
- dictionary의 통계정보를 갱신시켜 주는 작업
- CHAIN COUNT 조회
- select num_rows, chain_cnt from dba_tables where table_name = '테이블명';
- TABLE 이동
- alter table 테이블명 move
[ tablespace 테이블스페이스명]; // 생략시 현재 사용중인 T/S 내에서 옮겨짐 - INDEX 조회
- select table_name, index_name, status from dba_indexes where table_name = '테이블명'
- INDEX REBUILD
- alter index 스키마.인덱스명 rebuild;
- TABLE MOVE 명령후 ROWID가 변경됐으므로 INDEX를 REBUILD 해주어야 함
- TABLE의 공간 사용량 조회
- select num_rows, blocks, empty_blocks, avg_space, avg_row_ren from dba_tables
where owner = '유저명' and table_name = '테이블명';- BLOCKS : H/M 왼쪽 블럭 수
EMPTY_BLOCKS : 미사용 블럭 , H/M 오른쪽 블럭 수
AVG_SPACE : 사용중인 블럭의 평균 빈공간
AVG_ROW_LEN : row의 평균 길이 - BLOCKS : H/M 왼쪽 블럭 수
- TABLE의 EXTENT설정 조회
- select table_name, initial_extent, min_extents from dba_tables
where owner = '유저명' and table_name = '테이블명'; - TABLESPACE의 EXTENT설정 조회
- select tablespace_name, block_size, initial_extent, min_extents from dba_tablespaces
where tablespace_name = '테이블스페이스명';- >>Index<<
- PARTITIONED TABLE
- LIST 분할
- create table table_name (column_1 type( ), column_2 type( ) ... )
partition by list (column_2) (
partition partition_name values ('value_1') tablespace tablespace_name,
partition partition_name values ('value_2') tablespace tablespace_name);- multi column partition 지원 안함
NULL 값 지정 가능, MAXVALUES 지정 불가
list를 구성하는 문자열은 4k 초과 불가 - multi column partition 지원 안함
- PARTITIONED TABLE 조회
- select table_owner, table_name, partition_name, tablespace_name from dba_tab_partitions where table_owner = '유저명';
- TABLE의 PARTITION 여부 조회
- select owner, table_name, partitioned from dba_tables where owner = '유저명';
- PARTITION 관리
- alter table 테이블명 add partition partition_name values ('value') tablespace tablespace_name;
- alter table 테이블명 drop partition partition_name;
- RANGE 분할
- create table table_name (column_1 type( ), column_2 type( ) ... )
partition by range (column_2) (
partition partition_name values less than (value_1),
partition partition_name values less than (value_2),
partition partition_name values less than ( MAXVALUE ) ); - HASH 분할
- create table table_name (column_1 type( ), column_2 type( ) ... )
partition by hash (column_2)
partitions integer store in (tablespace_name, tablespace_name);- >>Index<<
- DEFERRED CONSTRAINTS
- 문법
- CREATE TABLE table_name (column_1 type( ), column_2 type ( ), ...
CONSTRAINT constraint_name constraint_type (column)
[ NOT DEFERRABLE | DEFERRABLE [ INITIALLY [ IMMEDIATE | DEFERRED ]]]); - 지연된 제약조건 활성화
- ALTER SESSION SET CONSTRAINTS = [ IMMEDIATE | DEFERRED | DEFAULT ]
- >>Index<<
- USER
- USER 생성
- create user 유저명 identified by 패스워드
default tablespace 테이블스페이스명
temporary tablespace 임시테이블스페이스명
quota integer [M] on 유저명; - USER 변경
- alter user 유저명 identified by 패스워드
default tablespace 테이블스페이스명
temporary tablespace 임시테이블스페이스명
quota integer [M] on 유저명
[ password expire ]; - USER 의 TABLESPACE 할당량 조회
- select * from dba_ts_quotas;
- >>Index<<
- PROFILE
- PROFILE 조회
- select distinct profile from dba_profiles;
- USER 의 PROFILE 조회
- select username, profile from dba_users;
- PROFILE 생성
- create profile profile_name limit
제한사항 value 제한사항 value ... ; - PROFILE 적용
- alter user 유저명 profile profile_name;
- PARAMETER 'resource_limit' 의 값이 TRUE로 설정되어 있어야 함
- >>Index<<
- PARAMETER 'resource_limit' 의 값이 TRUE로 설정되어 있어야 함
- PRIVILEGES
- 권한 부여 / SYSTEM PRIVS
- grant 권한 to 유저명
[ with admin option ]; - 권한 부여 / OBJECT PRIVS
- grant 권한 on 개체 to 유저명
[ with grant option ]; - 권한 조회
- select * from dba_sys_privs where grantee like '유저명';
- GRANT 조회 / TABLE
- select * from all_tab_privs where table_name = '테이블명';
- 권한 취소 / SYSTEM PRIVS
- revoke 권한 from 유저명;
- 권한 취소 / OBJECT PRIVS
- revoke 권한 on 개체 from 유저명;
- >>Index<<
- ROLE
- ROLE 의 PRIVS 조회
- select * from dba_sys_privs where grantee = 'role_name';
- ROLE 생성
- create role role_name;
- ROLE 에 SYSTEM PRIVS 부여
- grant privs_name to role_name;
- ROLE 에 OBJECT PRIVS 부여
- grant privs_name on 개체 to role_name;
- DEFAULT ROLE 지정
- alter user user_name default role role_name;
- ROLE 활성화
- set role role_name;
- set role all;
- ROLE 조회
- select * from session_roles;
- >>Index<<
- EXPORT
- 문법
- ]$ exp username/passwd option=(value1, value2, ... ) option=value ...
- OPTION
-
-
file: 백업 파일명 지정 (default : expdat.dmp)
-
rows: 테이블의 row의 포함 여부 지정
-
full: 전체 DB에 대한 익스포트 지정
-
owner: 익스포트할 사용자 지정 (사용자모드)
-
table: 익스포트할 테이블 지정 (테이블모드)
-
tablespace: 익스포트할 테이블스페이스 지정 (T/S 모드)
-
inctype: 전체 백업 레벨 지정 (8i까지만 사용됨)
-
indexes: 인덱스 익스포트 지정
- full, owner, table, tablespace 는 동시 사용 불가
- 익스포트시 sys로 작업은 지양 (dictionary data까지 포함되므로)
- >>Index<<
-
- IMPORT
- 문법
- ]$ imp username/passwd option=(value1, value2, ... ) option=value ...
- OPTION
-
-
file: 입력 파일명 지정
-
ignore: 임포트 실행중 입력 오류 무시
-
rows: 테이블의 row의 포함 여부 지정
-
full: 전체 DB에 대한 임포트트 지정
-
fromuser: 익스포트된 객체를 소유한 사용자중 임포트 대상이 되는 사용자
-
touser: 임포트할 대상이 되는 사용자
-
table: 임포트할 테이블 지정
-
tablespace: 임포트할 테이블스페이스 지정
- 임포트 작업시 실행 순서 : 새로운 테이블생성 / 데이터 입력, 인덱스 리빌드 / 제약조건 활성화
- >>Index<<
-
- DIRECT LOAD
- DIRECT LOAD SAMPLE
- sample.ctl
LOAD DATA INFILE * INTO TABLE table_name
FIELDS TERMINATED BY ',' (column1, column2, column3)
BEGINDATA
111,aa,95
112,ab,86
...
...
- ]$ sqlldr username/passwd sample.ctl
- >>Index<<
- ]$ sqlldr username/passwd sample.ctl
- ORACLE NET / HOST NAMING
- HOST NAMING
- port 번호등의 정보를 Client에게 제공하지 않음
다수의 DB를 운용하는 경우는 사용할 수 없음
GLOBAL_DBNAME은 되도록이면 도메인 형식을 사용
(호스트명만 기입시 Windows Client 에서만 이용가능) - SERVER 설정 / LINUX
- $ORACLE_HOME/network/admin/listener.ora
- ora10g =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1521))
- )
- SID_LIST_ora10g =
- (SID_LIST =
- (SID_DESC = (GLOBAL_DBNAME = ora10g.xxx.xxx)
- (ORACLE_HOME = /app/ora10g/10g)
- (SID_NAME = DB09)
- )
- )
- LISTENER 구동
- ]$ lsnrctl start ora10g
- CLIENT 설정 / WINDOWS
- GLOBAL_DBNAME 으로 ping이 되는지 확인, 필요시 hosts나 DNS에 등록
- %ORACLE_HOME%\network\admin\sqlnet.ora
- SQLNET.AUTHENTICATION_SERVICES= (NTS)
- NAMES.DIRECTORY_PATH= (HOSTNAME)
- C:\>sqlplus username/passwd@ora10g.xxx.xxx
- %ORACLE_HOME%\network\admin\sqlnet.ora
- CLIENT 설정 / LINUX
- GLOBAL_DBNAME 으로 ping이 되는지 확인, 필요시 hosts나 DNS에 등록
- $ORACLE_HOME/network/admin/sqlnet.ora
- NAMES.DIRECTORY_PATH= (HOSTNAME)
- ]$ sqlplus username/passwd@ora10g.xxx.xxx
- >>Index<<
- $ORACLE_HOME/network/admin/sqlnet.ora
- ORACLE NET / LOCAL NAMING
- LOCAL NAMING
- port 번호등 서버정보를 Client가 가지고 있음
- SERVER 설정 / LINUX
- $ORACLE_HOME/network/admin/listener.ora
- ora10g =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1521))
- )
- SID_LIST_ora10g =
- (SID_LIST =
- (SID_DESC = (ORACLE_HOME = /app/ora10g/10g)
- (SID_NAME = DB09)
- )
- )
- 다수의 DB가 존재 할 경우 각 DB의 listner port번호는 다르게 설정한다
- LISTENER 구동
- ]$ lsnrctl start ora10g
- 각각의 DB에 해당하는 listener.ora 파일을 생성하고 listener를 각각 구동한다
- CLIENT 설정 / NAMES.DEFAULT_DOMAIN 미설정 시
- sqlnet.ora
- NAMES.DIRECTORY_PATH= (TNSNAMES)
- tnsnames.ora
- ora9i =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1529))
- (CONNECT_DATA = (SID = DB09))
- )
- ora10g =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1521))
- (CONNECT_DATA = (SID = DB10))
- )
- ]$ sqlplus username/passwd@ora10g
]$ sqlplus username/passwd@ora9i - CLIENT 설정 / NAMES.DEFAULT_DOMAIN 설정 시
- TCP/IP 에서의 DOMAIN과 관계 없음
- sqlnet.ora
- NAMES.DEFAULT_DOMAIN= webdb.co.kr
- NAMES.DIRECTORY_PATH= (TNSNAMES)
- tnsnames.ora
- ora9i.webdb.co.kr =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1529))
- (CONNECT_DATA = (SID = DB09))
- )
- ora10g.webdb.co.kr =
- (DESCRIPTION =
- (ADDRESS = (PROTOCOL = TCP) (HOST = xxx.xxx.xxx.xxx) (PORT = 1521))
- (CONNECT_DATA = (SID = DB10))
- )
- ]$ sqlplus username/passwd@ora10g
]$ sqlplus username/passwd@ora9i
]$ sqlplus username/passwd@ora10g.webdb.co.kr- >>Index<<
- sqlnet.ora
- DATABASE 생성 / 9i
- ENV CHECK
- ]$ env | grep ORACLE
- 기존 파일 삭제
- $ORACLE_BASE/oradata/
$ORACLE_BASE/admin/$ORACLE_SID/ - PARAMETER FILE 편집
- $ORACLE_HOME/dbs/initSID_name.ora
- DB 생성
- createdb.sql
- CREATE DATABASE $ORACLE_SID
- LOGFILE
- GROUP 1 ('$ORACLE_BASE/oradata/disk4/redo01.log') size 1M,
- GROUP 2 ('$ORACLE_BASE/oradata/disk4/redo02.log') size 1M,
- GROUP 3 ('$ORACLE_BASE/oradata/disk4/redo03.log') size 1M
- MAXLOGFILES 5
- MAXLOGMEMBERS 5
- MAXDATAFILES 100
- DATAFILE
- '$ORACLE_BASE/oradata/disk3/system01.dbf' size 300M
- EXTENT MANAGEMENT LOCAL
- UNDO TABLESPACE undo DATAFILE
- '$ORACLE_BASE/oradata/disk3/undo01.dbf' size 10M
- DEFAULT TEMPORARY TABLESPACE temp TEMPFILE
- '$ORACLE_BASE/oradata/disk3/temp01.dbf' size 10M
- CHARACTER SET KO16KSC5601
- ;
- @$ORACLE_HOME/rdbms/admin/catalog.sql
- @$ORACLE_HOME/rdbms/admin/catproc.sql
- conn system/manager;
- @$ORACLE_HOME/sqlplus/admin/pupbld.sql
- ]$ sqlplus '/as sysdba'
SQL> startup nomount
SQL> @createdb.sql- >>Index<<
- DATABASE 생성 / 10g
- ENV CHECK
- ]$ env | grep ORACLE
- 기존 파일 삭제
- $ORACLE_BASE/oradata/
$ORACLE_BASE/admin/$ORACLE_SID/ - PARAMETER FILE 편집
- $ORACLE_HOME/dbs/initSID_name.ora
- DB 생성
- createdb.sql
- CREATE DATABASE $ORACLE_SID
- LOGFILE
- GROUP 1 ('$ORACLE_BASE/oradata/disk4/redo01.log') size 4M,
- GROUP 2 ('$ORACLE_BASE/oradata/disk4/redo02.log') size 4M,
- GROUP 3 ('$ORACLE_BASE/oradata/disk4/redo03.log') size 4M
- MAXLOGFILES 5
- MAXLOGMEMBERS 5
- MAXDATAFILES 100
- DATAFILE
- '$ORACLE_BASE/oradata/disk3/system01.dbf' size 300M
- EXTENT MANAGEMENT LOCAL
- SYSAUX DATAFILE
- '$ORACLE_BASE/oradata/disk3/sysaux01.dbf' size 200M
- UNDO TABLESPACE undo DATAFILE
- '$ORACLE_BASE/oradata/disk3/undo01.dbf' size 10M
- DEFAULT TEMPORARY TABLESPACE temp TEMPFILE
- '$ORACLE_BASE/oradata/disk3/temp01.dbf' size 10M
- CHARACTER SET KO16KSC5601
- ;
- @$ORACLE_HOME/rdbms/admin/catalog.sql
- @$ORACLE_HOME/rdbms/admin/catproc.sql
- conn system/manager;
- @$ORACLE_HOME/sqlplus/admin/pupbld.sql
- ]$ sqlplus '/as sysdba'
SQL> startup nomount
SQL> @createdb.sql- >>Index<<
- ARCHIVE LOG MODE
- DB 종료
- SQL> shutown immediate
- Parameter File 수정
-
- log_archive_start = true
- log_archive_dest = destination
- log_archive_format = %S.arc
- 다수의 아카이빙
-
- log_archive_duplex_dest = destination
- log_archive_min_succed_dest = [ 1 | 2 ]
- log_archive_dest_# = "location = destination"
- log_archive_dest_# = "service = tnsname"
- DB 기동 / 아카이브 모드 변경
- SQL> startup mount
SQL> alter database archivelog; SQL> startup open- 아카이브 모드 확인 후 Close Backup
SQL> archive log list- >>Index<<
- 아카이브 모드 확인 후 Close Backup
2008. 10. 16. 17:58 DataBase/MySQL
mysql 패스워드 복구
※ 이 글은 지인을 통한 귀동냥과 인터넷 검색을 이용한 정보를 가공한 것이다.
회사에 mysql 서버가 있는데 댄장.. 패스워드를 모른다.. 사용자도 무엇이 있는지 알 수가 없다.
대략 난감... mysql을 --skip-grant 모드로 띄우라고 하던데..
일단 OS는 Sun Solaris 5.8 for Sparc, mysql은 4.0.17
0. mysql 종료
- 기동스크립트가 있는 경우
# /etc/init.d/mysql stop
- 기동스크립트가 없는 경우 걍..(요건 해보지 않았다.)
# killall mysqld
1. 사용자 인증 우회
- /etc/init.d/mysql의 start 부분에 --skip-grant-table 추가 후
# /etc/init.d/mysql start
또는
- mysqld_safe에 옵션을 주고 실행
# cd /usr/local/mysql/bin
# ./mysqld_safe --skip-grant-table &
2. 패스워드 없이 mysql root 계정 로그인(/usr/local/mysql/bin이 PATH에 있다고 가정)
# mysql -u root mysql
3. update문을 이용하여 mysql DB의 user TABLE의 root 패스워드를 업데이트한다.
mysql> update user set password=password('PASSWORD') where user='root';
4. 변경된 mysql 권한 테이블에 변경된 권한 설정 적용
mysql> flush privileges;
5. mysql 종료
mysql> exit
6. 일반적인 방법으로 mysql 시작
0.번항목을 참고하여 mysql 정지
1.번항목에서
- /etc/init.d/mysql의 start 부분에 --skip-grant-table 제거 후
# /etc/init.d/mysql start
또는
- mysqld_safe 실행
# cd /usr/local/mysql/bin
# ./mysqld_safe &
2008. 4. 20. 19:14 DataBase/MSSQL
MS-SQL 관련 사이트
http://www.sqlleader.com
- ib96 mssql 무료 강좌 Site(한글, 회원가입 필요, 현재 가입후 강좌이용 가능)
http://sqlto.ib96.com
- SQL 2000 평가판 download
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=D20BA6E1-F44C-4781-A6BB-F60E02DC1335
- MS SQL Server 2000 서비스팩 3a
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=90DCD52C-0488-4E46-AFBF-ACACE5369FA3
- MS SQL Server 2000 서비스팩 4
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5
2007. 12. 23. 20:12 DataBase/Oracle
Oracle의 시작과 중지 절차
o Oracle 8i 이전
- Oracle Start
root@server:/> su - oracle
oracle@server:/dbase/oracle8> svrmgrl
SVRMGRL> connect internal
SVRMGRL> startup
oracle@server:/dbase/oracle8> lsnrctl start
- Oracle Stop
root@server:/> su - oracle
oracle@server:/dbase/oracle8> lsnrctl
LSNRCTL> set password (패스워드 입력)
LSNRCTL> stop
LSNRCTL> exit
oracle@server:/dbase/oracle8> svrmgrl
SVRMGRL> connect internal
SVRMGRL> shutdown immediate
o Oracle 9i 이후
- Oracle Start
PROMPT> sqlplus /nolog
SQL> conn sys/패스워드 as sysdba
SQL> startup
PROMPT> lsnrctl start
- Oracle Stop
PROMPT> lsnrctl
LSNRCTL> set password (패스워드 입력)
LSNRCTL> stop
PROMPT> sqlplus /nolog
SQL> conn sys/패스워드 as sysdba
SQL> shutdown immediate