[상단] ORACLE 학습지 (2)

8478 단어
1、stinrgs spfilebbk.ora > initmes.ora
2, VI 명령
교체:%s/wision/bbk/g
:%s/*\.//g   \.전의적이다
3. cp -R wision/  bbk
반복 복제
4./u01/admin에서 디렉터리를 만들고,/u01/oradata 디렉터리에서archive 디렉터리를 만듭니다.
5,create 데이터베이스 시 UNDO TABLESPACE'UNDOTBS1'은 spfile의 것과 일치해야 한다(undo mangement가 auto로 설정된 경우)
일부 세부 파라미터는 spfile의 것과 일치해야 한다
6、spool dbcre1111.log;
      create .......;
      spool off;
7. 만들기 전에 SID와 같은 환경 변수를 설정합니다.
8、conn/as sysdba;
     create spfile from pfile;
이 pfile이 첫 번째로 만든 거예요.
9. 데이터베이스를 만들기 전에 ORACLE_HOME/dbs 디렉터리에 구령 파일 만들기
다시 startup nomount.
10、orapwd file=orapwbbk password=123 entries=10
11. 실행 과정을 보면alert
tail -f/u01/admin/bbk/bdump/alert_bbk.log
12. sys의 비밀번호를 지정하지 않습니다. 기본값을 사용합니다.
13.oracle의 모든 스크립트는 oracle_에 저장됩니다홈 디렉터리의 rdbms/admin 디렉터리에 있습니다.
14.ROWID는 18비트 64진수로 80비트 바이너리 스토리지입니다.
15. DICTORY 테이블에 데이터 사전 저장
V$Fixed_에 동적 성능 뷰 저장tables
16.basetable 베이스테이블은 데이터베이스를 만들 때 만든 것으로 sql를 실행합니다.bsq 스크립트
17、catalog.sql은 보기를 만듭니다. 예를 들어user_tables dba_usertables
18、data dictionary views are static views
데이터 사전은 정적 뷰이지만 DDL이 변경될 때 변하지 않습니다.
19. 동적 성능 보기는 메모리와 control 파일에서 나온다
20, nomaoutn spfile mount 읽기 제어 파일만 읽기
21. spfile은 controlfile 위치를 기록한다
controlfile는 데이터 파일, 온라인 로그 파일의 위치를 기록하고 어떤 테이블 공간이 있는지 기록합니다
22. alertSID를 조회합니다.log 파일 위치
SQL> show parameter background
NAME         TYPE  VALUE ------------------------------------ ----------- ------------------------------ background_core_dump       string  partial background_dump_dest       string /u01/diag/rdbms/mes/mes/trace
 
23, 하나의 시계는 하나의segment입니다. 구역표라면 한 장의 시계가 여러 개의segment를 차지할 수 있습니다
24.grep-i는 대소문자strings spfilemes를 구분하지 않습니다.ora | grep -i db_block
 25、db_block_size는 테이블 공간에서 1급으로 정의됩니다.
26. 시스템temporary 테이블 공간은 데이터베이스를 만들 때 지정한db_를 사용합니다block_size
다른 테이블 공간은 자유롭게 지정할 수 있습니다.
27, 만약 그 중의 테이블 공간이 지정된다면db_block_크기 불일치 표준 및db_block_사이즈가 같다면.
해당하는db_ 지정 필요nk_cache_크기(db_4k_cache_size 등 기본 초기는 0)입니다. 그렇지 않으면 테이블 공간의 데이터를 메모리로 읽을 수 없습니다.
28.trace 추적 설정 방법 참조
Setting Up AUTOTRACE in SQL*Plus
AUTOTRACE is a facility within SQL*Plus that shows you the explain plan of the queries you’ve
executed and the resources they used. This book makes extensive use of the AUTOTRACE
facility.
There is more than one way to get AUTOTRACE configured. This is what I like to do to get
AUTOTRACE working:
1. cd [ORACLE_HOME]/rdbms/admin
2. log into SQL*Plus as SYSTEM
3. Run @utlxplan
4. Run CREATE PUBLIC SYNONYM PLAN_TABLE FOR PLAN_TABLE;
5. Run GRANT ALL ON PLAN_TABLE TO PUBLIC;
You can replace the GRANT TO PUBLIC with some user if you want. By making the PLAN_
TABLE public, you let anyone trace using SQL*Plus (not a bad thing, in my opinion). This
prevents each and every user from having to install his or her own plan table. The alternative
is for you to run @utlxplan in every schema from which you want to use AUTOTRACE.
The next step is creating and granting the PLUSTRACE role:
1. cd [ORACLE_HOME]/sqlplus/admin
2. Log in to SQL*Plus as SYS or as SYSDBA
3. Run @plustrce
4. Run GRANT PLUSTRACE TO PUBLIC;
Again, you can replace PUBLIC in the GRANT command with some user if you want.

29.trace가 필요할 때 set autotrace on을 사용해야 한다는 것을 반드시 기억해야 한다
30, pctfree 20%는 향후 업데이트를 저장하는 데이터입니다
pctused 40%는 데이터 저장이 40%보다 적을 때 이 블록을freelist에 설정하고 데이터 삽입에 사용할 수 있습니다
31、create table emp (......) tablespace data01
storage (inital 100k
              next 100k
              pctincrease 0
             minextens  8
             maxextens 10);
시작 100k, 최소 800k, 최대 1m
pctincrease 0은 3차 확장표의 구역을 지정할 때 2차보다 몇 퍼센트 많습니다. 0이라면 모두 넷x 100k와 같이 100k 크기를 증가합니다
32. 위의 저장 매개 변수는 테이블 공간의 설정에 따라 보아야 한다. 만약에 테이블 공간이 extent 관리local uniform size 200k로 설정된다면 모든 구역은 200k이다
그러면 위의 설정은 테이블 공간의 설정과 충돌합니다.
 33、
SQL> select t.file_name from dba_data_files t ,dba_extents e
  2  where t.file_id=e.file_id and e.segment_name = 'M';

FILE_NAME
--------------------------------------------------------------------------------
/u01/oradata/mes/users01.dbf

34.commit은redobuffe의 내용을 redolog 파일에 쓰고,dbwr가 쓰든 안 쓰든 그것의 일이다
1개를 삽입하고 1000000개를 삽입하는commit의 시간은 거의 차이가 나지 않는다. 왜냐하면 3초나 redobuffer의 1/3이 채워지면 자동으로 redoentry를 쓰고,commit를 쓸 때 이미 많이 차이가 나지 않기 때문이다.
 35、ALTER DATABASE DEFAULT TEMPORARY TABLESPACE temp_01;--임시 테이블 공간 전환
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2; --UNDO 테이블 공간 전환
36, 만약 UNDO 테이블 공간이 너무 작다면 실행 악취가 나고 긴 조회는 ORA-0155의 오류를 보고할 것이다. 조회 과정에서 수정된 데이터가 있기 때문에 UNDO 테이블 공간에 대응하는 RollBack Segment 데이터(SCN이 조회한 SCN보다 작음)를 찾을 것이다. 만약에 UNDO 테이블 공간이 너무 작으면 이후의 업무로 덮어씌워진다.
37. UNDO는 전체적인 것이다. 빅데이터 양의 업무를 수행하고 제출하지 않는 특수한 사용자(예를 들어 한 번에 1000000개의 기록을 삽입하는 것)를 방지하기 위해 사용자의 UNDO quota 공간 정액을 설정하여 그를 제한할 수 있다. 그는 각각 100개만 삽입하면commit을 100개만 더 삽입할 수 있다......
38.rollbacksegment와undosegment는 기술 문서에서 하나의 뜻이다
39、create disabled constraint
check,forigen 키,unique, 등을 만들 수 있습니다. 그 중에서disable unique와primary 키는drop에 대응하는 인덱스이고,enable는 다시 만들 수 있습니다.
alter table emp add constraint fk_empid (deptid)
referens dept(deptid) disable;
alter table emp enable primary key;
40. 제약은 deferred와immediate 두 가지가 있는데 deferred가 만든 인덱스는 nounique입니다.
41. 하위 테이블의 DML을 조작할 때 부모 테이블의parent 키의 인덱스를 온라인으로 하면 됩니다. 스캔 테이블을 사용하지 않습니다.
42. 하위 테이블의forien 키는 색인을 만드는 것이 가장 좋다. 부모 테이블의 키를 업데이트할 때 하위 테이블에 대한 테이블 색인을 하고 하위 테이블의foreign 키를 스캔해야 하기 때문이다.색인이 있으면 상응하는 기록에 대해 줄 밧줄을 칠 뿐이다.병발에 영향을 주지 않다.
43. 제약 정의의 deferrable는 검사를 지연시키는 것이 아니라 setconstraintsall deferred도 포함한다.또는 어떤 구속이 지연되어야 사용할 수 있음을 지정합니다.
44. 시스템 검증 방식: 시스템 계정을 만드는derek,showparamaterauth 시스템 검증 접두사가 무엇인지 보기(기본적으로ops$), 데이터베이스 계정을 만드는ops$derek identified externally
시스템은 derek로 로그인, export ORACLE_SID  ORACLE_HOME PATH=$ORACLE_HOME/bin: $PATH 직접 sqlplus/데이터베이스 로그인
주의: sqlplus 명령을 사용하면 oracle_홈/bin은 내려가서 찾지만, 이 디렉터리의 권한을 볼 수 없습니다. 루트로chmod 777/u01/oracle를 실행하고 실행하십시오.
45. 공유 모드의 dispathers는 정적입니다. 설정된 만큼 자동으로 증가하지 않지만,shared servers는 상황에 따라 수량을 변화합니다(max_shared_servers보다 크지 않으며,shared_servers보다 작지 않습니다).
 46、shared_서버는 0으로 설정할 수 있습니다. 클라이언트가shared 방식으로 연결되면 자동으로 shared_servers process.(공유 모드와 독점 모드를 동시에 사용할 수 있음)
47. 공유 서버 모드에서 감청을 시작하는 것이 좋습니다. 디스패치를 수정할 때 감청 등록에 정보를 수정하기 때문에listener가 시작하지 않으면 등록할 수 없습니다.
startup 데이터베이스에서listener를 시작하면dispatchers와shared_서버 파라미터 후listener에 잘 등록할 수 없습니다.
48.commit은 데이터를 로그파일에 쓰는 것입니다. 로그를 쓰는 것은 데이터 파일의 쓰기보다 우선합니다.
49.redo는 다시 실행하는 작업인sert,delete,update,undo는 다시 실행하는 작업인delete,insert,redo는 다시 실행할 수 있습니다.undo는 취소 작업이 원래의 상태를 재현하는 것입니다.
50, Mutiplexed control files, 그 중 임의의 control file가 손상되면oracle는 정상적으로 마운트할 수 없습니다.
그러나 Mutiplexed redo log 파일은 한 그룹에 파일이 하나만 있으면 oracle가 정상적으로 실행됩니다. 이것은 alert로만 실행됩니다.log 파일과trace 파일에warnig 정보를 씁니다.
51. 성능, 가용성 두 가지 지표는 서로 모순된다. 예를 들어 다음과 같다.
좋은 성능을 위해 checkpoint를 오랫동안 한 번 만들면 insert 10000개를 기록할 때crash가 떨어지고 다시 시작할 때crashrecovery를 합니다. 느리고 가용성이 낮습니다.
좋은 가용성을 위해checkpoin을 짧은 시간에 한 번만 할 수 있도록 합니다. 주파수가 높으면 성능은 낮지만 회복할 때 빠릅니다.
52,crash recovery:singal instance나rac의 모든 instatce가 붕괴되었습니다.
instace recorver:singal instance나rac 중의 어떤 instatce가 붕괴되었습니다.
53. 아카이브 카탈로그 보기
SQL> archive log list
Database log mode	       Archive Mode
Automatic archival	       Enabled
Archive destination	       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     1
Next log sequence to archive   1
Current log sequence	       1
SQL> show parameter USE_DB_RECOVERY_FILE_DEST
SQL> show parameter RECOVERY_FILE_DEST

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest		     string	 /u01/app/oracle/flash_recovery
						 _area
db_recovery_file_dest_size	     big integer 3852M

54. 백업 제어 파일
SQL> alter database backup controlfile to trace as '/tmp/derek.sql';

Database altered.

55.recover database until time,scn,cancel 시,time,scn은 파라미터의 숫자를 포함하지 않습니다. 예를 들어scn1244는 1233까지만 복구할 수 있습니다.
56.rman의 보고서와list 명령은reportschema,listbackup,listcopy,listincarnation이 있습니다.

좋은 웹페이지 즐겨찾기