오라클DB
DB
- 여러 사람에 의해 공유되어 사용될 목적으로 통합하여 관리되는 데이터의 집합이다.
- 자료를 구조화 하여 저장함으로써 자료 검색과 갱신의 효율을 높일 수 있다.
Oracle DB
- DB 서버가 통합된 하나의 스토리지를 공유하는 방식이다.
- 오라클 db 는 mysql 과 달리 데이터 베이스를 만드는 것이 아닌 사용자를 만들고 권한을 부여한다.
- 사용자 중심으로 테이블을 관리한다.
Oracle 사용자 생성
su - oracle
명령을 이용하여oracle
사용자로 전환한다.sqlplus / as sysdba
명령을 통해SQL
창으로 들어가자.CREATE USER "사용자명" identified by "비번"
명령을SQL
창에 입력하여 사용자를 생성한다.- 여기서
ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다.
라는 오류가 발생 한다면 사용자명 앞에c##
또는C##
을 붙여야한다.CREATE USER "c##사용자명" identified by "비번"
select username from dba_users;
명령을SQL
창에 입력하여 새로 만든 계정을 확인할 수 있다.- 새로 만든 계정에 접속할려고 하면 권한이 없다는 에러가 발생한다.
SYS
계정으로 먼저 연결한 다음 권한을 부여해줘야 한다. conn 사용자명
을SQL
창에 입력하여 새로 만든 계정으로 접속한다.- 테이블 생성을 해보자. 밑에는 예시 테이블이다.
- 생성한 테이블을 확인하자.
TEST
라는 테이블이 만들어진 것을 확인할 수 있다. - 생성한 테이블에 데이터를 넣어보자.
ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다.
오류가 발생하였다. 해당 에러는users
테이블스페이스에서 얼마만큼의 영역을 할당한것인지 정해지지 않은 상태이기 때문이다. 해결 방법은 해당 테이블스페이스에 대해 공간을 할당해 주면된다.- 이제 다시
insert
명령어로 데이터를 넣어보자. - 테이블에 잘 들어갔는지 확인해 보자. 데이터가 db에 잘 들어갔다.
Oracle DB 명령어
show user
: 현재 접속중인 유저를 알 수 있다.SELECT * FROM tab;
: 현재 계정의 테이블 목록 조회하기.select * from all_users;
: 계정 정보들 확인하기.SELECT owner FROM dba_tables WHERE table_name= '테이블명';
: 테이블 소유자가 누구인지 확인할 수 있다. 단SYS
유저로 접속한다음 이 명령어를 사용해야 한다.CREATE USER 사용자명 IDENTIFIED BY 암호;
: 사용자 생성.ALTER USER 사용자명 IDENTIFIED BY 새로운 암호;
: 사용자 비밀번호 변경.DROP USER 사용자명 CASCADE;
: 사용자 삭제.grant 권한,권한2,.. to 계정명;
: 권한 부여하기.revoke 권한,권한2,.. from 계정명;
: 권한 회수하기(취소하기).commit;
: 지금 까지의 변경 사항들 적용하기.select * from DBA_ROLE_PRIVS WHERE GRANTEE = 사용자명(대문자);
: 사용자에게 부여된 권한들을 확인할 수 있다.delete from 테이블명;
: 테이블의 모든 행을 삭제한다.drop table 테이블명;
: 테이블을 삭제한다. 정확히는 휴지통으로 보낸다.drop table 테이블 이름 purge;
: 휴지통으로 보내지 않고 테이블을 완전 삭제 한다.show recyclebin;
: 휴지통의 테이블들 조회.FLASHBACK TABLE 테이블 이름 TO BEFORE DROP;
: 휴지통의 테이블 복원.PURGE RECYCLEBIN;
: 휴지통 비우기.PURGE TABLE 테이블 이름;
: 휴지통에서 특정 테이블만 삭제.PURGE DBA_RECYCLEBIN;
: DBA 권한으로 휴지통 내 테이블 전체 삭제.select status from v$instance;
: 현재 DB 상태 확인하기.DELETE FROM 테이블명 WHERE 조건;
: 테이블에 있는 조건에 맞는 행을 삭제한다.
참고 사이트 목록
참고 사이트Permalink
- Install Oracle Database 21c XE on Rocky Linux 8 CentLinux
- 오라클 현재 DB 상태 확인하기
- Oracle ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. 에러 해결
- Oracle 사용자 생성 및 삭제 방법 (Create User) (tistory.com)
- Oracle 오라클 기본 - 데이터 베이스 만들기(사용자 생성)
- Oracle과 MySQL의 차이점
- Oracle 설치 후 계정 생성 및 테이블 생성
- 오라클 현재 작업중인 유저 확인하기
- 새로운 계정을 만들어 테이블 만들어보기
- ORA-01045 (로그인 실패/권한 부족)
- Oracle Show Tables: List Tables in Oracle Database (oracletutorial.com)
- Oracle 데이터 입력(INSERT), 조회(SELECT), UPDATE(수정), DELETE(삭제)
- 오라클 SQL, SELECT문 특정 열 선택
- 오라클 INSERT 방법 & 노하우 정리 (데이터 입력)
- 오라클 ORA-01950: 테이블스페이스 ‘USERS’에 대한 권한이 없습니다 오류 해결 방법
- SQLD ORA-01950: 테이블스페이스 ‘USERS’에 대한 권한이 없습니다.
- Oracle BIN$…형식의 테이블 완전히 삭제하기
- 오라클 계정,권한 관리 (tistory.com)
- oracle 모든 유저, 데이터 베이스, 테이블 확인 : 네이버 블로그 (naver.com)
- Oracle 계정 생성 및 권한 부여 방법 (tistory.com)
- Oracle DB 계정 생성/사용자 확인
- DELETE문을 사용하여 테이블에서 행 제거 - IBM Documentation
댓글남기기