ShanePark / markdownBlog

This repository is to keep all my blog posting written in MarkDown online
Creative Commons Attribution 4.0 International
6 stars 4 forks source link

173 #9

Closed utterances-bot closed 1 year ago

utterances-bot commented 2 years ago

Mac) Oracle Cloud FreeTier 이용해 웹 어플리케이션 배포하기 4) 무료 데이터 베이스 만들기 및 데이터 이관하기

Mac) Oracle Cloud FreeTier 이용해 웹 어플리케이션 배포하기 4) 무료 데이터 베이스 만들기 및 데이터 이관하기 ( 2021. 08. 14 글 업데이트 완료 ) 집에서 운영하던 모든 서버를 클라우드로 이관..

https://shanepark.tistory.com/173

sunny-im commented 2 years ago

안녕하세요, 아주 잘 설명해주셔서 8월에 설치하고 잘 사용하고 있었는데, 오늘 연결을 다시 하려고 하니 Required property 'hostname' cannot be null or empty 라고 에러가 뜹니다.. 그래서 일단 다시 다른이름으로 DB 생성해서 월렛 받고 동일하게 진행 하기는 했는데 계속 이렇게 새로 만들어야 하는지 아니면 다른 방법이 있는지 궁급합니다 !!! 감사합니다 ㅠㅠ!!

ShanePark commented 2 years ago

안녕하세요. DB 를 1주일 동안 접속 하지 않으면 오라클에서 디비를 꺼버리는데 그것 때문 아닐까요? 종료된 DB는 다시 켜줘야 해요 새로 만드실 필요는 없구요

sunny-im commented 2 years ago

안녕하세요. DB 를 1주일 동안 접속 하지 않으면 오라클에서 디비를 꺼버리는데 그것 때문 아닐까요? 종료된 DB는 다시 켜줘야 해요 새로 만드실 필요는 없구요

감사합니다 !! 어제 재시동 하는걸 한참 찾다가 못찾았었거든요ㅠㅠㅠ stop 되어 있는거 보니까 선생님 말씀이 맞는거 같습니다 !! ㅎㅎㅎ 이미 새로 만들어버린건 상관없겠죠 ㅎㅎㅎ?? 도움많이 되는 글 작성해주셔서 진짜 너무너무 감사합니다ㅠㅠ

ShanePark commented 2 years ago

도움이 되었다니 기쁘네요 ! 여러번 날려먹고 새로 만들면서 실력이 자라는 것 같습니다. ㅎㅎ 새로 만드셔두 되니 너무 걱정 마세요

dayeaha commented 2 years ago

안녕하세요 포스팅보고 잘 따라해서 sql developer 설치와 무료 데이터베이스까지는 무사히 만들었는데요.. sql developer가 자꾸 예기치 않게 종료됩니다ㅜㅜㅜ 자바버전은 jdk-11.0.12.jdk 이거구요 product.conf 여기서도 경로 정확히 지정해줬거든요... 자꾸 꺼저버려서 아예 접속하는거부터가 안되네요ㅠㅠㅠㅠㅠㅠ

ShanePark commented 2 years ago

@dayeaha 안녕하세요!

cd /Applications/SQLDeveloper.app/Contents/resources/sqldeveloper
zsh sqldeveloper.sh

이렇게 해서 한번 sql developer 실행 해 보시겠어요? 저도 SQL Developer가 jdk 버전이나 sql developer 버전에 따라서 자주 튕기는 문제가 있었는데, 어느 경우에도 저렇게 실행 할 때에는 튕기지가 않더라고요.

저렇게 실행 해서 문제가 없다면 다소 번거롭더라도 다음 sql devleoper 버전이 나올 때 까지 저렇게 사용하시는 것도 방법이에요. 저는 사실 처음엔 저 방법 외엔 sql developer을 실행 할 수 없는 때여서 저렇게 한 3개월 이상 사용했던 것 같네요.

yiyi016 commented 2 years ago

안녕하세요 혹시 전자 지갑할 때 ORA-01017: invalid username/password; logon denied. 오류는 어떻게 해야 하는지 여쭤봐도 될까요 락을 풀으라고하는데 도커없는 상태에서는 아무리 찾아도 안나와서요 ㅠㅠㅠㅠ

ShanePark commented 2 years ago

@22222yiyi 안녕하세요. 정말 비밀번호나 username이 잘못된 게 아닐까요? 보통 로그인에서 문제가 생기면 quoted string not properly 문제라서 로케일을 변경해주면 해결이 되던데. 확실하게 하기 위해 데이터베이스를 삭제하고 재 생성 해보시겠어요? connection type을 전자지갑으로 설정 하고 configuration file 과 Service 도 맞게 설정했는지 확인 해보세요

M0young commented 2 years ago

안녕하세요!! 이제 막 자바를 배운 단계이지만 도움을 받고 싶어서 메일을 보냈습니다... 도와주시면 정말 감사드리겠습니다!!

ShanePark commented 2 years ago

@oojin 안녕하세요. 답변 드렸습니다. 왠만하면 질문은 이메일 보다는 관련 글에 답글로 달아주시는 편이 좋습니다. 추가로 https://shanepark.tistory.com/208

실습 순서 1 SQL Developer 설치 2 Oracle Cloud에 무료 데이터베이스 생성하기 3 프로젝트와 클라우드 데이터베이스 연결하기 시도 시기 ​ 일단 국비 학원 기준으로 초급, 중급, 최종 프로젝트를 진행하게 되는데요. 초급 수업(~2개월) 때는 3번까지는 하지 말고 1번, 2번 까지 해보는걸 추천합니다. 단순히 1,2번 내용만 하는건 따라하기만 하면 되기 떄문에 누구든 하실 수 있지만 3번 내용의 경우에는 웹 프로젝트에 대한 이해가 있어야 하기 때문에 최소 3개월 정도 수업을 수강 하신 후에 시도해 보시길 추천합니다.

위에서 안내드린 것 처럼 국비 학원 시작한지 두달도 안되었다면 프로젝트를 클라우드 데이터베이스에 연결하는 시도를 안하시는걸 강력히 권장드립니다. 괜히 이것도 저것도 하려다가 양쪽 다 놓칠 수가 있고 특히 초반에는 공부량이 굉장히 많고 모두 새로운 내용이기 때문에 굉장히 무리라고 생각됩니다.

hyeinsong commented 2 years ago

국비학원 수료하고 DB가 안돌아가 방치한 맥북을 함 굴려보려고 열심히 찾다가 이 글을 발견했습니다. 그냥 안되면 싹 초기화시키고 팔아버릴까 고민했는데 오늘 하루를 투자한 보람이 있습ㄴ디ㅏ ㅠㅠ 정말 복 많이 받으시고 항상 모든일이 잘되셨으면 좋겠어요ㅠㅠ 너무 좋은 정보였습니다 아직 설치만했을 뿐이고 새로 프로젝트를 생성하면서 문제점이 생기겠지만 잘 헤쳐나가겠습니다 ㅠㅠㅠ

ShanePark commented 2 years ago

@hyeinsong 사실 쉽지않은 방법이고 테스트용도로 계속 쓰기에도 불편함이 많기 때문에 궁여지책에 가깝습니다. 그래도 안되는 것보다는 훨씬 좋지만요. 이미 수료하셨으니, 제 개인적으로 추천하는 건 MySQL, PostgreSQL, MariaDB 같은 m1 맥북에서도 로컬이나 도커환경을 통해 돌릴 수 있는 DB를 사용하시는 거에요. DB 종류야 큰 상관 없으니까요. 오라클만 사용 해야 하는 프로젝트라면 어쩔 수 없겠지만.. 고생 많으셨구 도움되었다니 다행이네요

hayy1 commented 2 years ago

안녕하세요! 혹시 sql 디벨로퍼가 너무 최신버전이라서 안쓰고 싶어가지구, 디비버에다가 사용할 방법이 있을까요? cloud wallet 이 따로 없는데 따로 커스텀으로 하는 방법일까요?

ShanePark commented 2 years ago

@hayy1 안녕하세요. Dbeaver에서는 Oracle wallet으로 접속하는게 직관적이지 않아서 조금은 어려울 수 있습니다.

DBeaver에서 Oracle wallet으로 접속

  1. https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html 에서 데이터베이스 버전에 맞는 드라이버를 다운 받습니다.
  2. wallet.zip 파일의 압축을 풉니다.
  3. DBeaver에서 새로운 커넥션을 생성하고, Edit Driver settings->Libaries 에 가서 존재하는 드라이버를 모두 삭제하고 새로 받은 드라이버를 추가 합니다. image
  4. Connection Type은 Custom으로 하고 JDBC URL Template 에는 아래의 형식으로 작성 합니다.
    jdbc:oracle:thin:@connection_from_tnsnames?TNS_ADMIN=/Users/shane/location_of_wallet_CVANEDEV

    image

    P.S

    제가 요금 Oracle을 사용할 일이 없어서 오라클 DB를 꺼두었는데, 혹시 이정도 해보구 안되시면 말씀해주시면 제가 직접 DB 연결 해 보구 다시 알려드리겠습니다.

    참고할만한 링크

hayy1 commented 2 years ago

@Shane-Park 와.. 감사합니다! 연결됐어요!! 답변을 너무 빠르게 설명을 잘해주셔서 감사합니다..!

leekyungryul commented 2 years ago

위의 내용대로 따라 하였는데요 월렛을 열려고 하는데 맥에서 왜 I/O ERROR와 함께 access 불가라고 나올까요... 맥을 처음 사용이라 당황스럽네요 많은 구글링을 하였는데도 모르겠습니다.....

ShanePark commented 2 years ago

@leekyungryul Mac에서는 보안상 어플리케이션에 파일 읽기 권한을 주지 않으면 파일을 읽지 못하는데 아마 그런 팝업이 떴을때 허용안함을 클릭한게 아니신가 싶네요. SystemPreferences > Security & Privacy 에서 Files and Folders 혹은 Full Disk Acess에 SQL Developer 어플리케이션 대상 파일 입/출력 권한을 부여했는지 확인 해 보세요

keembogeul commented 2 years ago

안녕하세요 선생님! 현재 국비듣고있는데 정말 게시물로인해 너무 도움많이 받은학생입니다 ㅜㅜ여쭤볼게있는데 현재 학원에서 데이터베이스를 배우고있는데요 m1맥북으로는 월렛으로 sql developer로 접속할 수 밖에 없는거 같아서요 터미널로 sqlplus를 이용하는건 불가능한 것 같고 그럼 sql developer로 관리자계정 접속이나 이런것도 아예 불가능한게 맞을까요?? 그리고 학원 선생님께서 sqlplus로 권한 부여 이런문제로 꼭 필요하다고 하시는데 그럼 m1맥북으로는 수업에서 할 수 없는 부분이 많을까요?

ShanePark commented 2 years ago

@keembogeul 안녕하세요. 월렛으로 접속시 관리자 계정이기 때문에 권한 부여등이 가능 할 거에요.
제가 자주 사용했던 관리자 쿼리들을 남겨 둘테니 sqlplus 에서 말고 SQL Developer 에서 아래의 쿼리들을 몇개 시험 삼아 실행 해 보세요

유저 생성

CREATE USER [USERNAME] IDENTIFIED BY [PASSWORD]

권한 부여

GRANT RESOURCE, CONNECT TO [USERNAME];
-- OR --
grant create session, create table, create procedure to [USERNAME];
-- OR --
grant create view to [USERNAME];

유저 목록

select * from sys.dba_users

유저 삭제 및 관련 테이블 삭제

drop user 유저아이디 cascade;

암호 기간 만료 비활성화

alter profile default limit password_life_time unlimited;

오라클 클라우드를 활용해 프로젝트 진행은 난이도가 제법 높아서 어려울 수도 있지만 단순히 SQL 학습용으로는 아주 충분합니다.

keembogeul commented 2 years ago

새계정이 만들어지네요 ㅜㅜㅜㅜㅜ,,, 정말정말 너무 감사합니다 ㅜㅜㅜㅜ 프로젝트 진행도 열심히 해보겠습니다 감사합니다!!

ShanePark commented 2 years ago

@LimYoungGyu 안녕하세요. 저는 맥북을 영어로 언어설정을 하고 써서 그 에러를 본 적이 없지만 주변 사람들이 해당 에러로 고생하는걸 많이 봤었어요. 시스템 환경설정 > 언어 및 지역에 먼저 가서 선호하는 언어에서 English를 드래그해서 기본 언어로 변경 해 주고, 지역도 대한민국으로 되어 있는걸 미국으로 바꿔주세요. 그다음에 아마 재부팅을 한번 했었나 기억이 안나는데 SQLDeveloper를 실행 하면 잘 실행이 됩니다. 한번 실행이 잘 된 이후에는 언어 및 지역을 다시 한국어 및 대한민국으로 변경 하셔도 Sql developer 실행 시 문제없이 사용하실 수 있습니다.

microsaurs commented 2 years ago

안녕하세요 m1 맥북으로 sql developer db 수업 듣고 있습니다 ㅜ 현재 알려주신 방법으로 cloud 활용해서 sql developer를 실행해서 배우고 있는데 scott 계정 활성화하는 부분에서 막혀서요 ㅠㅠ 혹시 방법이 따로 없을까요?! 올려주시는 글들 정말 유용하게 잘 보고있습니다! 정말 감사합니당!

ShanePark commented 2 years ago

@microsaurs

안녕하세요. 학습용 DB라면 아래 sql 실행하시는 것으로 충분하실 거에요

일단 연습용 계정을 먼저 생성하고

Create user SCOTT identified by tiger;
GRANT CONNECT, RESOURCE TO SCOTT;

필요한 데이터를 입력 합니다.

CREATE TABLE DEPT
       (DEPTNO NUMBER(2) CONSTRAINT PK_DEPT PRIMARY KEY,
    DNAME VARCHAR2(14) ,
    LOC VARCHAR2(13) ) ;

CREATE TABLE EMP
       (EMPNO NUMBER(4) CONSTRAINT PK_EMP PRIMARY KEY,
    ENAME VARCHAR2(10),
    JOB VARCHAR2(9),
    MGR NUMBER(4),
    HIREDATE DATE,
    SAL NUMBER(7,2),
    COMM NUMBER(7,2),
    DEPTNO NUMBER(2) CONSTRAINT FK_DEPTNO REFERENCES DEPT);

INSERT INTO DEPT VALUES
    (10,'ACCOUNTING','NEW YORK');

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

CREATE TABLE BONUS
    (
    ENAME VARCHAR2(10)    ,
    JOB VARCHAR2(9)  ,
    SAL NUMBER,
    COMM NUMBER
    ) ;
CREATE TABLE SALGRADE
      ( GRADE NUMBER,
    LOSAL NUMBER,
    HISAL NUMBER );

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

INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');
INSERT INTO DEPT VALUES
    (30,'SALES','CHICAGO');
INSERT INTO DEPT VALUES
    (40,'OPERATIONS','BOSTON');
INSERT INTO EMP VALUES
(7369,'SMITH','CLERK',7902,to_date('17-12-1980','dd-mm-yyyy'),800,NULL,20);
INSERT INTO EMP VALUES
(7499,'ALLEN','SALESMAN',7698,to_date('20-2-1981','dd-mm-yyyy'),1600,300,30);
INSERT INTO EMP VALUES
(7521,'WARD','SALESMAN',7698,to_date('22-2-1981','dd-mm-yyyy'),1250,500,30);
INSERT INTO EMP VALUES
(7566,'JONES','MANAGER',7839,to_date('2-4-1981','dd-mm-yyyy'),2975,NULL,20);
INSERT INTO EMP VALUES
(7654,'MARTIN','SALESMAN',7698,to_date('28-9-1981','dd-mm-yyyy'),1250,1400,30);
INSERT INTO EMP VALUES
(7698,'BLAKE','MANAGER',7839,to_date('1-5-1981','dd-mm-yyyy'),2850,NULL,30);
INSERT INTO EMP VALUES
(7782,'CLARK','MANAGER',7839,to_date('9-6-1981','dd-mm-yyyy'),2450,NULL,10);
INSERT INTO EMP VALUES
(7788,'SCOTT','ANALYST',7566,to_date('13-JUL-87','dd-mm-rr')-85,3000,NULL,20);
INSERT INTO EMP VALUES
(7839,'KING','PRESIDENT',NULL,to_date('17-11-1981','dd-mm-yyyy'),5000,NULL,10);
INSERT INTO EMP VALUES
(7844,'TURNER','SALESMAN',7698,to_date('8-9-1981','dd-mm-yyyy'),1500,0,30);
INSERT INTO EMP VALUES
(7876,'ADAMS','CLERK',7788,to_date('13-JUL-87', 'dd-mm-rr')-51,1100,NULL,20);
INSERT INTO EMP VALUES
(7900,'JAMES','CLERK',7698,to_date('3-12-1981','dd-mm-yyyy'),950,NULL,30);
INSERT INTO EMP VALUES
(7902,'FORD','ANALYST',7566,to_date('3-12-1981','dd-mm-yyyy'),3000,NULL,20);
INSERT INTO EMP VALUES
(7934,'MILLER','CLERK',7782,to_date('23-1-1982','dd-mm-yyyy'),1300,NULL,10);

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

INSERT INTO SALGRADE VALUES (1,700,1200);
INSERT INTO SALGRADE VALUES (2,1201,1400);
INSERT INTO SALGRADE VALUES (3,1401,2000);
INSERT INTO SALGRADE VALUES (4,2001,3000);
INSERT INTO SALGRADE VALUES (5,3001,9999);

---------

COMMIT;
microsaurs commented 2 years ago

알려주신 방법으로 계정생성하고 커밋 완료 되었는데 스캇계정이 생성됐는지 확인하는 방법이 있을까요?!

ShanePark commented 2 years ago

@microsaurs SQL Developer로 DB를 접속 할 때 평소 사용하던 계정 말고 SCOTT / tiger로 접속 해 보세요.

microsaurs commented 2 years ago

아 그런데 제가 scott 계정을 생성할 때 비밀번호를 제가 원래 설정했던 오라클 클라우드 비밀번호로 안하면 오류가 발생하던데 tiger 비밀번호로 생성해야 되는건가요..?!

ShanePark commented 2 years ago

@microsaurs 오라클에서 scott 계정의 비밀번호가 tiger로 설정되어있어서 tiger로 적어놓은거고, 비밀번호는 뭘로 해두 상관 없어요

microsaurs commented 2 years ago

계정 생성하고 커밋 완료라고 나왔는데 scott계정이 따로 안보이네요 ㅜㅜ 원래 사용하고 있던 계정의 워크시트에서 생성하면 되는거 맞을까요?! ㅜㅜ

ShanePark commented 2 years ago

@microsaurs

SELECT * From DBA_USERS;
SELECT * FROM ALL_USERS;

계정 생성 했는지 확인 해 보시고, 없으면 다시 생성하세요. 루트 계정으로 scott 계정만 생성 하고 나서는 scott 계정으로 로그인 하셔서 테이블 생성 등 하시면 됩니다.

정 어려우면 그냥 원래 쓰는 계정에서 위에 연습용 테이블을 생성 하셔서 사용하셔도 상관 없습니다.

microsaurs commented 2 years ago

앗! 네 감사해요 ㅜㅜ scott 계정은 생성이 됐는데 scott 계정에서 테이블 생성이 안되는 것 같아요 ㅠㅠ 이런건 어떤 오류일까요...? ㅜㅜ

jina5 commented 2 years ago

안녕하세요..! 정말 다른말인데... 제가 이 글을보고 하다가 질문 남겼다가 그냥 지웠었거든요 ㅠㅠ 근데 여기에 댓글이 달릴때마다 저한테 메일이와서,...;;; 어떻게하시는지 아실까요?ㅠㅠ...ㅠ

microsaurs commented 2 years ago

SCOTT 계정 생성까지는 성공했는데 테이블 생성이 안되는데, 기존 계정에서 grant connect,resource to scott 으로 권한 부여 잘 됐다고 뜨는데 계속 권한이 불충분하다고 나와서 진행이 안되고 있는 상황입니다 ㅠ,ㅠ

microsaurs commented 2 years ago

헉 기존 파일에 alter user scott account unlock; 을 실행하니까 해결됐어요,,! 도움 정말 많이 받았습니다 감사합니다!!!

ShanePark commented 2 years ago

@jina5 안녕하세요. 이메일 맨 아래있는 unscribe 버튼을 클릭하거나 본 이슈에서 우측 상단의 unscribe 버튼을 클릭하면 됩니다. 다른 깃헙 이슈에 댓글 달때도 같은 문제가 생길 수 있으니 아에 프로필 설정에서 알림시 이메일보내는 체크를 해제하는게 더 좋아요

jina5 commented 2 years ago

프로필 설정에서 했어요! 맞게했는지는 모르겠지만... 이제 공부 시작한 비전공자인데 어쩌다 보니 메일 알림때문에 깃허브 만들고 처음으로 제대로 보게 된 남의 깃허브? 여서 구독해봤어요 감사합니다~~

twoweekhee commented 2 years ago

너무 초보적인 질문일 수도 있는데ㅠㅠ 따라해보다가 안되서 답글답니다!!ㅠ sql developer 에서 cloud wallet 집어넣을때 download폴더 안에 wallet zip 이 있는데 download 폴더를 열 수가 없어요 자꾸 다른 directory를 선택하라고 나옵니다. 그래서 그냥 위치를 써 넣었는데 그러면 failure 가 떠요ㅠ

ShanePark commented 2 years ago

@twoweekhee 안녕하세요. 제가 아는 분 중에는 성이 한씨여서 oneweekhi 아이디를 쓰는 분이 있었는데 반갑네요.

image 아마 이런 오류가 뜨셨을텐데요. sql developer가 bash를 쓰는데 fisk access 권한이 없기 때문일 거에요. https://shanepark.tistory.com/87 게시글에서 중간쯤에 있는 the directory is not accessible 해결 부분을 확인 해서 진행 해 보세요.

twoweekhee commented 2 years ago

ㅎㅎㅎㅎㅎㅎ 그분도 저랑 같은 유머감각을 가지고 계시군여 ㅋㅋㅋㅋ 빠른 답변 감사합니다ㅠㅠㅠㅠ

근데ㅠㅠ bash 가 없어여.. sqldeveloper를 지웠다 다시 깔았는데도.. bash가 보이지 않고

ShanePark commented 2 years ago

@twoweekhee /bin/bash 는 없을 수가 없어요. 무조건 있는데요 이걸 Full Disk Access 에 추가 해 주셔야해요.

+ 버튼 누르고 / 는 키보드에서 입력 하시는거에요. 그냥 폴더창이 뜬다면 Alt + Shift + . 눌러서 숨김 폴더 표시까지 아마 해주고 /bin/bash 찾아가셔야 할건데 제가 맥북이면 녹화해서 보여드리겠는데 지금은 사무실이라 리눅스 컴퓨터를 쓰고 있네요..

저는 아래 링크를 참고해서 해결했었습니다. 한번 읽어보시고 최대한 따라 해 보세요.

https://community.oracle.com/tech/developers/discussion/4477224/sql-developer-cant-read-files-from-the-users-documents-folder-in-mac-os

twoweekhee commented 2 years ago

왕.... bash를 미친듯이 찾다가 아래 영상보고 해결했어요ㅠㅠ혹시나 저같이 못찾으시는 분들 참고하세여 https://www.youtube.com/watch?v=u8tsbJLrmdQ

ShanePark commented 2 years ago

안녕하세요. 2022년 8월 기준으로 Apple Silicon 환경에서도 Docker를 활용해 Oracle Dabase를 로컬에서 띄울 수 있는 방법이 생겼으니 필요하신분은 아래의 링크를 참고 해 확인 해 주세요.

[MacOS] M1 맥북 도커로 ORACLE DB 실행하기