1) 국적에 대한 생각
- 이민가면 국적이 바뀌는가
가끔 이민을 가면 국적이 바뀌는 것으로 생각하는 사람들이 있다.
이민은 거주지가 바뀌는 것이고 그것이 국적 취득까지 이어질수는 있지만, 외국인의 신분으로 해외에 거주하는 것이다.
실제로 미국에 오랜기간 거주하는 교포들 중에는 일부러 미국 국적을 취득하지 않고 한국인 신분을 유지한채
살아가는 분들도 많이 보았다. 그러나 그 자식들은 현지에서 태어나서 바로 미국국적을 취득하게 된다.
이민1세대는 자신의 뿌리가 한국인이라는 것을 거의 대부분 잃지 않고 살아가지만 그들의 자식인 2세대 부터는 상황이 조금 달라진다. 서류상 국적은 미국인이지만 부모로 부터 한국식 문화와 교육을 잃지 않고 살아온 2세대 들은 자신을 한국인으로 인식한다. 그러나 그런 과정이 없이 자라온 2세대 들은 한국은 그냥 부모님의 나라이다.
이민 3세대 부터는 그냥 현지인 인데 자신의 뿌리를 그래도 인지하는 부류와 아닌 부류가 존재한다.

-2. 외국은
한국에서만 살면 국적이라는 것을 인지하게 된다. 지정학적 이슈, 뉴스가 나올때마다 나라를 걱정하고 외국을 욕하게 된다.
그러나 외국에서 거주하면 국적이라는게 요즘세상에 의미가 있는 걸까 하는 생각이 든다.

힘들게 일본, 중국과 경쟁하며 미래를 걱정하기 보다 미국에 붙어서 제 3자의 입장으로 강건너 불구경하게 된다. 

재미교포들의 가치관 중에 이런 부류가 많은것 같다. 자신의 뿌리는 한국이면서 한국에 사는 한국인을 불쌍하게 생가하는.. 

유럽의 경우는 유럽연합 국가들 간에는 이동, 취업의 제약이 없어진지 꽤 되어서 국적이라는게 별 의미가 없다.

비유럽과 비유럽만 있다.  


-3. 정체성은 언제 형성이 되는가

한사람의 정체성은 어느 시기에 형성이 되는가 에 대한 질문을 스스로 해보았는데
초중고 교육이 한사람의 아이덴티티 형성에 지대한 영향을 미친다.

원정출산으로 국적만 취득했을 뿐, 이후로 한국에서 교육과정을 다 마친 사람은 자신을 한국인으로 생각하지
미국인으로 생각하지 않는다. 반면 국적은 한국인이지만 교육과정을 외국에서 받았다면 한국인의 정체성은 핏속에만
흐를뿐이다.
서류상의 표시보다 스스로가 어느정체성이라고 생각하는가가 중요하고 이것은 어릴적의 교육이 형성한다는 생각이다.
즉, 성인 이후 이민은 아무리 기간이 길어도 자신을 미국인으로 생각하지 않는다는것이기도 하다.

미국은 어느정도 학년이 되면 학교에서 따로 그런시간을 가진다고 한다.
미국인이지만 뿌리에대해서는 상기해준다는것이다. 이는 다양성이 미국을 이끄는 힘이라고 보기때문이다.
음식, 언어, 문화 등에 대해 뿌리를 잊지않게 해주는 노력이 필요하다.
어릴때는 자아 라는게 형성되지 않아 정체성이라는게 없지만 결국 커가면서 자신의 뿌리에대해서 생각하게된다.

한국인들이 자식교육 때문에 이민을 많이 가는데 본인들은 자식의 미래를 위한다고 한 결정이지만, 가정교육의 중요성을 등한시 할 경우 어떤 결과가 나오는 지에 대해서 잘 모르는 사람들이 있어서 오지랍을 떨어본 글이다.

반응형

'별거없는 일상 > 그냥일상' 카테고리의 다른 글

컷오프 cut-off vs 컷오버 cut-over  (0) 2024.02.24
이태원참사  (1) 2022.10.31
cool guy rule  (0) 2021.07.30
AZ 아스트라제네카 백신 1차 접종 후기  (0) 2021.04.18
요즘 먹는 신상 과자 농심 프레첼  (0) 2020.11.19
Posted by 돌고래트레이너
생계/Oracle2022. 8. 30. 14:40

트리거는 특정이벤트가 발생시 동작하는 object 이다.  

트랜잭션의 흐름에 대해서는 대부분 인지하고 있지만 트리거에 대해서는 따로 신경쓰지 않으면 인지하기 어려워 누락되기 쉽고 장애 또는 로직의 누수로 이어질수 있다. 

DBA 입장에서는 관리포인트가 증가하는 것도 달갑지 않다. 

비슷한 이유로 디비링크도 사용을 제한 할 것을 권고해왔는데 요즘은 서비스에서는 거의 사용 안하는 편이다.

EAI 를 통해서 조회를 하라고 권고한다. 

요즘은 프로시저나 함수도 다 걷어내고 AP에서 부하를 많이 가져가는게 베스트프랙티스로 알려져있다. 

결국 DB 는 단순하게 데이터를 담는 테이블, 조회를 도와주는 인덱스, 이 두가지만 사용하는 추세이다.  

 

 

 

 

반응형
Posted by 돌고래트레이너
생계/Oracle2022. 8. 24. 02:11

오라클에서는 DBMS_RANDOM 패키지를 통해서 랜덤한 숫자를 추출하는 기능을 제공해주고 있다.

https://docs.oracle.com/database/121/ARPLS/d_random.htm#ARPLS040

DBMS_RANDOM

VALUE Functions The basic function gets a random number, greater than or equal to 0 and less than 1, with 38 digits to the right of the decimal (38-digit precision). Alternatively, you can get a random Oracle number x, where x is greater than or equal to l

docs.oracle.com


해당패키지의 RANDOM 함수는 11G R1 부터 deprecated 되었다.
대신 VALUE 함수를 가공해서 원하는 결과가 나오게 수정하면된다.


Q) 총 100 건 데이터 중, 랜덤하게 10건 가져오기

랜덤숫자를 뽑고 그것으로 정렬한 10건을 가져오는 것으로 sql을 작성한다면..
중복 가능성이 있다.

SELECT *
FROM ( SELECT A, B, DBMS_RANDOM.VALUE(1,100) RN FROM EMP ORDER BY RN )
WHERE ROWNUM <= 10

레코드들 간 중복없는 랜덤정렬은
아래처럼 해야 한다

SELECT *
FROM ( SELECT A, B FROM EMP ORDER BY DBMS_RANDOM.VALUE )
WHERE ROWNUM <= 10



반응형
Posted by 돌고래트레이너
생계/OERR2022. 8. 17. 10:37

ora-14064 : Index with Unusable partition exists on unique/primary constraint key

파티션 인덱스가 unusuable 상태로 제약조건 추가할때 오류.

DBA_IND_PARTITIONS 뷰에서 인덱스 확인하고 REBUILD 해주자.

EX) alter index INDEX_NAME rebuild partition PARTITION_NAME;

 

반응형
Posted by 돌고래트레이너
생계/Oracle2022. 8. 15. 16:47

개발자로 부터 db 가 접속이 안되니 확인요청이 들어오는 일이 종종있다. 

개발자들은 보통 sqldeveloper 나 기타 무료 툴들을 쓰는데, 클라이언트에서 서버로 접속하는 환경은

일시적인 통신환경의 이상이나 작업등으로 불안정할수 있다. (실제로 서버에 문제가 생기지 않는한)

 이때는 클라이언트 프로그램을 재기동하거나 재접속하게 되면 대부분 정상적으로 접속이 되기도 한다. 

그래도 접속이 안된다고 하면, 아래의 흐름을 따라서 어느 구간이 문제인지 확인을 해보자. 

 client 의pc (개발자) 에서 cmd 터미널을 열어 tnsping "tnsnames.ora의 name" 을 쳐본다.

수초 내로 ok 가 떨어지면 통신환경에는 이상이 없는 것이다. 그렇지 않고 응답없는 상태가 된다면 방화벽을 다시 확인해본다. 

tnsping 도 되고, sqlplus 로도 접속이 된다면 사용중인 client tool 의 문제일 가능성이 크다. 

tool 에서 실제로 접속하는 경로가 맞는지 확인해본다. 

 

반응형

'생계 > Oracle' 카테고리의 다른 글

트리거 안쓰는 이유  (0) 2022.08.30
dbms random  (0) 2022.08.24
[oracle] 아카이브모드 변경 no arch -> arch -> no arch  (0) 2022.08.14
통계정보 dbms_stats  (0) 2022.07.21
DBMS_SCHEDULER  (2) 2022.03.02
Posted by 돌고래트레이너
생계/Oracle2022. 8. 14. 18:18

오라클DB 아카이브 모드 변경에 대해서 알아보자

1. no arch => arch

SQL>archive log list 
SQL>shutdown immediate
SQL>startup mount;

SQL>alter database archivelog;
SQL>alter database open;
SQL>show parameter log_archive_dest_1;

SQL>alter system switch logfile;
SQL>alter system switch logfile;
SQL>alter system switch logfile;

2. arch => no arch

SQL>archive log list 
SQL>shutdown immediate
SQL>startup mount;

SQL>alter database noarchivelog;
SQL>alter database open;

재기동이 필요하다. 

반응형

'생계 > Oracle' 카테고리의 다른 글

dbms random  (0) 2022.08.24
[oracle] db접속 안될때  (0) 2022.08.15
통계정보 dbms_stats  (0) 2022.07.21
DBMS_SCHEDULER  (2) 2022.03.02
[ASM 환경] 테이블스페이스 생성, 추가, RESIZE  (0) 2022.01.26
Posted by 돌고래트레이너
생계/Oracle2022. 7. 21. 02:08

오라클은 DBMS_STATS 패키지로 통계정보 관리를 지원한다. 

하위에 여러 프로시져가 있는데 자주 쓰는 프로시져 몇 가지에 대해서 정리해보자. 

 

- DBMS_STATS.CREATE_STAT_TABLE : 통계정보를 담을 테이블 생성  

 사용법 : begin dbms_stats.create_stat_table('SCOTT','STAT_TABLE','USERS'); end;

 scott 소유의 테이블 stat_table 을 users 테이블스페이스에 생성. 

 이 테이블은 아래쪽의 통계정보 export 할때 사용될수 있다. 

- DBMS_STATS.DROP_STAT_TABLE : 통계정보 테이블 삭제 

 사용법 : begin dbms_stats.drop_stat_table('SCOTT','STAT_TABLE'); end;

- DBMS_STATS.GATHER_STAT_TABLE : 통계정보 수집

 사용법 : begin dbms_stats.gather_stat_table(OWNNAME=>'SCOTT', TABNAME=>'TEST_TAB', partname=>'PT_2000', estimate_percent=>5, degree=>1, granularity=>'PARTITION', cascade=>TRUE, no_invalidate=>FALSE ); end;  

- DBMS_STATS.EXPORT_STAT_TABLE : 통계정보 백업 (export) **

사용법 : begin dbms_stats.export_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB', stattab=>'STAT_TAB' 

- DBMS_STATS.IMPORT_STAT_TABLE : 통계정보 복구 (import) **

사용법 : begin dbms_stats.import_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB', stattab=>'STAT_TAB' 

- DBMS_STATS.DELETE_STAT_TABLE  : 통계정보 삭제

사용법 : (일반테이블) begin dbms_stats.delete_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB'); end;

 (파티션) begin dbms_stats.delete_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB', partname=>'PT_2000'); end;

select owner, table_name, partition_name, 
       num_rows, last_analyzed, global_stats, stattype_locked
  from dba_tab_statistics
 where owner='SCOTT'; 

- DBMS_STATS.COPY_STAT_TABLE : 통계정보 복사

사용법 : begin dbms_stats.copy_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB', srcpartname=>'PT_2000', dstpartname=>'PT_2001'); end;

- DBMS_STATS.LOCK_STAT_TABLE : 통계정보 잠금

사용법 : begin dbms_stats.lock_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB'); end;

- DBMS_STATS.UNLOCK_STAT_TABLE : 통계정보 잠금해제 

사용법 : begin dbms_stats.unlock_stat_table(ownname=>'SCOTT', tabname=>'TEST_TAB'); end;

확인 : DBA_TAB_STATISTICS => stattype_locked 

** 딕셔너리 통계정보 

DBMS_STAT.GATHER_DICTIONARY_STATS
DBMS_STAT.GATHER_FIXED_OBJECTS_STATS

** 자동 통계정보 수집 

오라클을 설치하면 디폴트로 자동 통계수집 되는 것이 있다. 

select *  
  from dba_autotask_client
 WHERE client_name LIKE 'auto opt%'
;

필요하다면 disable 한다. 

BEGIN
DBMS_AUTO_TASK_ADMIN.DISABLE(
 client_name => 'auto optimizer stat collection'
,operation => null
,window_name => null
);

 

반응형
Posted by 돌고래트레이너
생계/SQL2022. 7. 13. 01:06

- out 파라미터 쓰는 프로시져 호출하기

: 변수를 declare 구문에서 먼저 선언해주고 호출 해야함. 

declare 
   v_out varchar2(10);
 begin  
      sp_test(v_out, 'aaa', 'bbb');
     dbms_out.put_line('Result :'||v_out);
  end;

 

반응형

'생계 > SQL' 카테고리의 다른 글

transaction isolation level  (0) 2021.07.16
[oracle] 아우터 조인 outer join 제대로 이해하기  (0) 2020.04.28
sql 튜닝 트레이스  (0) 2019.10.21
서브쿼리에 대해서 알아보자  (0) 2019.06.06
Posted by 돌고래트레이너
정보/리뷰2022. 6. 14. 18:41

개그맨 출신 황현희 님의 책  "비겁한 돈" 리뷰 

- 얼마나 벌었는가 

과연 그는 얼마를 벌었길래 다수 유튜브 채널에 나와서 자신의 성공담을 들려주고 책까지 쓴걸까.
요즘 유튜브 같은 곳에 나오려면 '계좌인증' 이라는 하나의 통과의례 같은 것이 있는데,
그는 내가 알기론 계좌인증을 해서 정확하게 얼마 벌었다고 구체적으로 말한적은 없다. 
다만 '서울의 어느 지역의 아파트든 몇 채 살수 있는 정도는 벌었다.' 라고 간접적으로 투자성과 규모를 밝혔다.  

그의 투자는 비겁한 지점에서 3억 정도 규모 부동산에 먼저 투자했고, 코로나 폭락시에 주식에도 투자를 
해서 돈을 벌었다고 한다.  

그가 정확하게 자산규모를 말하진 않았지만 그의 발언으로 짐작해보면 50억 내외가 아닐까 짐작은 되는데
비겁한 지점에서 3억으로 시작해서 그정도 규모로 자산을 늘렸다는 것에 조금은 의구심이 든다. 
  

- 투자자로서의 자질 

돈에 대한 생각. 자기객관화 

그가 투자자로
자신을 먼저 분석. 잘하는점, 한계, 투자성향, 자기객관화 



- 비겁한 돈 의 의미? 

"비겁하다"는 말에는 부정적 의미가 있기에 그가 '비겁한 돈' 이라고 말할때, 왜 그렇게 부를까 
궁금하기도 했고, 그가 개그맨이기에 조금은 희극적인 느낌도 들었다. 

그가 투자로 많은 돈을 벌었을 때 주위로부터 들었던 시기섞인 부정적 멘트들이 있었는데, 
'쉽게 돈을 벌었다. 노력에 의한 돈 아닌 비겁하게 벌었다'고 주변에서 했던 모양이다.   
저자 개인적 경험이라 의미가 쉽게 와닿진 않지만 무슨 말을 하려는지는 알것 같다.   

그런데 투자로 성공한 사람의 입장에서 주변의 질투,시기 섞인 말들을 그냥 흘려 들을 수 도 있었는데,  
책의 제목으로 까지 정할 정도면 저자는 그 말을 여러번 되새기면서 뭔가 깨달음을 얻었고, 그것을 독자에게 전하려한다는 것을 알수가 있다. 


- 작가의 생각 

항상 투자에 노출될 필요는 없다. 쉼의 중요성. 
가장 비겁한 지점에서 투자. 
상승장 뿐만 아니라 하락장에서도 돈을 벌수 있는 사람은 전문적 지식을 갖춘 전업투자자의 영역이라고 정하며
 

- 마무리, 결론  

투자의 본질은 결국 싸게 사서 비싸게 파는 것이다. 
어제 싸게 산 사람이 오늘 파티를 즐기고, 파티 소리를 듣고  '뭐 먹을게 없나' 기웃거리는 사람에게 
결국 파티의 청구서가 돌아가게 된다. 

 

 

 

반응형
Posted by 돌고래트레이너
생계/OERR2022. 3. 16. 10:54

디비에 접속후 아무것도 하지 않을때 

오라클 사용자 계정을 profile 로 리소스 등을 제한 할 수 있다. 

IDLE TIME 을 제한할 경우, 제한 시간이 지난 세션을 KILL 하게 되는데 

이때 ORA-2396 이나 ORA-0  이 alert log 에 남게 된다. 

이게 싫으면 프로파일의 IDLE TIME 을 UNLIMITED 로 변경하거나 RESOURCE LIMIT 을 FALSE 로 바꾸면 된다. 

 

ALTER PROFILE TEST_PROFILE LIMIT IDLE TIME UNLIMITED;

ALTER SYSTEM SET RESOURCE_LIMIT = TRUE;

 

반응형
Posted by 돌고래트레이너