접속하려는 유저에게 sysdba 권한이 주어져 있으면 된다 -_-;;;

만약에 그런 권한이 주어져 있지 않다면.. 최소 1유저에게는 sysdba 권한을 주어야 하지 싶다...(추측)


== 서버측 ==
SQL> conn /as sysdba
SQL> grant sysdba to newscott (with admin option) ;




== 클라이언트측 ==
SQL> conn newscott/tiger@server as sysdba

executed on dbms_crypto 같은 권한을 부여하려면 dba 권한으로는 부족하다고 뜬다.
sysdba 권한이 있으니 부여가능하네요.
Posted by 야동우
,


Oracle Version 1, 1978:

Written in Assembly Language
Ran under PDP-11 under RSX in 128K of Memory
Implementation separates oracle code and user code.

Oracle Version 2, 1979:

The first SQL Relational Database Management system that was commercially released.
Written in PDP-11 Assembly Language
Ran on VAX/VMS in Compatibility mode

Oracle Version 3.1980:

Written in C, Portable Source Code
Retained Split Architecture
Introduced the concept of Atomic SQL Execution and transactions (Commit & Rollback)

Oracle Version 4, 1984:

Introduced Read Consistency.
Portable to many platforms
Interoperability between PC and Server

Oracle Version 5, 1986:

True Client Server –Distributed Processing
VAX –Cluster Support
Version 5.1- Distributed Queries

Oracle Version 6, 1989:

Major Kernel Rewritten
OLTP Performance enhancements (save points)
Online Backup and Recovery
Row level Locking
PL\SQL in the database
Parallel Servers (VAX Clusters, nCube)

Oracle Version 7, 1993:

Stored Procedures and Triggers
Shared SQL, Parallel Execution
Declarative Referential Integrity
Advanced Replication

Oracle Version 8, 1997:

Object Relation Extensions in the Database
From Client Server to Three tier Architecture
Partitioning Option

Oracle Version 8i, 1999:

Java in the database (JVM and SQLJ)
Partitioning Enhancements
Data Warehousing Enhancements
XML Support
Summary Management
Oracle Internet Directory (LDAP)
Ported to Linux

Oracle Version 9i, 2001:

Real Application Clusters, with cache fusion– Scalability on inexpensive clustered hardware
Automatic segment-space management
Internet security enhancements
Integrated business intelligence functionality
Data Guard (standby databases)
Oracle managed files
Globalization support (Unicode, time zones, locales)

Oracle Version 10g, 2003:

Primary goal: Build a self-managing database that requires minimal human intervention.
Reduction in administration cost without
Compromising high availability, scalability, and security.
Minimal performance impact
Effective for all configurations and workloads

Oracle Version 11g, 2007:

Flashback data Archive
Advanced Compression
Real Application Testing
Automatic Storage Management
Posted by 야동우
,

툴은 아직 안 써봐서 모르겠습니다;

출처 : http://entireboy.egloos.com/3423398

  MS-SQL (SQL Server)는 mdf 라는 확장자로 데이터베이스 파일을 가지고 있고, ldf 라는 확장자로 해당 데이터베이스 파일의 log 파일을 가지고 있습니다. 이 파일들은 데이터베이스 설정에 따라 다르겠지만, 기본으로 설치를 하였다면 다음 폴더에 존재할 것입니다.
설치폴더\MSSQL.1\MSSQL\Data


  여기 있는 파일 중 내가 사용하고 있는 데이터베이스 파일을 복사해서 새로운 시스템 혹은 새로운 경로로 옮겨야 합니다.  (설치폴더\MSSQL.1\MSSQL\Data 에 있는  dbname.dmf, dbname.ldf )
 (여기서 새로운경로의 파일은 아무도 사용하지 않는 상태이기 때문에 파일명을 바꿔도 됩니다.  >> db1.dmf, db1.ldf)

  옮기기 위해서는 우선 데이터베이스 서비스를 잠깐 내려야 합니다. 데이터베이스 시스템이 돌아가고 있는 상태라면 파일에 lock을 걸고 사용하고 있기 때문에 복사나 이동이 불가능하기 때문입니다. 데이터베이스 시스템을 잠깐 내리고 파일을 새로운 경로로 옮긴 뒤 데이터베이스 서비스를 다시 올린 후, 접속하여 다음 쿼리를 날려주면 된다.

sp_attach_db 'DB명', 'mdf 파일의 경로', 'ldf 파일의 경로'
예 : sp_attach_db 'db1', 'C:\db1_data.mdf', 'C:\db1_log.ldf'





정리하자면..
dmf, ldf 두 파일을 복사하여 이동 후, 이름을 바꿔준다.
설치폴더\MSSQL.1\MSSQL\Data\dbname.dmf, dbname.ldf
C:\db1_data.mdf, db1_log.ldf


SQL SERVER 서비스를 내린다.
C:\>net stop mssqlserver
SQL Server <MSSQLSERVER> 서비스를 멈춥니다..
SQL Server <MSSQLSERVER> 서비스를 잘 멈추었습니다.

SQL SERVER 서비스를 올린다.
C:\>net start mssqlserver
SQL Server <MSSQLSERVER> 서비스를 시작합니다..
SQL Server <MSSQLSERVER> 서비스를 잘 시작되었습니다.

접속하여 쿼리를 날린다.
C:\>osql -U sa
암호: *******
1> sp_attach_db 'db1', 'C:\db1_data.mdf', 'C:\db1_log.LDF'
2> go
Posted by 야동우
,

C:\> osql -U sa
암호: *******
1>




sa 는 마스터이다.
1> 커맨드 창에 생겼는데


오라클에서는
> select username from dba_users ;
세미콜론으로 문장의 끝을 알리는데
MSSQL에서는
1> select * from emp
2> go
go 로 문장의 끝을 알린다.
Posted by 야동우
,


1. 제어판 -> 서비스 ->  SQL Server  시작 or 중지

2. cmd 상에서
서비스 시작 : net start mssqlserver
서비스 종료 : net stop mssqlserver
Posted by 야동우
,

set serveroutput on
Posted by 야동우
,

요즘 뇌를 자극하며 오라클을 공부하고 있습니다. 

뇌를자극하는오라클프로그래밍SQLPLSQL
카테고리 컴퓨터/IT > 데이터베이스
지은이 홍형경 (한빛미디어, 2008년)
상세보기

DB 배워볼거랍시고 OCP를 땄지만, 역시 기본부터 배우는게 중요하다고 생각이 드네요.
책이 쓰여진 정보들을 좀더 찾아보기 쉽게 블로그에 하나씩 정리하려합니다.


의사 컬럼 (Pseudo Columns)
테이블에 있는 일반적인 컬럼처럼 행동하기는 하지만 실제로 테이블에 저장되어 있지 않은 컬럼.

[일반]

1. ROWNUM
ROWNUM은 쿼리의 결과로 나오게 되는 각각의 로우들에 대한 순서값을 카리키는 의사컬럼이다.

employees 테이블에서 10건의 정보만 조회하고 싶다면..
ex)  SELECT employee_id, last_name, ROWNUM
          FROM EMPLOYEES
        WHERE ROWNUM <= 10 ;


2. ROWID
ROWID는 테이블에 저장된 각각의 로우들에 저장된 주소값을 가진 의사컬럼이다.
따라서 모든 테이블의 모든 로우들은 오직 자신만의 유일한 ROWID값을 갖고 있다고 할 수 있다.


[SEQUENCE]
시퀀스를 사용할 때, 필수로 쓰이는 의사컬럼
3. CURRNAL
현재 시퀀스 값을 가지고 있다.

4. NEXTVAL
다음에 생성될 시퀀스값을 가지고 있다.

주의 : NEXTVAL 은 어떤 방식으로든 사용되는 즉시, 시퀀스값이 증가한다.
무슨 값을 갖고 있는지 궁금하네? 하면서 
SELECT emp_seq.nextval FROM dual ;  요래 검색하면 이미 시퀀스 값은 증가;;

select *
from user_sequences ;  해보면 내가 가지고 있는 시퀀스를 조회할 수 있다.




Posted by 야동우
,

ㆍ테이블생성시 - 인라인
create table con_test1(
    emp number(6,0) constraints con_emp_pk primary key,
    name varchar2(10),
    dept_id number(2) constraints con_emp_fk references dept(dept_id) );



ㆍ테이블생성시 - 아웃라인
create table con_test2(
    emp number(6,0),
    name varchar2(10),
    dept_id number(2),
    constraints con2_emp_pk primary key(emp),
    constraints con2_emp_fk foreign key (dept_id) references dept(dept_id) );



ㆍ테이블 생성 후, 제약조건 추가
alter table con_test1
add constraints con_emp_uk unique(name);



ㆍ테이블 생성 후, 제약조건 삭제
alter table con_test1
drop constraints con_emp_uk cascade;



ㆍ테이블 생성 후, 제약조건 다수 추가.
alter table con_test1
add (constraints con_emp_uk unique(name),
       constraints con_emp_fk foreign key (dept_id) references dept(dept_id) );




※ 오라클 11g에서 테스트 결과,
    ALTER TABLE 구분을 이용해서 제약조건 변경시,
   여러개의 조건을 한번에 추가할 수는 있지만, 삭제는 하나씩 밖에 안된다!!
Posted by 야동우
,

[출처] 서비스관리|작성자 박병근


오라클을 인스톨 하면 제어판 -> 서비스 에 오라클과 관련된 서비스 몇가지가 등록이 된다.   
그 중에서 오라클 데이타베이스와 관련된 것으로는 다음의 두가지가 있다.   

OracleServiceORCL   
OracleStartORCL   
    
OracleServiceORCL은 ORACLE73.EXE 프로세스인데, 기본적으로 이 서비스가 시작된 상태로 되어 있어야 오라클을 STARTUP 할 수 있다. OracleServiceORCL은 메모리를 수백KB 정도밖에 사용하지 않는다.   
    
OracleStartORCL은 오라클을 START 하는 스크립트로 실제로는 STRTORCL.CMD 화일을 가리키고 있다. 따라서 OracleStartORCL은 단지 오라클을 STARTUP 시켜주는 기능만을 하므로 오라클의 인스턴스는 아니다. OracleStartORCL을 정지시키는 것은 아무런 의미가 없기 때문에 OracleStartORCL을 정지시켜도 오라클은 계속 OPEN 된 상태로 있게 된다. 그러므로 오라클을 SHUTDOWN 하기 위해서는 SERVER MANAGER로 접속해서 직접 SHUTDOWN을 해 주어야 한다.    

주의
오라클을 SHUTDOWN 하지 않고 시스템을 종료시키게 되면, 오라클은 정상적으로 SHUTDOWN 되는 것이 아니라 ORACLE73.EXE 프로세스가 KILL 됨으로써 종료된다. 따라서 이 경우에는 ALERT 화일에 아무런 메세지가 기록되지 않는다. 이와같이 오라클을 종료시키는 것은 SHUTDOWN ABORT와 다를 바 없지만 바람직한 방법은 아니므로 오라클을 먼저 SHUTDOWN 한 다음에 시스템을 종료시키는 것이 좋다.


[출처]
서비스관리|작성자 박병근

'DB > Oracle' 카테고리의 다른 글

오라클 락 해제(펌)  (0) 2014.08.21
오라클 테이블 락 확인/해제(링크)  (0) 2014.03.28
Oracle] 제약조건 삭제 및 추가  (0) 2011.12.14
Posted by 야동우
,
제약조건 삭제
ALTER TABLE 테이블명 DROP
CONSTRAINT 제약조건명 (CASCADE);


제약조건 추가
ALTER TABLE 테이블명 ADD
CONSTRAINT 제약조건명 조건 컬럼명

ex) ALTER TABLE EMP ADD
(
    CONSTRAINT EMP_PK
    PRIMARY KEY ( EMP_NO, EMP_DATE)
);


제약조건명을 조회하는 쿼리
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
http://yadw.tistory.com/164

'DB > Oracle' 카테고리의 다른 글

오라클 락 해제(펌)  (0) 2014.08.21
오라클 테이블 락 확인/해제(링크)  (0) 2014.03.28
Oracle 8.0.5 이전. 서비스에 관해..  (0) 2011.12.21
Posted by 야동우
,