DBMS/Sybase
                Oracle과 Sybase 명령 비교
               
              
                Ishaya seon
                 2008. 2. 15. 14:39
              
              
                    
        
        
            * START UP
| 
| Oracle | Sybase |  
| %su - oraclepassword:
 %svrmgrl
 SVRMGR>connect internal
 SVRMGR>startup
 SVRMGR>exit
 %lsnrctl start
 | %su - sybasepassword:
 %cd install
 %startserver -f RUN_SYBASE
 %startserver -f RUN_SYS_BAKUP
 ※RUN_SYBASE, RUN_SYB_BACKUP는 Server name이므로 확인
 |  | 
* SHUTDOWN
| 
| Oracle | Sybase |  
| %su - oraclepassword:
 %svrmgrl
 SVRMGR>connect internal
 SVRMGR>shutdown
 SVRMGR>exit
 %lsnrctl stop
 | %su - sybasepassword:
 %cd install
 %isql -Usa -P
 1>shutdown SYB_BACKUP
 2>go
 1>shutdown
 
 |  | 
* CREATE DATABASE
| 
| Oracle | Sybase |  
| %sqlplus system/managerSQL>create tablespace mpts/datafile '/data1/mpdb/mp.dbf' size 100
 default storage(
 initial 64K
 next 64K
 pctincrease 0
 minextents 2
 );
 Tablespace create.
 
 SQL>create tablespace mptmpts/datafiile '/data1/mpdb/mp.dbf' size 20M
 deault storage(
 initial 64K
 next 64K
 pctincrease 0
 minextents 2
 );
 Tablespace create.
 
 SQL>create user medpack
 2 indetified by medpack000
 3 default tablesapce mpts
 4 temporary tablespace mptmpts
 5 quota unlimited on mpts
 6 quota unlimited on mptmpts;
 User create.
 
 SQL>grant connect, resource to medpack;
 Grant Succeede.
 
 ※ 위 예제는 mpts, mptmpts라는 tablespace를 만들고 medpack이라는 User를 생성한다.
 mpts와 mptmpts의 비율은 8:2비율이 적당하고 User생성시 default tablespace와 temporary tablespace를 지정해 준다.
 그런후에 connect와 resource라는 rule을 User에게 허용해 준다.
 
 전체적인 순서는
 1)2개의 Tablespace생성
 2)User생성
 3)User에게 rule허용
 과 같다.
 
 
 
 
 
 
 
 
 
 
 
 
 
 | %isql -Usa -P1>disk init
 2>name = 'mp_dev',
 3>physname = "/data1/mpdv/mp.dev",
 4>vdevno = 2,
 5>size = 51200(page단위)
 6>go
 
 1>disk init
 2>name = "mplog_dev",
 3>physname = "/data1/mpdb/mp.log.dev",
 4>vdevno = 3,
 5>size = 10240
 6>go
 
 ※100MB를 할당하려면 100 * 512 = 51200의 값을 사용한다.
 
 1>create database mepackdb
 2>on mp_dev = 100(Mega단위)
 3>log on mplog_dev = 20
 4>go
 
 CREATE DATABASE: allocating 51200 pages...
 CREATE DATABASE: allocating 10240 pages...
 
 1>sp_addlogin medpack, medpack000 medpackdb
 2>go
 
 Password correctly set.
 Account unlocked.
 New login created.
 (return status = 0)
 
 1>use medpackdb
 2>go
 
 1>sp_changedbowner medpack
 2>go
 
 Database owner changed.
 (return status = 0)
 
 ※ 위의 예제는 mp_dev, mplog_dev라는 2개의 device를 만들고 medpackdb를 만든다. 그런후에 medpack이라는 User를 만들어 medpackdb를 기본db로 설정한다. 그리고 나서 medpack의 소유권을 medpack으로 바꾸어 준다.
 
 전체적인 순서는
 1)2개의 device 생성
 2)db생성
 3)User생성
 4)db의 소유권 변경
 과 같다.
 |  | 
* DROP DATABASE
| 
| Oracle | Sybase |  
| %sqlplus system/managerSQL>drop user medpack cascade;
 
 User dropped
 
 SQL>drop tabelspace mpts
 2 including contents
 3 cascade contraints;
 
 Tablespace dropped
 
 SQL>exit
 
 
 ※그런후에 실제 data file를 삭제한다.
 
 ※위 예제는 medpack이라는 User와 그 User에게 할당된 tablespace를 삭제한다.
 전체적인 순서는
 1)먼저 User를 삭제(Drop)
 2)2개의 tablespace를 삭제(Drop)
 3)File System에 있는 File들을 삭제
 와 같다.
 
 ※Oracle에서는 사실상 database는 하나만 존재한다. 각각의 User들은 tablespace를 할당받아 실제의 data를 저장한다.
 따라서, User Space의 증가는 tablespace를 늘려주면 가능하다.
 (Ref, alter tablesapce....)
 | %isql -Usa -P1>drop database medpackdb
 2>go
 
 1>sp_dropdevice mp_dev
 2>go
 
 Device dropped.
 (return status = 0)
 
 ※위 예제는 medpackdb이라는 이름의 database를 삭제하고 database가 사용하고 있던 device를 삭제한다. 그리고 나서 User를 삭제한다.
 전체적인 순서는
 1)database 삭제
 2)2개의 device삭제
 3)User삭제
 4)File System에 있는 File들을 삭제
 와 같다
 
 ※Sybase에서는 device에서 일정한 양의 space를 할당받아 database를 만든다.
 device를 만들 때 번호를 적당하게 지정해 주어야 하는데, sp_helpdevice라는 system procedure를 이용한다.
 
 
 
 
 
 |  | 
 
출처: http://www.musi.co.kr/zero/view.php?id=database&page=2&sn1=&divpage=1&sn=off&ss=on&sc=on&select_arrange=headnum&desc=asc&no=2