분석 함수의 초기 체험(二)-환경
10668 단어 분석 함수
설치가 간단하고 설치 프로그램을 직접 실행하면 된다. 번거로운 것은 데이터를 가져오는 데 꽤 많은 우여곡절이 든다.
설치 후/u01/oracle/app/oracle/product/11.2.0/demo/schema/saleshistory 디렉터리에서 창설 사용자와 예시 데이터 파일을 찾을 수 있으며 데이터는 sqlldr로 가져와야 합니다.
구체적인 단계는 다음과 같습니다.
1. 먼저 관리자 사용자로 로그인하여sh 실행main.ql, 이 스크립트는 주로 사용자, 테이블, 보기, 인덱스 등을 만듭니다.
SQL> @sh_main.sql
specify password for SH as parameter 1:
Enter value for 1: sh
specify default tablespace for SH as parameter 2:
Enter value for 2: users
specify temporary tablespace for SH as parameter 3:
Enter value for 3: temp
specify password for SYS as parameter 4:
Enter value for 4: memory
specify directory path for the data files as parameter 5:
Enter value for 5: /u01/oracle/app/oracle/product/11.2.0/demo/schema/sales_history
writeable directory path for the log files as parameter 6:
Enter value for 6: /u03/dmp
specify version as parameter 7:
Enter value for 7: v3
5단계와 7단계를 주의하세요. 5단계의 경로는sh사용자 스크립트를 저장하는 경로를 말합니다. 7단계의 버전은sh발상 디렉터리 ls에서 확인할 수 있습니다. 많은 파일 뒤에 숫자가 있습니다. 바로 이 버전입니다. 데이터베이스 버전이 아닙니다.
2. 데이터를 가져오면 순서가 틀릴 수 없습니다. 표에 키 제약이 있기 때문에 순서가 틀려서 데이터를 가져올 수 없습니다.
sqlldr userid=sh/sh control=prom_v3.ctl data=prom1v3.dat
sqlldr userid=sh/sh control=cust_v3.ctl data=cust1v3.dat
sqlldr userid=sh/sh control=cust2v3.ctl data=cust2v3.dat
sqlldr userid=sh/sh control=prod_v3.ctl data=prod1v3.dat
sqlldr userid=sh/sh control=prod2v3.ctl data=prod2v3.dat
sqlldr userid=sh/sh control=sale_v3.ctl data=sale1v3.dat
sqlldr userid=sh/sh control=sale2v3.ctl data=sale2v3.dat
3. 실험용 데이터 테이블 만들기
1 CREATE table sales_fact AS
2 SELECT country_name country,
3 country_subRegion region,
4 prod_name product,
5 calendar_year year,
6 calendar_week_number week,
7 SUM(amount_sold) sale,
8 sum(amount_sold * (case
9 when mod(rownum, 10) = 0 then
10 1.4
11 when mod(rownum, 5) = 0 then
12 0.6
13 when mod(rownum, 2) = 0 then
14 0.9
15 when mod(rownum, 2) = 1 then
16 1.2
17 else
18 1
19 end)) receipts
20 FROM sales, times, customers, countries, products
21 WHERE sales.time_id = times.time_id
22 AND sales.prod_id = products.prod_id
23 AND sales.cust_id = customers.cust_id
24 AND customers.country_id = countries.country_id
25 GROUP BY country_name,
26 country_subRegion,
27 prod_name,
28 calendar_year,
29 calendar_week_number;
실험 환경이 완성되다.