SyntaxHighlighter.all(); 'SW' 카테고리의 글 목록 :: 또르의 개발노트 ss
반응형

1.표준프레임워크 이해

-재사용을 극대화해주고 생산성, 확장성, 성능, 효과적인 유지보수를 지원해주기 위해 재사용 방식을 채택, 발전하여왔으며 궁극적으로 프레임워크가 등장하게됨

 

*Model

Model
Model

 

 

3.표준프레임워크 구성

-.표준프레임워크는 실행, 개발, 관리, 운영 등 4개의 환경과 모바일 표준프레임워크, 공통컴포넌트로 구성

표준프레임워크 구성
표준프레임워크 계층구성

-.화면처리, 업무처리, 데이터처리, 연계처리, 공통기반, 배치처리 등 6개의 레이어의 표준프레임워크 실행환경 구현

 

 

 

표준프레임워크 개발환경

-구현도구, 테스트도구, 형상관리도구, 배포도구 등 쉽고 편리한 프레임워크 개발환경 구현

 

 

 

3.표준프레임워크 개발환경

-.개발환경 오픈소스 SW 1,2차 평가를 통해 선정된 22개의 오픈소스 SW는 다음과 같음

반응형
반응형

.NET MAUI란?

- 크로스플랫폼 개발도구인 Xamarin.Forms의  진화된 버전

- 개발자 생산선을 염두에 두고 구축되었으며 단일프로젝트에 여러 플랫폼을 구현할 수 있음.

 ( CS 개발할때는 WPF를... 모바일할때는 Xamarin을... 이러한 불편함을 해소시키기 위해 나옴)

MAUI

 

- .NET MAUI는  기존 MVVM 및 XAML 패턴은 물론 C# 또는 Blazor를 사용한 MVU(Model-View-Update)와 같은 향후 기능을 모두 지원합니다.

 

MVVM

MVVM(Model-View-ViewModel) 및 XAML은 수십 년 동안 .NET 개발자들 사이에서 가장 널리 사용되는 패턴이자 관행이며 .NET MAUI의 일류 기능입니다. 이는 계속해서 성장하고 발전하여 프로덕션 앱을 생산적으로 구축하고 유지 관리하는 데 도움이 될 것입니다.

<StackLayout>
    <Label Text="Welcome to .NET MAUI!" />
    <Button Text="{Binding Text}" 
            Command="{Binding ClickCommand}" />
</StackLayout>
public Command ClickCommand { get; }

public string Text { get; set; } = "Click me";

int count = 0;

void ExecuteClickCommand ()
{
    count++;
    Text = $"You clicked {count} times.";
}

 

MVU

또한 개발자가 유창한 C# UI를 작성하고 점점 인기를 얻고 있는 MVU(Model-View-Update) 패턴을 구현할 수 있습니다. MVU는 데이터 및 상태 관리의 단방향 흐름과 필요한 변경 사항만 적용하여 UI를 빠르게 업데이트하는 코드 우선 개발 환경을 촉진합니다. 패턴으로서의 MVU에 대한 자세한 내용은 이 Elm 프로그래밍 가이드  Thomas Bandt의 블로그 를 확인하세요.

다음은 .NET MAUI로 작성된 MVU 스타일의 기본 카운터 예제입니다.

readonly State<int> count = 0;

[Body]
View body() => new StackLayout
{
    new Label("Welcome to .NET MAUI!"),
    new Button(
        () => $"You clicked {count} times.",
        () => count.Value ++)
    )
};

이 패턴은 아래에서 볼 수 있듯이 C#에서 즉시 핫 리로드가 포함된 스타일, 그라디언트 및 글꼴이 추가되어 핫 리로드에 이상적입니다.

 

.NET MAUI 작동방식

MAUI 작동방식

 

반응형
반응형

1.SQLLINES를 실행한다.

 

2.Oracle -> MariaDB Convert

-.상단에서  SOURCE를 ORACLE , TARGET을 MARIADB로 설정한다.

-.EXPORT한 내용을 Sqllines에 복사,붙여넣기하여 Convert 한다.

-.그래도 변경되지 않는 함수들이 있다. 수동으로 바꿔야한다.

-.Table Data Import를 하기 위한 CHARATER_SET 세팅

다음과 같이 실행하면 Charater_Set 리스트가 나오는데  다음과 같이 설정해준다 아니면 모두 UTF-8로해도됨

 

 

 

 

 

-TABLE COLUMN마다 CHARACTER SET이 있어 UTF-8로 맞춰 주어야 한다. DEFAULT LATIN으로 되어있어 IMPORT가 불가능 했음

 

 

-.ORACLE에서 추출한 데이터 IMPORT 하기

-.Dbeaver에서 데이터베이스-import할 테이블을 선택 한 후 우클릭하여 데이터 가져오기를 누른다.

 

다음과 같은 화면이 나오는데 CSV파일로 가지고 올꺼면 CSV, 테이블로 가지고 올꺼면 테이블로 선택하여 들고오면 된다.필자는 CSV파일로 들고올꺼기에 CSV로 선택

 

 

 

 

 

 

 

 

 

 

 

그리고 Source를 선택하여 CSV파일의 경로로 접속하여 선택 후 다음 버튼을 누른다.

 

 

 

 

 

 

 

 

 

 

 

 

 

-해당사항없으므로 다음~

 

 

 

 

 

 

 

 

 

 

CSV파일과 IMPORT할 테이블 매칭이 되어있는지 확인하는 창으로

매칭이 잘되었는지 확인을 한다.

IMPORT시에 데이터타입, 시간포멧, 한글 등 여러가지 제약사항이 생길때 에는 Mapping type을 선택하여 skip 또는 default 값을 넣을수도있다.

확인 후 다음을 클릭한다.

 

 

 

 

 

 

 

 

 

 

.

그리고 Start를 클릭한다.

반응형
반응형

 

1.ORACLE EXPORT

-.먼저 테이블을 옮기기위해 테이블 Script를 Export 합니다.

-.Database - Export DDL을 활용하여 Export 하였습니다.

 

-.Script Option을 다음과 같이 하였습니다. Comment, Synonyms, Storage MariaDB에서 인식할 수  없는 항목들이 많기에 단순 DDL만 복사하기 위해 다음과같이 체크란을 해제하였음.

 

-.이 과정을 마치고 Export를 하면 다음과 같이 단순 DDL만 추출된다

 

-Oracle Data export

EXPORT할 테이블에서 우클릭하여 EXPORT DATASET을 클릭한다.

Export fotmatDelimited Text로하여 EncodingUTF-8로 설정한다.

OK를 누른 후 txt파일을 csv파일로 변경시키고 파일을 열어 파일 혹은 한글이 깨졌는지 확인을 한다.

정상적으로 데이터가 저장된 것을 확인했다면

이로써 EXPORT는 끝이 난다.

 

반응형
반응형

설치환경

DataBase : MariaDB

Tool : Dbeaver

SQL Converter : SQLines

 

 

목차

1. Maria DB 설치

2. Dbeaver 설치

3. SQLines 사용법

 

 

1.MariaDB 설치

-.MariaDB 홈페이지에 접속하여 다음 파일을 다운로드를 한다

URL :  https://mariadb.com/

 

 

 

-.Next를 하여 계속하여 설치해줍니다. Heidisql  Tool이 자동으로 체크되어 있는데 나는 Dbeaver를 사용하기때문에 체크해제를 했다. 그리고 중요한 것이 Server의 문자열 세팅을 UTF-8로 하여야한다. 체크해제가 되어 있는데 체크해야함. 로그인시 문자인식이안되어 계속 에러가 발생했었음.

 

 

2.Dbeaver 설치

-.다음 홈페이지에 접속하여 운영체제 환경에 맞게 다운받습니다

-.Toad를 사용하다가 Dbeaver를 사용하니 불편한점이 꽤 있었습니다만 무료툴에 여러종류의 DB를 한 프로그램에서 컨트롤 가능하기하는 것들이 편리했네요. 

URL :https://dbeaver.io/download/

 

 

3.SQLlines 설치 및 Online Converter 

-.ORACLE의 쿼리를 모두 재작성하긴 힘드니 컨버터 툴을 이용합니다. 물론 인식못하는 함수나 컨버터되지 못한 것들은 

  일일히 수정해주셔야합니다. 

URL : http://www.sqlines.com/download

-.다음 홈페이지에 접속하여 운영체제 환경에 맞게 다운받습니다. 웹페이지에서도 Convert가 가능하며 단점은 느리고 프로그램으로도 설치하여 Convert가 가능합니다.

-온라인으로 Convert시에는 “Convert Online”을 클릭하면되고 프로그램 설치시에는 “SQLLines SQL Converter”를 선택하여 설치하면됩니다.

 

-.다음과 같이 상단에 Oracle -> MariaDB로 설정 한 후 Convert가 가능합니다.

-.각종 함수, 타입 등 다른 부분이 많습니다. 확인하시면서 적용하시는 것을 추천 드립니다

 

반응형
반응형

백업(Backup)이란 데이터의 복사본이고,

복구(Recovery)란 장애가 나기 바로 전 시점으로 복구 하는 것

 

*오라클 데이터베이스의 백업대상

1.모든 데이터파일

2.컨트롤 파일

3.Redo Log file

4.파라미터 파일

5.패스워드 파일

 

*Database Mode

  - NOARCHIVELOG Mode : Redo Log Group에 Log Switch가 발생하여 다른 그룹을 사용 할 때 이 복사본을 생성하지 않고 재사용 하는 방법입니다.

  - ARCHIVELOG Mode : Redo Log Group에 Log Switch가 발생하여 다른 그룹을 사용하기 전에 복사본을 생성하는 방법입니다.

 

*Backup의 종류

Physical Backup

-데이터베이스를 구성하는 파일들을 그대로 복사하는 방법

-DB가 손상시에 아무런 피해 없이 또는 최소한의 피해로 데이터베이스를 복구하는 방법

 

 1)Offline Backup(Cold Backup)

   -Oracle이 Close(ShotDown된 상태)된 상태에서 OS의 Copy 명령어를 통해 복사하는 방법 , NoArchiveLog Mode,          ArchiveLog Mode 둘 다에서 가능합니다.

 2)Online Backup(Hot Backup)

   -Oracle이 Open(운영중인 상태)에서 OS의 COPY명령어를 통해 복사하는 방법으로서, ArchiveLog Mode일 경우만 가      능하며, Database를 24시간 운영하는 System에서 사용하는 백업 방법입니다

 

Logical Backup

  - Export Utility $ORACLE_HOME/bin/exp 명령어를 이용하여 Backup하는 방식으로 Database의 논리적인 정보(Schema 구조, 데이터 등)를 저장하는 방식입니다.

 

*Recovery 종류

1. Media Recovery

  Disk나 매체등의 장애로 인한 Recovery 입니다.

Physical Backup으로부터의 복구 : ① Complete Recovery

  장애 시점까지 Recovery하는 방법입니다.

  Complete Recovery는 변경된 정보를 저장하고 있는 Redo Log 파일들이 재 사용 되기 전에 저장되어 지는 Archive File이 필요 하므로 Archive Log Mode 에서만 가능하며, NoArchiveLog Mode에서는 백업본 이후 RedoLog File이 재사용(Archive File이 없는 경우) 이전의 백업본으로만 데이터베이스를 복구 할 수 있습니다.

장애시점 바로 전으로 복구

Physical Backup으로부터의 복구 : ② Incomplete recovery

  Backup본을 Restore 한 이후 변경된 작업이 들어 있는 Archived Log 파일을 찾을 수 없거나, Database를 특정 시점으로 돌리는 방법 입니다.

Physical Backup을 통한 복구

Logical Backup으로부터의 복구 : Import Utility

  Import Utility $ORACLE_HOME/bin/imp 를 이용하여 데이터를 복구 하는 방법입니다. (데이터파일이 손상된 경우, 디비를 다시 설치한 후 또는 해당 데이터파일을 재 생성한 이후 IMP로 복구 가능)

2. Instance Recovery

  비정상적인 종료(abort명령어로 shutdown, 정전, CPU고장, 메모리 손실등과 같은 장애)에 의해 Oracle Instance가 Error를 일으켜 인스턴스가 실패한 경우입니다

  1. 비정상적인 종료후 비동기화 되어 있는 상태에서 Database OPEN

  2. 롤 포워드 (마운트 단계에서 수행) : 마지막 CKPT 이후의 RedoLog File에 기록된 모든 변경사항(commit된 데이터와 commit되지 않은 데이터)를 DBWR에 의해 데이터파일에 기록

  3. 데이터베이스 오픈

  4. 롤백 단계 : 모든데이터 파일에서 COMMIT되지 않은 데이터를 롤백하는 단계

  5. 데이터베이스가 동기화 되어 데이터베이스 운영

  ※ 비동기화 되어 있는 상태에서 롤백한 이후에 데이터베이스를 OPEN 하게 되면은 DOWN time이 길어지므로, 일단 롤 포워드 단계를 거쳐 데이터베이스를 오픈한 이후 롤백 하는 과정을 Warm-Start라고 부릅니다.

3. User Error Recovery

  사용자의 실수로 인한 Transaction으로 인해 원하지 않는 결과가 발생한 경우(Table truncation 또는 Drop같은 에러) 다시 복원하는 방식으로 imp를 이용하는 경우가 대부분입니다.

 

*기본적인 Backup 정책 

Backup 정책의 GUIDELINE

  - 정기적으로 COLD BACKUP을 받도록 합니다.

  - Database이 구조적인 변화가 생기기 전 반드시 COLD BACKUP을 받도록 합니다.

  - Database에 장애가 발생하지 않도록 운영해야 하며, 장애 시에는 Recovery까지의 시간이 최소한이 되도록 백업 정책을 세워야 합니다.

기본적인 Backup 규칙

  - LOG FILE을 Disk에 Archive한 후, 추후에 다른 Disk나 Tape 등에 다시 복사합니다.

  - DATA FILE의 Backup은 실제 DATA FILE과는 다른 Disk에 유지해야 합니다.

  - CONTROL FILE은 다중화 하여 여러 개를 유지 합니다.

  - LOG FILE이나 DATA FILE을 추가하거나, Rename 삭제 하는 등 Database의 구조가 변경되었을 경우는 반드시 CONTROL FILE을 백업 받아야 합니다.

 

 

출처:http://www.gurubee.net/lecture/1988

반응형
반응형

--테이블스페이스 생성
CREATE TABLESPACE HSL_SON(테이블스페이스명) DATAFILE
'HSL_SON'(테이블스페이스명)  SIZE 2048M AUTOEXTEND ON NEXT 4M MAXSIZE UNLIMITED
LOGGING
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOLLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT MANUAL
FLASHBACK ON;



--유저생성
CREATE USER [생성할 유저] 
IDENTIFIED BY [비밀번호]
DEFAULT TABLESPACE [테이블스페이스명] 
TEMPORARY TABLESPACE TEMP;


--권한주기 (connect, resuorce, dba 권한주기)
GRANT connect, resource, dba TO [유저명]

반응형
반응형

*관리자권한 부여 방법

 

명령 프롬프트를 관리자 권한으로 실행합니다.

 

net user administrator /active:yes  입력 후 "명령을 잘 실행했습니다" 가 성공

 

제어판 - 사용자 계정- 사용자 계정 - 계정 관리 - 계정 변경 - 계정 유형 변경으로 이동 후 관리자 권한으로 유형을 변경합니다.  계정 유형 변경 버튼이 비활성화 된 이유는 이미 관리자 계정이기 때문입니다.

계정 유형을 변경 한 후 다시 명령 프롬프트 창으로가서 다음을 입력합니다.

net user administrator /active:no를 실행합니다. (관리자권한 비활성화)

 

정상 실행되면 로컬의 관리자계정은 비활성화되어 보이지 않습니다.

 

 

*추가적으로 관리자권한 실행창이 보이기 싫으신 분은 제어판 - 사용자 계정- 사용자 계정 - 사용자 계정 컨트롤 설정 변경을 선택합니다.

다음과 같이 화면이 뜨는데 알리지 않음으로 변경해주시면 됩니다.

반응형

'SW > Windows' 카테고리의 다른 글

[Windows].NET MAUI(Multi-platform App UI)  (1) 2022.03.03
반응형

프로시저(Procedure)란?

     특정 작업을 수행 하는, 이름이 있는 PL/SQL BLOCK 이다.

     매개 변수를 받을 수 있고, 반복적으로 사용 할 수 있는 BLOCK이다.

     보통 연속 실행 또는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL BLOCK을 데이터     베이스에 저장하기 위해 생성 한다.

 

프로시저 문법

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

CREATE OR REPLACE procedure name

IN argument

OUT argument

IN OUT argument

 

IS 

 

   [변수의 선언]

 

BEGIN  --> 필수 

 

   [PL/SQL Block]

-- SQL문장, PL/SQL제어 문장 

 

   [EXCEPTION]  --> 선택

-- error가 발생할 때 수행하는 문장

 

END;  --> 필수

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

-CREATE OR REPLACE 구문을 사용하여 생성 한다.

-IS로 PL/SQL의 블록을 시작 한다.

-LOCAL 변수는 IS BEGIN 사이에 선언 한다.

 

 

프로시저 예제

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

-- 프로시저의 이름은 update_sal이다

-- update_sal 프로시저는 사번을 입력받아 급여를 인상 한다.

-- 프로시저를 끝마칠 때에는 항상 "/"를 지정 한다.

SQL> CREATE OR REPLACE PROCEDURE update_sal

/* IN  Parameter */

(v_empno    IN    NUMBER)

 

     IS 

 

     BEGIN 

 

       UPDATE emp

SET sal = sal  * 1.1

WHERE empno = v_empno;

       COMMIT;

     END update_sal;

/

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

 

프로시저 실행예제

SQL>EXCECUTE update_sal(7369)

PL/SQL처리가 정상적으로 완료되었습니다

 

 

함수(Function)란?

-보통 값을 계산하고 결과 값을 반환하기 위해서 함수를 많이 사용 한다.

대부분 구성이 프로시저와 유사 하지만 IN 파라미터만 사용 할 수있다.

반드시 반환 될 값의 데이터 타입을 RETURN문에 선언해야 한다.

도한 PL/SQL블록 내에서 RETURN문을 통해서 반드시 값을 반환해야 한다.

 

함수문법

-- PL/SQL 블록에는 적어도 한 개의 RETURN 문이 있어야 한다.

-- PL/SQL Block은 함수가 수행 할 내용을 정의한 몸체부분이다.    

CREATE OR REPLACE FUNCTION function name

[(argument...)]

 

  RETURN datatype

-- datatype은 반환되는 값의 datatype입니다.

 

IS 

 

  [변수 선언 부분]

 

BEGIN

 

  [PL/SQL Block]

 

  -- 리턴문이 꼭 존재해야 합니다

RETURN 변수;

 

END;     

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

함수 실행 예제

-- 먼저 함수의 반환값을 저장 할 변수 선언.

SQL> VAR salary NUMBER;

 

-- EXECUTE 문을 이용해 함수를 실행합니다.

SQL>EXECUTE :salary := FC_update_sal(7900);

 

-- PRINT문을 사용하여 출력

SQL>PRINT salary;

 

    SALARY

----------

1045

 

-- 아래와 같이 SELECT문장에서도 사용 할 수 있다.

SQL> SELECT ename, FC_update_sal(sal) FROM emp;

 

END;  --> 필수 D update_sal;

/ D update_sal;

/ D update_sal;

/ D update_sal;


[출처]http://www.gurubee.net/lecture/1042

반응형
반응형

 PL/SQL 구조


PL/SQL에서 사용하는 모든 변수나 상수를 선언하는 부분으로서 DECLARE로 시작합니다.

*실행부(EXECUTABLE SECTION)

절차적 형식으로 SQL문을 실행할 수 있도록 절차적 언어의 요소인 제어문,반복문,함수 정의 등 로직을 기술 할 수 있는 부분으로 BEGIN으로 시작합니다.

*예외 처리(EXCEPTION SECTION)

PL/SQL문이 실행되는 중에 에러가 발생할 수 있는데 이를 예외 사항이라고 한다. 이러한 예외 사항이 발생했을 때 이를 해결하기 위한 문장을 기술할 수 있는 부분으로 EXCEPTION으로 시작한다.

 

PL/SQL 프로그램의 작성 요령

- PL/SQL 블록내에서는 한 문장이 종료할 때마다 세미콜론(;)을 사용 한다.

- END뒤에 세미콜론(;)을 사용하여 하나의 블록이 끝났다는 것을 명시 한다.

- PL/SQL 블록의 작성은 편집기를 통해 파일로 작성할 수도 있고, SQL 프롬프트에서 바로 작성 할 수도 있다.

- SQL*PLUS 환경에서는 DECLARE나 BEGIN이라는 키워드로 PL/SQL블럭이 시작하는 것을 알 수 있다.

- 단일행 주석 : --

- 여러행 주석 : /* */

- PL/SQL 블록은 행에 / 가 있으면 종결 된다.

 

PL/SQL 블럭의 유형

Anonymous Block(익명 블록)

-이름이 없는 블록을 의미하며, 실행하기 위해 프로그램 안에서 선언 되고 실행시에 실행을 위해 PL/SQL 엔진으로 전달 된다.

-선행 컴파일러 프로그램과 SQL*PLUS 또는 서버 관리자에서 익명의 블록을 내장 할 수 있다.

 

Procedure(프로시저)

-득정 작업을 수행할수 있는 이름이 있는 PL/SQL 블록으로서, 매개 변수를 받을수 있고, 반복적으로 사용할 수 있따.

보통 션속 실행 도는 구현이 복잡한 트랜잭션을 수행하는 PL/SQL블록을 데이터베이스에 저장하기 위해 생성한다.

 

Function(함수)

보통 값을 계산하고 결과값을 반환하기 위해서 함수를 많이 사용 한다.

대부분 구성이 프로시저와 유사하지만 IN파라미터만 사용 할 수 있고, 반드시 반활 될 값의 데이터 타입을 RETURN문에 선언해야 한다

또한 PL/SQL블록 내에서 RETURN문을 통해서 반드시 값을 반환 해야 한다.


[출처]http://www.gurubee.net

반응형

+ Recent posts