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>

* 테이블 스페이스 만들기
테이블 스페이스를 만들기위해 asmdisk group의 이름을 확인한다.

SQL> select name, state, type from v$asm_diskgroup;

NAME                           STATE       TYPE
------------------------------ ----------- ------
DATA                           MOUNTED     EXTERN

FOX_TX라는 이름의 테이블 스페이스를 만든다.

SQL> create tablespace FOX_TS
  2  datafile '+DATA'
  3  size 500M;

???????? ???????.

테이블 스페이스 확인. 위에서 만든 FOX_TS 가 아래쪽에 보인다.

SQL> SELECT tablespace_name FROM dba_tablespaces;

TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
UNDOTBS2
FOX_TS

7 ?? ???????.

SQL>

* 사용자 추가

사용자를 만들고 테이블스페이스 할당한다.
id: fox
password: fox123

SQL> create user fox identified by fox123 default tablespace FOX_TS;

SQL> grant connect, resource to fox;

사용자 확인 해보면 역시 아래쪽에 위에서 만든 사용자가 있다.

SQL> select username from dba_users;

USERNAME
--------------------------------------------------------------------------------
SYS
SYSTEM
XS$NULL
OJVMSYS
LBACSYS
OUTLN
SYS$UMF
DBSNMP
APPQOSSYS
DBSFWUSER
GGSYS

USERNAME
--------------------------------------------------------------------------------
ANONYMOUS
CTXSYS
DVSYS
DVF
GSMADMIN_INTERNAL
MDSYS
OLAPSYS
XDB
WMSYS
GSMCATUSER
MDDATA

USERNAME
--------------------------------------------------------------------------------
SYSBACKUP
REMOTE_SCHEDULER_AGENT
GSMUSER
SYSRAC
GSMROOTUSER
SI_INFORMTN_SCHEMA
AUDSYS
DIP
ORDPLUGINS
SYSKM
ORDDATA

USERNAME
--------------------------------------------------------------------------------
ORACLE_OCM
SYSDG
ORDSYS
FOX

37 행이 선택되었습니다.

* 한글 설정문제해결
현재 문자셋 확인

SQL> SELECT value FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET';

VALUE
--------------------------------------------------------------------------------
AL32UTF8

클라이언트측에서 NLS_LANG 환경변수를 설정한다.

$ export NLS_LANG=KOREAN_KOREA.AL32UTF8

$ sqlplus /nolog

SQL*Plus: Release 19.0.0.0.0 - Production on 목 4월 18 16:24:27 2024
Version 19.3.0.0.0

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

SQL> conn /as sysdba
연결되었습니다.

한글문제로 ???로 표시되던 부분이 잘 보인다.

* 만든 사용자로 접속 테스트.

$ sqlplus fox/fox123@fox-scan/orcl

SQL*Plus: Release 19.0.0.0.0 - Production on 목 4월 18 16:32:32 2024
Version 19.3.0.0.0

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

마지막 성공한 로그인 시간: 목 4월  18 2024 16:28:56 +09:00

다음에 접속됨:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

SQL>

* 테이블 만들어보기.

TEST 라는 이름으로 테이블을 만들어 본다.

SQL> CREATE TABLE test (
  id NUMBER(4),
  name VARCHAR2(10)
);

테이블 확인.

SQL> select * from tab;

TNAME
--------------------------------------------------------------------------------
TABTYPE        CLUSTERID
------------- ----------
TEST
TABLE

잘 된다.

TEST 테이블에 insert가 안되서, 아래 권한을 추가함(관리자 계정으로).

SQL> ALTER USER fox QUOTA unlimited ON fox_ts;

사용자가 변경되었습니다.

* 윈도우 PC 에서 Oracle SQL Developer 사용.
sql developer 설치는 생략.

sql-developer를 실행하고, 접속 메뉴에서 ‘+’ 버튼을 누른다.
‘새로만들기/데이터베이스 접속 선택’ 창이 나오면,
Name 에는 접속에 사용할 이름을 입력(임의로)
사용자 정보의 사용자이름은 위에서 만든 사용자 이름(fox) 과 비밀번호(fox123)를 입력한다.

클러스터의 fox-scan이 public DNS에 등록되어 있지 않기 때문에, fox-scan의 IP 주소(3 개중 아무거나 1개)를 입력한다.
그리고, SID 대신 서비스 이름을 선택하고 서비스이름을 입력한다.

접속이 되면, 왼쪽에서 테이블을 선택하면 위에서 만튼 TEST 테이블이 보인다.

답글 남기기

Your email address will not be published.