[공지] 댓글 작성에 관해서.

이 사이트에 댓글을 남기면, 즉시 표시되지 않고 관리자의 검토 승인 후 댓글이 표시됩니다.
스팸댓글 등의 이유로 이렇게 사용중이니, 댓글 남긴 후 작성한 댓글이 보이지 않아도 다시 작성할 필요가 없습니다.
참고 하여 주시기 바랍니다.

PostgreSQL 기초 사용법.

postgresql 기초 사용법 – 처음 사용해봄.

*작업환경
OS: ubuntu 22.04
PostgreSQL: 14.12

1. 데이터베이스 접속.

데이터베이스에 접속하기위해서는 postgres 계정을 이용한다. 리눅스 패키지로 설치한 경우에는 postgres 계정이 만들어져 있다.

su 명령으로 계정을 전환한다.

$ sudo su - postgres

데이터베이스에 접속하기 위해 psql 명령을 사용한다.

$ psql
psql (14.12 (Ubuntu 14.12-0ubuntu0.22.04.1))
Type "help" for help.

postgres=#

Continue reading

[eve-ng labs.] Juniper 스위치 OSPF 설정

주니퍼 vEX 스위치 OSPF(open shortest path first) 설정하기.

* 시험환경: eve-ng.
사용 스위치: Juniper vEX 스위치, cisco vIOS 스위치
R1, R2, R3 : 주니퍼 vEX 스위치
Switch-1, Switch-2: 시스코 vIOS 스위치

구성은 아래 처럼.

1. R1 설정(Designated Router)

각 라우터와 연결된 인터페이스 설정

[edit]
root@R1# set interfaces ge-0/0/0 unit 0 family inet address 10.10.1.1/30

[edit]
root@R1# set interfaces ge-0/0/1 unit 0 family inet address 10.10.2.1/30

ospf 설정. cisco의 process id 개념은 없다.

root@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/0

[edit]
root@R1# set protocols ospf area 0.0.0.0 interface ge-0/0/1

Continue reading

[eve-ng labs.] Juniper 스위치 VRRP 설정.

주니퍼 스위치 VRRP(Virtual Router Redundancy Protocol) 설정하기.

* 작업환경:
eve-ng 커뮤니티 버전, 주니퍼 vEX 스위치.

* 구성 : 아래 그림과 같이 시험환경 구성.

1. 스위치1, 스위치2의 vrrp 설정.

1.1. R1 스위치 설정

L2 스위치와 연결된 인터페이스에 IP 주소와 VRRP설정을한다.

[edit]
root# set interfaces ge-0/0/0 unit 10 family inet address 10.10.1.5/29 vrrp-group 10 virtual-address 10.10.1.1 priority 250 accept-data

Continue reading

[eve-ng labs.] Junos static routing

주니퍼 스위치 static 라우팅 설정.

작업환경: eve-ng, vEX 스위치

구성은 아래 그림과 같음.

1. Router 설정.

하단 스위치와 연결된 인터페이스에 IP 주소를 설정한다.

[edit]
root# set system host-name vEX-Router

[edit]
root@vEX-Router# set interfaces ge-0/0/0 unit 0 family inet address 10.10.1.1/30

[edit]
root@vEX-Router# set interfaces ge-0/0/1 unit 0 family inet  address 10.10.2.1/30

[edit]
root@vEX-Router# commit
commit complete

각 네트워크로 라우팅을 설정한다.

[edit]
root@vEX-Router# set routing-options static route 172.16.100.0/24  next-hop 10.10.1.2

[edit]
root@vEX-Router# set routing-options static route 172.16.200.0/24  next-hop 10.10.2.2

[edit]
root@vEX-Router# commit
commit complete

Continue reading

[eve-ng labs.] Junos 기초.

[eve-ng labs.]주니퍼 junos 기초.

* 시험 환경: eve-ng 커뮤니티 버전, 주니퍼 vEX 스위치.
구성은 아래그림처럼.

junos에서, 설정 및 설정 확인은 set, delete, commit, show 명령어를 이용한다.

set : 설정, 설정 변경
delete : 설정 제거
commit : 변경사항 적용, 저장
show : 설정 확인.

1. 로그인, root 비밀번호 설정 그리고 설정 저장.

부팅후 로그인 ID: root, 비밀번호 없음.

login: root
Last login: Sun Mar 19 08:08:06 on ttyu0

--- JUNOS 23.1R1.8 Kernel 64-bit  JNPR-12.1-20230307.3e7c4b6_buil
root@:~ #

부팅후 아래 메시지 반복됨.

Auto Image Upgrade: To stop, on CLI apply
"delete chassis auto-image-upgrade"  and commit                                 

Auto Image Upgrade: No DHCP Client in bound state, reset all DHCP clients       

Auto Image Upgrade: DHCP INET Client State Reset : fxp0.0                       

Auto Image Upgrade: DHCP INET6 Client State Reset : fxp0.0 

위의 명령어를 실행하려면 root 비밀번호가 설정되어 있어야한다.

cli 모드로(operation mode) 변경

root@:~ # cli

설정 모드(configuration mode)로 변경

root> configure
Entering configuration mode

[edit]
root#

이제, root 비밀번호를 설정한다.

root# set system root-authentication plain-text-password
New password:
Retype new password:

위의 업그레이드 메시지가 반복되지 않도록, 아래 명령어를 실행한다.

[edit]
root# delete chassis auto-image-upgrade

설정을 적용하기 위해 commit 명령을 입력한다.

[edit]
root# commit
commit complete

Continue reading

Ubuntu, python3+Django+Oracle19c(grid) 사용하기.

우분투 리눅스에서 python3, django, oracle 19c 사용하기.

* 작업 환경
OS: ubuntu 22.04
ip address : 172.30.124.211 (오라클 설치된 서버 아님)
python: python3.10.12
oracle client: 설치됨.
django: 5.0.4
Oracle 데이터베이스 : SCAN IP 172.30.124.241, 172.30.124.242,172.30.124.243

* 주의사항
cx_Oracle 패키지를 설치하면 오라클 클라이언트없이 파이썬 스크립트를 작성하고 실행할 수 있다.
하지만 Django 프로그램에서 오라클 데이터베이스를 사용하려면, 오라클 클라이언트가 설치되어 있어야 한다.
오라클 클라이언트 설치는 아래 글을 참고하면 된다.
https://blog.boxcorea.com/wp/archives/3700

1. cx_Oracle 패키지 설치.

(venv) $ pip install cx_oracle
Collecting cx_oracle 
...

2. 테스트 코드 작성

import cx_Oracle

def test_oracle():
    dsn_tns = cx_Oracle.makedsn(host='172.30.124.242', port='1521', service_name='orcl')
    con = cx_Oracle.connect(user='fox', password='fox123', dsn=dsn_tns)
    cur = con.cursor()
    cur.execute('select * from test')
    for i in cur:
        print(i)
    cur.close()
    con.close()


if __name__ == '__main__':
    test_oracle()

코드 실행 결과 이상 없이 잘 실행됨.

(venv) $ python main.py
(2, 'snowfox')
(1, 'poss')

Continue reading

우분투 리눅스에 오라클 클라이언트 설치(rpm 패키지)

Ubuntu 리눅스에 Oracle Client 설치하기 – rpm 패키지로

작업 환경
* 클라이언트:
os: ubuntu 22.04
IP 주소: 172.30.124.211

오라클 데이터베이스 서버:
OS: Oracle Linux 8
오라클 데이터베이스: oracle 19c 그리드환경
서비스 이름: orcl
SCAN-IP 주소: fox-scan (172.20.124.241, 172.20.124.242, 172.30.124.243)

오라클 클라이언트는 데비안 패키지 배포는 지원하지 않으므로, rpm 패키지나 tar 파일을 받아서 설치해야한다.
여기서는 rpm 패키지를 alien 명령으로 설치하도록 한다.

1. 오라클 사이트에서 아래 rpm 패키지를 다운로드한다.

oracle-instantclient-basic-21.13.0.0.0-1.el8.x86_64.rpm    
oracle-instantclient-devel-21.13.0.0.0-1.el8.x86_64.rpm    
oracle-instantclient-sqlplus-21.13.0.0.0-1.el8.x86_64.rpm

sql 명령을 클라이언트측에서 직접 사용할 필요가 없다면 마지막 패키지는 설치하지 않아도 된다.

Continue reading

Grid 환경에서 오라클 데이터베이스 사용

사용할 데이터베이스는 이전글에서 설치한 그리드 환경의 oracle19c 이다.

설치와 설치된 환경은 아래 글 참고.

* 데이터베이스에 접속한다.(그리드 환경의 노드 1 또는 2의 리눅스 oracle계정)

$ sqlplus sys/******@fox-scan/orcl as sysdba


SQL*Plus: Release 19.0.0.0.0 - Production on Thu Apr 18 14:31:12 2024
Version 19.3.0.0.0

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


Connected to:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

Continue reading

oracle grid 19c, oracle database 설치

oracle grid 환경에서 oracle database 설치하기.

* 작업환경

각각 VMware VM.

OS: Oracle Linux 8.9
HDD(OS): 100GB
ASM DATA DISK: 50GB x 3( /dev/sdb, /dev/sdc, /dev/sdd 각 50GB)
MEM: 16GB
swap: 16GB

 

1. OS 기본설정 및 사전 준비사항

* selinux 해제

# getenforce
Enforcing
# setenforce 0
# getenforce
Permissive

영구 적용을 위해 /etc/selinux/config에 아래 항목을 수정한다.

# vi /etc/selinux/config
...
#SELINUX=enforcing
SELINUX=peremissive
...

* 리눅스 방화벽 해제.

# systemctl stop firewalld
# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

* oracleasm 커널모듈 설치

# dnf install kmod-oracleasm

Continue reading

CentOS 기본 부팅 커널 설정 변경

CentOS 기본 부팅 커널 설정 변경

oracleasm 커널 모듈을 탑재하려고 했으나, 5.x 커널은 지원되지 않는다. 부팅시 커널을 선택하면 되지만, 기본 부팅 커널을 변경해 놓으면 따로 선택하지 않아되 된다.

먼저, 현재 커널 버전을 확인 해 본다.

# uname -a
Linux grid-2 5.15.0-204.147.6.2.el8uek.x86_64 #2 SMP Thu Mar 7 21:48:25 PST 2024 x86_64 x86_64 x86_64 GNU/Linux

grubby 명령어로 현재 설치된 커널을 볼 수 있다.

# grubby --info=ALL | egrep -i "kernel|title"
kernel="/boot/vmlinuz-5.15.0-204.147.6.2.el8uek.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server 8 (5.15.0-204.147.6.2.el8uek.x86_64) "
kernel="/boot/vmlinuz-5.15.0-101.103.2.1.el8uek.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server 8 (5.15.0-101.103.2.1.el8uek.x86_64) "
kernel="/boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server (4.18.0-513.18.1.el8_9.x86_64) 8.9"
kernel="/boot/vmlinuz-4.18.0-477.10.1.el8_8.x86_64"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server (4.18.0-477.10.1.el8_8.x86_64) 8.8"
kernel="/boot/vmlinuz-0-rescue-4ec77e3bebc1438890ddbdcb1d97051f"
args="ro crashkernel=auto rhgb quiet numa=off transparent_hugepage=never $tuned_params"
title="Oracle Linux Server 8 (0-rescue-4ec77e3bebc1438890ddbdcb1d97051f) "

이제, 아래 명령으로 부팅 기본값을 변경한다.

# grubby --set-default /boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64
The default is /boot/loader/entries/4ec77e3bebc1438890ddbdcb1d97051f-4.18.0-513.18.1.el8_9.x86_64.conf with index 2 and kernel /boot/vmlinuz-4.18.0-513.18.1.el8_9.x86_64

변경사항 적용 및 확인을 위해 재부팅한다.

# reboot

재부팅 후 커널 버전 확인해 보면 원하는 커널로 부팅된것을 확인 할 수 있다.

# uname -a
Linux grid-1 4.18.0-513.18.1.el8_9.x86_64 #1 SMP Wed Mar 6 09:34:46 PST 2024 x86_64 x86_64 x86_64 GNU/Linux

참고로, 레드햇 계열 리눅스는 grubby 명령을 사용하지만, 우분투 리눅스처럼 데비안 계열 리눅스는 update-grub2 명령을 사용한다.