사용할 데이터베이스는 이전글에서 설치한 그리드 환경의 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 테이블이 보인다.