생계/SQL Server2018. 6. 8. 10:53
반응형

SQL Server 에서 Linked Server 만들어 보자. 

링크드 서버란 오라클의 DB Link 와 동일한 역할을 수행합니다. 

원격지 DB 의 데이터를 로컬 DB에서 조회할수 있게 만들어줍니다. 


로컬 서버에 SQL Server 를 설치하고 원격지 서버(구글 클라우드 플램폼을 이용하겠습니다.) 의 DB 의 데이터를 조회하는 테스트를 알아보겠습니다. 


## 구글 클라우드 플랫폼 무료 계정 만들기는 아래 링크를 따라가시면 됩니다. ##

구글 클라우드 플랫폼(GCP) 무료계정 



1. 로컬 서버에 MSSQL 설치 


2. 원격지 서버에  MSSQL 설치 


3. 연결된 서버 새로 만들기


SSMS 에서 서버개체 -> 연결된서버 (우클릭) -> 새연결된서버 


일반 탭 -> 연결된 서버 : 디비링크 이름 입력 

공급자 : SQL Server Native Client 선택

데이터원본 : 타겟의 IP




보안 탭에서 가장 아래 (다음 보안 컨텍스트를 사용하여 연결) 선택

원격지DB 의 dblink 라는 로그인을 타고 접속하겠습니다.

물론 원격지DB에 dblink 라는 로그인이 만들어져있고 권한도 있어야함. 


서버옵션 탭 : RPC, RPC 내보내기 -> true 선택,  만들기 클릭




연결된 서버에 입력한 이름으로 Linked Server 가 만들어졌습니다.

원격지 DB 의 테이블 데이터를 조회해 봅니다.



   [LinkeServer이름].[디비명].[owner].[테이블명] 을 from 절에 써줍니다. (길죠? ㅠ)






반응형
Posted by 돌고래트레이너
생계/Oracle2018. 5. 31. 14:17
반응형

A 유저가 B 유저의  한 테이블을 truncate 할수 있게 만들어 주려면 어떤권한이 필요할까?

 

grant truncate on B."테이블명" to A 

 

이런 구문이 가능하다면 문제는 해결되겠지만 ... truncate 권한만을 따로 줄수가 없다.

 

grant drop any table to A 

 

이렇게 하면 A 유저가 B 유저의 테이블을 truncate 할수 있다. 

하지만 한 테이블의 truncate 를 가능하게 하기 위해서 너무나 큰 권한을 주었다. 

 

프로시저를 활용해서 drop any table 권한을 주지 않고도 

A 유저가 B 유저의 테이블을 truncate 하게 만들수 있다. 

 

 

create user u_obj identified by uobj;      -- table owner user

grant create session to u_obj;

grant resource to u_obj;

 

create table u_obj.t_trc ( a int);             -- truncate 대상 테이블

 

create user u_trc identified by utrc;       -- truncate 하려는 user

grant create session to u_trc;

grant select, insert on u_obj.t_trc to u_trc;

 

-- truncate 해줄 프로시져 작성 

create or replace procedure u_obj.p_trc( p_tname in varchar2 ) 

as 

begin 

execute immediate 'truncate table ' || p_tname; 

end; 

/

 

이 상태에서 u_trc 는 t_trc 테이블을 truncate 할수 없지만 프로시저를 

실행함으로써 가능하게 할수 있다. 

 

 

 

 

 

 

반응형
Posted by 돌고래트레이너
생계/Oracle2018. 5. 24. 16:00
반응형

리눅스 환경에서 설치한 오라클 삭제 하기


-  $ORACLE_HOME 디렉토리 삭제 


- orainst.loc, oratab 파일 삭제


 cd /etc

 rm ora*


- oraenv 파일  삭제 


 cd /usr/local/bin

 rm oraenv



- 삭제 후 오라클을 다시 설치하기 위해 환경설정 파일(.bash_profile)을 백업



- oracle 설치 계정 삭제 


userdel oracle

groupdel dba

groupdel oinstall



- oracle 설치 계정의  HOME 디렉토리를 삭제


반응형
Posted by 돌고래트레이너
생계/SQL Server2018. 5. 14. 13:13
반응형

SQLServer 백업본으로 신규서버에 restore 해보자  


1. 백업


backup database TESTDB to disk= 'D:\testdb.bak'

 

 

2. 신규서버에 복원 


Restore FileListOnly FROM DISK = N'D:\testdb.bak'

-- 백업DB의 논리명 확인 


restore database TESTDB from disk=N'D:\testdb.bak'

with move 'TESTDB'      to 'D:\DB파일경로\testdb.mdf',

     move 'TESTDB_LOG' to 'D:\LOG파일경로\testdb_log.ldf'

       

 

3. 기타 object 생성


- login

 -> 사용자매핑 

       use TESTDB

ALTER USER testuser WITH LOGIN = testuser


- 유지관리계획, 작업, 디비링크, 복제 등은 새로 생성

      


4. 검증


SELECT  CASE TYPE 

        WHEN 'U' THEN 'User Defined Tables' 

        WHEN 'S' THEN 'System Tables'

        WHEN 'IT' THEN 'Internal Tables'

        WHEN 'P' THEN 'Stored Procedures'

        WHEN 'PC' THEN 'CLR Stored Procedures'

        WHEN 'X' THEN 'Extended Stored Procedures'

    END typeofobject, 

    COUNT(*) as CNT    

FROM SYS.OBJECTS

WHERE TYPE IN ('U', 'P', 'PC', 'S', 'IT', 'X')

GROUP BY TYPE




      

반응형
Posted by 돌고래트레이너
생계/OERR2018. 5. 3. 10:31
반응형

이전 포스팅에 oracle 12c silent 모드 설치를 다루었는데 그 내용으로 다시 설치를 

진행하는데 에러가 난다.  ㅎㅎ  그새 뭐가 바뀌었나..

 

 [ins-35344] the value is not specified for real application cluster administrative (osracdba) group.

 

 ./runInstaller -silent \  

DECLINE_SECURITY_UPDATES=true \

 ......  중략 ..............

oracle.install.db.OSRACDBA_GROUP=dba

 

runInstaller 명령에 한줄을 추가해준다. 

 

설치가 진행되다가 다시 에러가 나면서 중단된다. 

설치로그를 확인해보면 stack size 를 세팅하라고 나온다. 

 

INFO: *********************************************

INFO: Soft Limit: maximum stack size: This is a prerequisite condition to test whether the soft limit for maximum stack size is set correctly.

INFO: Severity:CRITICAL

INFO: OverallStatus:VERIFICATION_FAILED

INFO: -----------------------------------------------

 

그동안 maximum open file descriptors 나 maximum user processes 만 세팅하고

stack size 는 세팅한적이 없는데 언제부터 바뀐건가... 

stack size 도 추가해주자.

 

vi /etc/security/limits.conf 

 

oracle soft stack 10240

oracle hard stack 32768

 
 
이후론 설치가 잘 진행이 되었다는..
 

 

반응형
Posted by 돌고래트레이너
생계/Oracle2018. 4. 10. 14:09
반응형

구글 클라우드 플랫폼에 오라클 12c 를 설치하고 접속해보자 


앞선 포스팅에서 구글 클라우드 플랫폼(이하 GCP) 에 MSSQL 을 설치하고 

접속하는 것까지 테스트 해보았다.  

GCP 를 활용하여 테스트서버를 구축하는 것의 장점은 인터넷만 가능하다면

어디든 접속이 가능하다는 것이다. 


GCP 에 오라클을 설치하고 접속하는 것 또한 MSSQL 과 과정이 동일하다.

오라클이 사용하는 포트로만 변경하면 된다. 




1. 구글 클라우드 플랫폼 준비


GCP 계정이 없다면 이전에 작성한 내용을 참고해서 만들어보자. 간단하다 


http://riorio.tistory.com/107



2. Oracle 12c 설치하기 


오라클닷컴 에서 oracle 12c 를 다운로드 한다. 


 윈도우에 설치하는 것은 간단하다. 따로 작성하진 않겠다.


3. 방화벽 설정


GCP 에 oracle 를 설치하고 나서 바로 접속하려면 접속이 되지 않는다. 

몇가지 작업을 해줘야 한다. 


- VPC 네트워크 설정

    GCP 콘솔로 들어간 후 왼쪽의 스크롤바를 내려서 VPC 네트워크를 확인한다.  


 


  콘솔로 이동!


왼쪽에 길게 늘어선 메뉴 스크롤바를 내린다



방화벽 규칙을 만들자 

디폴트로 만들어진 방화벽 규칙 + MSSQL 테스트용으로 작성한 방화벽 

규칙 말고는 없다. 

이 상태에서는 외부에서 오라클 DB 서버로 접속이 안된다. 




방화벽 규칙의 이름을 만들자

대상은 네트워크의 모든 인스턴스로 선택





테스트 서버로 접속을 허용할 ip 또는 ip 대역을 입력한다. 

나는 내 pc 로만 접속할거라 내 pc 의 ip 를 입력했다. 

0.0.0.0 을 입력하면 모든 ip 가 허용된다.

ORACLE 접속을 테스트할 예정이니 ORACLE 이 

사용할 포트 (default 1521) 를 규칙에 맞게 써준다. 


만들기 클릭



시간이 좀 지나면 방화벽 규칙이 만들어진걸 확인 할 수가 있다. 


- 테스트서버 방화벽


테스트 서버의 윈도우즈 방화벽에 oracle 전용 inbound rule 을 추가하자.


제어판 -> 시스템 및 보안 -> 윈도우즈 방화벽 -> 고급설정 


Inbound Rules 에서 New Rule 추가 






oracle 포트를 입력 하자 








새로운 방화벽 규칙에 이름을 지어주자. 



4. 테스트 


여기까지 설정했으면 외부서버에서 테스트 서버의 oracle 에 접속이 되는지

테스트 해보자.


- DB server side 


우선 oracle 서버에 접속 테스트용 계정을 만들자. 


SQL> create user c##test identified by test container=all;

User created.

SQL> grant create session to c##test;

Grant succeeded.


- Client side


 내pc 에서 접속을 하려면 oracle client 가 설치 되어 있어야 한다. 

 tnsnames.ora 파일 수정 


GCP =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = ##테스트서버IP )(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = orcl)

    )

  )


ip 와 서비스 네임은 환경에 맞게 수정한다. 



접속이 잘된다. 


이상 끗

반응형

'생계 > Oracle' 카테고리의 다른 글

다른 owner 의 테이블 truncate  (0) 2018.05.31
리눅스환경 오라클 삭제 linux  (0) 2018.05.24
oracle 12c silent mode 설치  (0) 2017.12.13
스키마모드 datapump 테스트  (0) 2017.12.06
오라클 datafile resize  (0) 2017.11.06
Posted by 돌고래트레이너
생계/SQL Server2018. 4. 5. 14:59
반응형


구글 클라우드 플랫폼을 사용해서 테스트용 서버를 구축 할 수 있다. 

이렇게되면 인터넷만 되는 환경이라면 어디서든 접속할수 있는 장점이 있다.  

이전 포스팅에도 작성했지만 구글 클라우드 플랫폼에서는 $300 까지 

무료로 제공이 된다. 



1. 구글 클라우드 플랫폼 준비


GCP 계정이 없다면 이전에 작성한 내용을 참고해서 만들어보자. 간단하다 


http://riorio.tistory.com/107



2. SQL Server 2017 설치하기


아래 링크를 따라가면 SQL Server 를 다운받을수 있다. 

https://www.microsoft.com/en-us/sql-server/sql-server-downloads


free trial / developer / express 어느 버전을 다운받아도 크게 상관은 없다. 


## SQL Server 2017 부터는 SSMS 를 따로 다운로드해야한다. 

아래 링크에서 다운 받아 설치하면 된다. 


https://docs.microsoft.com/ko-kr/sql/ssms/download-sql-server-management-studio-ssms


설치는 매우 간단해서 따로 작성하진 않겠다. 그냥 next, next 하면 된다. 


## 나는 VM을 지역을 미국쪽으로 선택을 했다. 그래서 SQL Server 도 

영문 버전으로 다운받아야 했다. 

## VM 을 미국지역에 설치하는 이점 

  1. 미국지역 선택 시 추가요금이 없다. 

  2. 가끔 인터넷을 하다가 한국에서 접속이 안되는 서비스들이 있다. 

   (ex. amazon prime membership 의 스트리밍 서비스는 

     한국에서 이용이 불가하다. )

    그런 서비스들은 미국에 테스트 서버를 만들어 놓으면 여기서 

    이용할수가 있다. 


3. 방화벽 설정


GCP 에 SQL Server 를 설치하고 나서 바로 접속하려면 접속이 되지 않는다. 

몇가지 작업을 해줘야 한다. 


- VPC 네트워크 설정

    GCP 콘솔로 들어간 후 왼쪽의 스크롤바를 내려서 VPC 네트워크를 확인한다.  


 


  콘솔로 이동!


왼쪽에 길게 늘어선 메뉴 스크롤바를 내린다


봥화벽 규칙을 만들자 

디폴트로 만들어진 방화벽 규칙 말고는 없다. 

이 상태에서는 외부에서 테스트 DB 서버로 접속이 안된다. 



방화벽 규칙의 이름을 만들자

대상은 네트워크의 모든 인스턴스로 선택



테스트 서버로 접속을 허용할 ip 또는 ip 대역을 입력한다. 

나는 내 pc 로만 접속할거라 내 pc 의 ip 를 입력했다. 

0.0.0.0 을 입력하면 모든 ip 가 허용된다.

SQL Server 접속을 테스트할 예정이니 SQL Server 가 

사용할 포트 (default 1433) 를 규칙에 맞게 써준다. 

만들기 클릭




시간이 좀 지나면 방화벽 규칙이 만들어진걸 확인 할 수가 있다.

 

- SQL Server 설정 확인


 SQL Server 의 기본 port 는 1433 이다. 따로 바꾸지 않았다면 해당 포트를 

사용하겠지만 한번 확인해보자.  


시작 -> SQL Server Configuration Manager 를 연다. 

Protocols for MSSQLSERVER 클릭 -> TCP/IP  status 확인

disabled 상태면 Enabled 로 바꿔준다. 우클릭해서 속성을 확인


설정을 변경했다면 SQL Server 를 재시작하자. 



- 테스트서버 방화벽


테스트 서버의 윈도우즈 방화벽에 mssql 전용 inbound rule 을 추가하자.


제어판 -> 시스템 및 보안 -> 윈도우즈 방화벽 -> 고급설정 


Inbound Rules 에서 New Rule 추가 




SQL Server 포트를 입력 하자 



새로운 방화벽 규칙에 이름을 지어주자. 


4. 테스트 


여기까지 설정했으면 외부서버에서 테스트 서버의 SQL Server 에 접속이 되는지

테스트 해보자.


접속 테스트는 각자 편한 툴로 사용하면된다. 

나는 개인적으로 Oracle SQL Developer 를 선호한다. 

한가지 툴로 oracle, mysql, mariadb, mssql, sybase 까지

접속이 가능하기 때문이다. 

물론 oracle 을 제외하고는 따로 커넥터를 다운 받아야 한다. 



잘 따라했으면 접속이 될 것이다.

 

반응형
Posted by 돌고래트레이너
생계/기타2018. 3. 7. 10:20
반응형

클라우드 서버 많이들 사용하시나요?

임시로 사용할 테스트용 서버가 필요하거나 할때, 유용하게 쓸수 있는데요. 


 요즘(사실 꽤 됐죠..)  클라우드 서버, IaaS 가 유행하면서 클라우드 서버를 무료로 

제공해주는 밴더들이 많이 생겼습니다. 


대표적으로는 아마존의 AWS, 마이크로소프트의 azure, 그리고 오늘 포스팅할 

내용인 구글의 구글 클라우드 플랫폼(GCP) 등이 있습니다. 

이 외에도 IBM 이라든지 많은 벤더, 중소업체들이 클라우드 서비스를 제공해줍니다.

위의 3 사 모두 기간, 크레딧 한도에서 무료로 클라우드 서비스가 이용가능합니다. 


개인적으로는 그중 구글이 맘에 듭니다. AWS 는 무료 기간이 지나면 자동결제가 

되어서 무료계정 만들어놓고 방심하는 사이 결제가 되는 단점이 있습니다. 

그러고 보니 아마존은 이런 수법을 자주 쓰는 것 같습니다. 


제가 미국에서 지낼때 아무것도 모르고 아마존 prime 멤버쉽을 신청했는데, 

이게 소리 소문없이 1년에 $100 가량 결제 되고 있었습니다. ㅠㅠ

한국에 온 이후로는 아무것도 이용도 안했는데 말이죠.. 

여튼 아마존이 그런 놈들입니다. 여러분!!


MS의 azure 는 GCP 보다 적은 크레딧 ($200) 을 제공해 줍니다. 

그리고 가입하고 클라우드 서버를 만드는 과정에서 원하는 걸 찾는것이 

좀 힘들었습니다. 

  

반면 구글 클라우드 플램폼(GCP) 은 $300 크레딧에 기간으로는 1년을 

사용할수 있고, 크레딧이 모두 소진되면 서비스가 종료되고 자동으로 charge 

되지 않습니다. 


앞에 썰이 길었는데, 결론은 클라우드 서비스 제공하는데 많으니까 

원하시는 곳에서 이용하세요. 전 GCP 가 好!!



이제 본격적으로 GCP 무료계정을 사용하는 법을 알아봅시다. 



 Google 에서 구글 클라우드 플랫폼 검색 해보자.




2. 검색결과의 링크를 클릭해보자. 



무료로 사용하기 클릭!



캡쳐하는것을 빼먹었는데, 계정을 등록합니다.

그 과정에서 신용카드 정보를 입력해야 하는데,

1불이 빠져나가고 본인확인이 되면 다시 취소됩니다.




1년 기간동안 $300 사용이 가능합니다. 





아디다스 클릭하시구여



compute engine -> VM 인스턴스




VM 인스턴스 만듭니다.




원하는 사양을 선택합니다. 



영역은 US 로 해놓는게 더 저렴합니다. 

저는 vCPU 2개 선택했습니다. 

물론 많을수록 성능은 좋지만 가격이 비싸져서 사용할수있는 기간이 줄어듭니다.

윈도우즈를 선택하게되면 라이센스 비용이 추가로 나갑니다. 

cpu 올리는것 보다 윈도우즈 라이센스가 더 비쌉니다. ㅠㅠ




인스턴스가 만들어졌네요. 


이제 만들어진 vm 서버에 접속하기 위한 방법을 알아봅니다. 

저는 windows 서버니까 원격접속파일(rdp)를 다운받아야하는데  

그 전에 비밀번호를 설정해야 합니다. 



랜덤하게 생성된 비밀번호가 주어집니다. 


처음엔 이걸로 접속하고 나중에 바꾸면 됩니다. 


비밀번호 설정이 끝났으면 RDP 파일을 다운받습니다. 


다운받은 파일입니다. 


이 파일을 더블클릭하여 vm인스턴스에 접속합니다. 



아까 받은 비밀번호를 입력합니다. 



완성된 vm인스턴스입니다. 




이제 비밀번호를 변경하셔서 남은 크레딧만큼 쓰면 됩니다. 

크레딧을 모두 사용하면 계정사용이 저절로 중지되며 동의 없이  

요금이 부과되지는 않습니다.



이상끗 공감구걸 광고클릭 감사



반응형
Posted by 돌고래트레이너
생계/Sybase2017. 12. 14. 13:31
반응형

오라클 12c 부터 CDB, PDB 라는 새로운 개념이 도입되었다. 

CDB 를 사용하는 DB 에서는 기존처럼 유저를 생성하면 에러가 난다. 

DB에 접속하는 것도 기존과 조금 다르다. 

CDB 에 접속하는 유저들을 common user 라고 부르는데, 

CDB 에 접속하려면 c## 이라는 접두어를 붙여야 한다.

(오라클이 제공하는 common user 는 예외. ex: sys,system)


● Common user 생성


 [oracle@oracdb response]$ sqlplus system/oracle


SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 13 15:15:43 2017


Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Last Successful login time: Wed Dec 13 2017 15:12:59 +09:00


Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> create user c##test identified by test container=all;


User created.


SQL> grant create session to c##test;


Grant succeeded.


SQL> exit

Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

[oracle@oracdb response]$ sqlplus test/test            -- 이전 버전방식의 로긴 시도


SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 13 15:16:35 2017


Copyright (c) 1982, 2014, Oracle.  All rights reserved.


ERROR:

ORA-01017: invalid username/password; logon denied


 

[oracle@oracdb response]$ 

[oracle@oracdb response]$ sqlplus c##test/test        -- c## 접두어 붙여서 접속  

 

SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 13 15:17:02 2017


Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Last Successful login time: Wed Dec 13 2017 15:16:47 +09:00


Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> show con_name;


CON_NAME

------------------------------

CDB$ROOT



● PDB 에 접속권한 주기


[oracle@oracdb ~]$ sqlplus system/oracle


SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 14 13:51:46 2017


Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Last Successful login time: Wed Dec 13 2017 17:20:59 +09:00


Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> 

SQL> alter session set container=pdb01;


Session altered.


SQL> grant connect to c##test container=current;


Grant succeeded.


SQL> exit

Disconnected from Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

[oracle@oracdb ~]$ sqlplus c##test/test


SQL*Plus: Release 12.1.0.2.0 Production on Thu Dec 14 13:59:31 2017


Copyright (c) 1982, 2014, Oracle.  All rights reserved.


Last Successful login time: Thu Dec 14 2017 13:49:30 +09:00


Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> alter session set container=pdb01;      


Session altered.


SQL> show con_name 


CON_NAME

------------------------------

PDB01

SQL> 




끗. 공감 구걸


반응형

'생계 > Sybase' 카테고리의 다른 글

BCP 로 ASE 에서 IQ 로 데이터 이관  (0) 2017.09.14
Sybase Storage정보  (0) 2017.09.11
Sybase 성능분석 로그 편집 쉘  (0) 2017.09.09
Sybase DB사용량  (0) 2017.09.09
Sybase session kill  (0) 2017.09.09
Posted by 돌고래트레이너
생계/Oracle2017. 12. 13. 14:27
반응형

centos 7 환경에서 oracle 12c silent mode 로 설치 


가끔 오라클을 설치할때 GUI 방식을 사용하지 못할때가 있다. 

그럴때는 silent 모드로 설치하면 되는데, 지금까지는 그냥 GUI 방식으로 

일할수 있는 환경을 만들어 달라고 요구했었다. 

이번에는 그런 환경이 여의치 않아 테스트 삼아 silent 방식으로 설치했다. 

역시 IT 의 세계가 그렇듯이 한방에 되는건 없었다. 

responseFile 에서 삽질에 삽질을 거듭하다 설치를 성공했다. 


현시점으로는 EE 버전에서 12c R2 는 안나온것 같다. 

오라클 버전은 Enterprise Edition 12.1.0.2.0 이다. 

DB 는 containerDB 를 사용하는 것으로 설정했다.


많이 참고하십시요.  공감 구걸.


1. 환경설정 (root 유저)


- yum install 

yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh compat-libstdc++-33 libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat xorg-x11-apps


- oracle 유저 생성


[root@localhost ~]# groupadd oinstall

[root@localhost ~]# groupadd dba

[root@localhost ~]# useradd -g oinstall -G dba oracle

[root@localhost ~]# passwd oracle

Changing password for user oracle.

New password: 

BAD PASSWORD: The password is shorter than 8 characters

Retype new password: 

passwd: all authentication tokens updated successfully.

[root@localhost ~]# 


cd / 

mkdir oracle

chown -R oracle:oinstall /oracle




vi /etc/sysctl.conf

  

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmall = 2097152

kernel.shmmax = 1987162112

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586


-- 설정 확인

sysctl -p


vi /etc/security/limits.conf

( 파일 아래쪽에 ) 

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536



2. oracle 설정 (oracle 유저)


su - oracle


vi /home/oracle/.bash_profile

------------ bash_profile --------------------------------------------------

PATH=$PATH:$HOME/.local/bin:$HOME/bin


export TMP=/tmp

export ORACLE_HOSTNAME=ora12c

export ORACLE_UNQNAME=orcl

export ORACLE_SID=orcl

export ORACLE_BASE=/oracle

export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1

export ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

export PATH=$ORACLE_HOME/bin:$PATH

------------ bash_profile --------------------------------------------------


unzip linuxamd64_12102_database_1of2.zip

unzip linuxamd64_12102_database_2of2.zip



3. silent mode 로 Database 설치


cd /home/oracle/database


[oracle@oracdb database]$  ./runInstaller -silent \

> DECLINE_SECURITY_UPDATES=true \

> SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \

> oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0 \

> oracle.install.option=INSTALL_DB_SWONLY \

> ORACLE_HOSTNAME=oracdb \

> UNIX_GROUP_NAME=dba \

> INVENTORY_LOCATION=/home/oracle/oraInventory \

> SELECTED_LANGUAGES=en \

> ORACLE_HOME=/oracle/product/12.1.0/dbhome_1 \

> ORACLE_BASE=/oracle \

> oracle.install.db.InstallEdition=EE \

> oracle.install.db.DBA_GROUP=oinstall \

> oracle.install.db.OPER_GROUP=dba \

> oracle.install.db.BACKUPDBA_GROUP=dba \

> oracle.install.db.DGDBA_GROUP=dba \

> oracle.install.db.KMDBA_GROUP=dba

Starting Oracle Universal Installer...


Checking Temp space: must be greater than 500 MB.   Actual 14939 MB    Passed

Checking swap space: must be greater than 150 MB.   Actual 3071 MB    Passed

Preparing to launch Oracle Universal Installer from /tmp/OraInstall2017-12-12_05-11-10PM. Please wait ...[oracle@oracdb database]$ [WARNING] [INS-13014] Target environment does not meet some optional requirements.

   CAUSE: Some of the optional prerequisites are not met. See logs for details. /tmp/OraInstall2017-12-12_05-11-10PM/installActions2017-12-12_05-11-10PM.log

   ACTION: Identify the list of failed prerequisite checks from the log: /tmp/OraInstall2017-12-12_05-11-10PM/installActions2017-12-12_05-11-10PM.log. Then either from the log file or from installation manual find the appropriate configuration to meet the prerequisites and fix it manually.

You can find the log of this install session at:

 /home/oracle/oraInventory/logs/installActions2017-12-12_05-11-10PM.log


[oracle@oracdb database]$ 

[oracle@oracdb database]$ 

[oracle@oracdb database]$ 

[oracle@oracdb database]$ The installation of Oracle Database 12c was successful.

Please check '/home/oracle/oraInventory/logs/silentInstall2017-12-12_05-11-10PM.log' for more details.


As a root user, execute the following script(s):

        1. /home/oracle/oraInventory/orainstRoot.sh

        2. /oracle/product/12.1.0/dbhome_1/root.sh




Successfully Setup Software.


** root 로 접속해서 스크립트 실행 


[root@oracdb ~]# sh /home/oracle/oraInventory/orainstRoot.sh

Changing permissions of /home/oracle/oraInventory.

Adding read,write permissions for group.

Removing read,write,execute permissions for world.


Changing groupname of /home/oracle/oraInventory to dba.

The execution of the script is complete.

[root@oracdb ~]# sh /oracle/product/12.1.0/dbhome_1/root.sh

Check /oracle/product/12.1.0/dbhome_1/install/root_oracdb_2017-12-12_17-16-25.log for the output of root script

[root@oracdb ~]# 




** 똑같은 내용인데  silent 이하를 db_install.rsp 파일로 만들어서 responseFile 옵션넣고 실행하면 설치가 진행이 안된다. 그냥 커먼드라인에 붙여서 해결..

 ./runInstaller -silent \
DECLINE_SECURITY_UPDATES=true \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v12.1.0 \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=oracdb \
UNIX_GROUP_NAME=dba \
INVENTORY_LOCATION=/home/oracle/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_HOME=/oracle/product/12.1.0/dbhome_1 \
ORACLE_BASE=/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.DBA_GROUP=oinstall \
oracle.install.db.OPER_GROUP=dba \
oracle.install.db.BACKUPDBA_GROUP=dba \
oracle.install.db.DGDBA_GROUP=dba \
oracle.install.db.KMDBA_GROUP=dba


4. dbca.rsp 로 DB 생성


[oracle@oracdb response]$ dbca -silent -responseFile /home/oracle/database/response/dbca_fs.rsp

Enter PDBADMIN User Password: 

 

Copying database files

1% complete

2% complete

8% complete

13% complete

19% complete

27% complete

Creating and starting Oracle instance

29% complete

32% complete

33% complete

34% complete

38% complete

42% complete

43% complete

45% complete

Completing Database Creation

48% complete

51% complete

53% complete

62% complete

70% complete

72% complete

Creating Pluggable Databases

78% complete

100% complete

Look at the log file "/oracle/cfgtoollogs/dbca/cdbtest/cdbtest.log" for further details.


--------------- dbca.rsp ------------------------------

[GENERAL]

RESPONSEFILE_VERSION = "12.1.0"

OPERATION_TYPE = "createDatabase"


[CREATEDATABASE]

GDBNAME = "cdbtest"

DATABASECONFTYPE  = "SI"

SID = "cdbtest"

CREATEASCONTAINERDATABASE = true

NUMBEROFPDBS = 1

PDBNAME = pdb01

TEMPLATENAME = "General_Purpose.dbc"

SYSPASSWORD = "oracle"

SYSTEMPASSWORD = "oracle"

DATAFILEDESTINATION = /DATA01/oracle

RECOVERYAREADESTINATION= /DATA01/oracle/reco

STORAGETYPE=FS


CHARACTERSET = "US7ASCII"

NATIONALCHARACTERSET= "UTF8"


SAMPLESCHEMA=FALSE


MEMORYPERCENTAGE = "40"

DATABASETYPE = "MULTIPURPOSE"

AUTOMATICMEMORYMANAGEMENT = "TRUE"

TOTALMEMORY = "2048"


--------------- dbca.rsp ------------------------------


** 나는 12c 의 new feature 인 CDB, PDB 를 테스트 할 목적이라 

CDB, PDB 를 생성하는 것으로 설정을 했다. 참고해서 자신의 용도에 맞게

설정을 수정하시길...



[oracle@oracdb response]$ sqlplus / as sysdba


SQL*Plus: Release 12.1.0.2.0 Production on Wed Dec 13 14:21:19 2017


Copyright (c) 1982, 2014, Oracle.  All rights reserved.



Connected to:

Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production

With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options


SQL> select name, cdb from v$database;


NAME      CDB

--------- ---

CDBTEST   YES


SQL> 


 


이상 끗

반응형
Posted by 돌고래트레이너