對於學習Oracle 數據庫,應該先要了解Oracle 的框架。它有物理結構(由控制文件、數據文件、重作日誌文件、參數文件、歸檔文件、密碼文件組成) ,邏輯結構(表空間、段、區、塊),內存分配( SGA 和PGA)算機的實際內存中得以分配,若是實際內存不夠再往虛擬內存中寫,後臺進程(數據寫進程、日誌寫進程、系統監控、進程監控、檢查點進程、歸檔進程、服務進程、用戶進程) ,SCN(System Change Number)。sql
--鏈接信息: -- 協議爲tcp, -- 主機名爲127.0.0.1, -- 鏈接端口爲1525, alter system set local_listener='(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1525)))'; 至少可服務共享用戶數至少爲425 alter system set dispatchers='(PROTOCOL=tcp)(DISPATCHERS=2)(SERV=D647001)'; --alter system set dispatchers='(PROTOCOL=tcp)(DISPATCHERS=2)(PROTOCOL=IPC)(DISPATCHERS=1)'; 初始運行的共享服務器進程數設置爲2 alter system set shared_servers=2; --alter system set shared_servers = 2 scope=both ; --alter system set max_shared_servers = 5 scope=both ; --最大共享服務器會話數設置爲200 alter system set shared_server_sessions=200; --打開net manager --修改監聽程序listener 地址2 主機:127.0.0.1 --端口 1525 --保存網絡配置 --打開 net C A --監聽程序配置->從新配置->下一步->下一步->使用另外一個端口號1525->下一步完成 --打開net manager --修改服務命名s_d647001 鏈接類型 共享 --主機:127.0.0.1 --端口 1525 --保存網絡配置 --打開 net C A --本地網絡服務名配置>從新配置->下一步->D647001->下一步->主機名 127.0.0.1-> --使用另外一個端口號1525->測試->更改登錄->密碼改成647001
--查詢控制文件 select * from v$controlfile; shutdown immediate; --拷貝控制文件 startup; 控制文件維護 alter system set control_files = 'd:\ora11g\cD122723\diskb\CTN5.LCT', 'd:\ora11g\cD122723\diskd\CTN60.LCT', 'd:\ora11g\cD122723\diski\CTN320.LCT' scope=spfile; shutdown immediate; startup; --查詢日誌文件: select *from v$logfile; --設置參數 alter session set sql_trace=true; --生成trace文件 alter database backup controlfile to trace; --顯示trace文件 show parameter user_dump_dest;
--查看重作日誌組的狀態 SELECT group#, sequence#, bytes, members, status FROM v$log; select * from v$controlfile; --查看全部成員的位置狀態 select group#,status,type,member from v$logfile; --添加成員到_組 alter database add logfile member 'd:\ora11g\cD122723\diskb\21122723.dro' to group 2, 'd:\ora11g\cD122723\diskd\22122723.dro' to group 2, 'd:\ora11g\cD122723\diski\23122723.dro' to group 2, 'd:\ora11g\cD122723\diskb\31122723.dro' to group 3, 'd:\ora11g\cD122723\diskd\32122723.dro' to group 3, 'd:\ora11g\cD122723\diski\33122723.dro' to group 3; ALTER DATABASE DROP LOGFILE MEMBER 'D:\APP\26984\ORADATA\D122723\DRFC3.DDD'; ALTER DATABASE DROP LOGFILE MEMBER 'D:\APP\26984\ORADATA\D122723\RDFB4.DDD'; ALTER DATABASE ADD LOGFILE GROUP 5 ('d:\ora11g\cD122723\diskb\51122723.dro', 'd:\ora11g\cD122723\diskd\52122723.dro','d:\ora11g\cD122723\diski\53122723.dro')size 60m; --設置聯機重作日誌組成員存放路徑 alter system set DB_CREATE_ONLINE_LOG_DEST_1='d:\ora11g\cD122723\diskb'; alter system set DB_CREATE_ONLINE_LOG_DEST_2='d:\ora11g\cD122723\diskd'; alter system set DB_CREATE_ONLINE_LOG_DEST_3='d:\ora11g\cD122723\diski'; --OMF添加聯機重作日誌組並設置大小 ALTER DATABASE ADD LOGFILE group 8 size 60m; ALTER SYSTEM SET FAST_START_MTTR_TARGET = 1440; ALTER SYSTEM CHECKPOINT; --強行切換日誌組 ALTER SYSTEM SWITCH LOGFILE;
archive log list; shutdown immediate; startup mount; --設置歸檔模式 alter database archivelog; --最大歸檔進程數 alter system set log_archive_max_processes=3; --設置三個位置 alter system set log_archive_dest_1='location=d:\arc\cD122723\diskc\ mandatory'; alter system set log_archive_dest_2='location=d:\arc\cD122723\diskd\'; alter system set log_archive_dest_3='location=d:\arc\cD122723\diskg\'; --查詢歸檔位置 select destination,binding,target,status from v$archive_dest where destination is not null; --日誌切換前至少成功歸檔位置數爲2 alter system set log_archive_min_succeed_dest=3; ALTER SYSTEM SWITCH LOGFILE; --進入BIN目錄, rman connect target /@d122723; backup database; exit; --二 select * from dba_data_files ; select * from dba_tablespaces; select * from v$logfile; select * from v$controlfile --脫機 alter tablespace TC_AE7 offline; --移動 host move D:\APP\USER\ORADATA\D647001\USERS01.DBF D:\ORA11G\CD647001\DISKD\DC562.FBD --修改表空間數據文件位置 alter tablespace TC_AE7 rename datafile 'D:\APP\USER\ORADATA\D647001\USERS01.DBF' to 'D:\ORA11G\CD647001\DISKD\DC562.FBD'; --聯機並修改數據文件大小 alter tablespace TC_AE7 online; alter database datafile 'D:\ORA11G\CD647001\DISKG\DDC515.FBD' resize 1524m; --查詢塊大小 show parameter block_size; --修改自動擴展上限 和 next ALTER DATABASE datafile 'D:\ORA11G\CD647001\DISKD\DC562.FBD' AUTOEXTEND ON NEXT 9175040 MAXSIZE 700M; ALTER DATABASE datafile 'D:\ORA11G\CD647001\DISKD\DC562.FBD' AUTOEXTEND off; --不可脫機的表空間 shutdown immediate startup mount --修改 alter database rename file 'D:\APP\USER\ORADATA\D647001\UNDOTBS01.DBF' to 'D:\ORA11G\CD647001\DISKB\FC2.FBD'; alter database datafile 'D:\ORA11G\CD122723\DISKI\FC175.FBD' resize 700M; --臨時表空間 select * FROM DBA_TEMP_FILES; alter database tempfile 'D:\ORA11G\CD647001\DISKD\FC846.FBD' resize 500m; ALTER DATABASE tempfile 'D:\ORA11G\CD647001\DISKD\FC846.FBD' AUTOEXTEND ON NEXT 170m MAXSIZE 1350M;
--db_block_size 8192 --D:\ORA11G\CD122723\DISKB\ --D:\ORA11G\CD122723\DISKD\ --D:\ORA11G\CD122723\DISKI\ --數據字典管理 dictionary --臨時 temporary --表空間1 --建立表空間 create tablespace TC_417 datafile 'D:\ORA11G\CD122723\DISKB\BCDBG.FBD' size 60M autoextend off PERMANENT extent management local uniform size 270336 segment space management auto; --像表空間添加數據文件 ALTER TABLESPACE TC_417 ADD DATAFILE 'D:\ORA11G\CD122723\DISKD\BCBFEG.FBD' size 180M autoextend on next 16384000 maxsize 790M; --表空間2(OMF) ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKI\'; CREATE bigfile TABLESPACE TF_843 datafile size 110m autoextend on next 14942208 maxsize 600M PERMANENT extent management local uniform size 393216 segment space management auto; drop tablespace TSC_63 including contents and datafiles; --表空間3(OMF) ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKB\'; --塊大小 alter system set db_4k_cache_size = 4M; CREATE bigfile TABLESPACE TSC_63 datafile size 140m autoextend off blocksize 4k PERMANENT uniform size 200704 segment space management auto; --表空間4(OMF) ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKD\'; --塊大小 alter system set db_2k_cache_size = 2M; CREATE TABLESPACE TSC_612 datafile size 60m autoextend on next 35m maxsize 350m blocksize 2k PERMANENT uniform size 90112 segment space management MANUAL; drop tablespace TSC_6108 including contents and datafiles; --表空間5(OMF) ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKI\'; --塊大小 alter system set db_16k_cache_size = 16M; CREATE TABLESPACE TSC_6108 datafile size 120M autoextend on next 36962304 maxsize 900m blocksize 16k PERMANENT uniform size 540672 segment space management MANUAL; drop tablespace TSC_4 including contents and datafiles; --表空間6(OMF) ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKI\'; --塊大小 alter system set db_2k_cache_size = 2M; CREATE bigfile TABLESPACE TSC_4 datafile size 100M autoextend off blocksize 2k PERMANENT uniform size 86016 segment space management auto;
--block_size 8192 --sort_area_size 65536 --D:\ORA11G\CD122723\DISKB\ TC_417 1 --D:\ORA11G\CD122723\DISKD\ TC_417 1 --D:\ORA11G\CD122723\DISKI\ TF_843 2 --D:\ORA11G\CD122723\DISKB\ TSC_63 3 --D:\ORA11G\CD122723\DISKD\ TSC_612 4 --D:\ORA11G\CD122723\DISKI\ TSC_610 5 --D:\ORA11G\CD122723\DISKI\ TSC_4 6 --biao5 ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKI\'; show parameter sort_area_size; //65536 show parameter block_size; //8192 --建立temp表空間 create bigfile TEMPORARY tablespace TSSC_548 tempfile size 1970M autoextend off uniform size 524288; --刪除表空間 drop tablespace TSC_444 including contents and datafiles; --OMF ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD122723\DISKI\'; --建立還原表空間 create undo tablespace TSSC_DDA datafile size 880M autoextend on next 13762560 maxsize 5800m; --ALTER TABLESPACE TSSC_DB RETENTION GUARANTEE; --OMF ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD647001\DISKG\'; --建立還原表空間 create bigfile undo tablespace TSSC_3 datafile size 1330M autoextend on next 400m maxsize 6100m; --還原保留保證 ALTER TABLESPACE TSSC_3 RETENTION GUARANTEE; --biao3 --OMF ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD647001\DISKG\'; show parameter sort_area_size; --65536 --建立temp表空間 create bigfile TEMPORARY tablespace TSSC_670 tempfile size 1020M autoextend on next 355m maxsize 7750m uniform size 327680; --biao4 ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD647001\DISKG\'; show parameter sort_area_size; --建立temp表空間 create TEMPORARY tablespace TSSC_A tempfile size 750M autoextend off uniform size 131072; --biao5 ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD647001\DISKD\'; show parameter sort_area_size; --65536 show parameter block_size; --8192 --建立temp表空間 create bigfile TEMPORARY tablespace TSSC_CF tempfile size 1350M autoextend on next 13500416 maxsize 3850m uniform size 655360; --biao6 --OMF ALTER SYSTEM SET db_create_file_dest = 'D:\ORA11G\CD647001\DISKG\'; --建立還原表空間 create undo tablespace TSSC_EGB datafile size 1380M autoextend off; --還原保留保證 --ALTER TABLESPACE TSSC_3 RETENTION GUARANTEE; --7 --切換還原表空間 alter system set undo_tablespace = TSSC_DDA; --時間 alter system set undo_retention=180; alter database default temporary tablespace TSSC_45; --恢復目錄 alter system set db_recovery_file_dest='D:\ora11g\cD122723\diskb\recovery'; --閃回時間 alter system set db_flashback_retention_target=60; shutdown immediate startup mount alter database archivelog; alter database flashback on; alter database open;
select * from dba_tablespaces; select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE'; --TC_417 --TF_843 --TSC_63 --TSC_612 --TSC_6108 --TSC_4 --default --TC_FA4 --biao1 create table RJSTU271(stu_no nchar(7),stu_name varchar2(18),stu_city char(15) default '上海', stu_enter date default sysdate,stu_score number(3,0) default 510,stu_leader nchar(7),stu_depart varchar2(30)) partition by range(stu_enter) ( partition P_RJSTU271_stu_enter_1 values less than (to_date('2014-09-01','yyyy-mm-dd')) INITRANS 28 tablespace TF_843, partition P_RJSTU271_stu_enter_2 values less than (to_date('2015-03-01','yyyy-mm-dd')) INITRANS 30 tablespace TC_FA4, partition P_RJSTU271_stu_enter_3 values less than (MAXVALUE) INITRANS 8 tablespace TC_417 ); comment on table RJSTU271 is '學生表(分區表)'; comment on column RJSTU271.stu_no is '學生號'; comment on column RJSTU271.stu_name is '姓名'; comment on column RJSTU271.stu_city is '畢業地區'; comment on column RJSTU271.stu_enter is '入學時間'; comment on column RJSTU271.stu_score is '成績'; comment on column RJSTU271.stu_leader is '班長學號'; comment on column RJSTU271.stu_depart is '所屬系'; --biao2 create table RJCOU372(couid char(12),couname varchar2(36),coutype varchar2(30) default '專業選修', coumoddate date default sysdate, coulevel number(1,0) default 2, coubefore char(12), couprof varchar2(33), primary key(couid)) organization index INITRANS 15 tablespace TC_417 overflow INITRANS 7 tablespace TSC_612; comment on table RJCOU372 is '課程表【索引組織的表】'; comment on column RJCOU372.couid is '課程號'; comment on column RJCOU372.couname is '課程名'; comment on column RJCOU372.coutype is '課程類別'; comment on column RJCOU372.coumoddate is '修訂日期'; comment on column RJCOU372.coulevel is '課學分'; comment on column RJCOU372.coubefore is '先修課程'; comment on column RJCOU372.couprof is '所屬專業'; --biao3 create table RJPAR123(parid char(8),parname nvarchar2(7),partype nvarchar2(10) default '塊狀', parleave date default sysdate,parnum number(8,0) default 300,parsub char(8), parwshop nvarchar2(8), parremark clob, parphoto blob) --閃回支持tablespace TF_071 enable row movement initrans 29 storage(buffer_pool keep) tablespace TSC_63 initrans 7 storage(buffer_pool recycle) lob (parremark) store as parremark_lob (tablespace TSC_612) lob (parphoto) store as lob_parphoto (tablespace TSC_6108); comment on table RJPAR123 is '零件表-包含大對象字段的表'; comment on column RJPAR123.parid is '件號'; comment on column RJPAR123.parname is '工件名'; comment on column RJPAR123.partype is '零件類別'; comment on column RJPAR123.parleave is '生產時間'; comment on column RJPAR123.parnum is '生產數量'; comment on column RJPAR123.parsub is '構成零件'; --comment on column RJPAR123.parwshop is '車間名'; comment on column RJPAR123.parremark is '零件備註'; comment on column RJPAR123.parphoto is '零件圖'; --cu create cluster RJC_BA(emp_dno nvarchar2(6)) tablespace TSC_6108 initrans 20 storage(buffer_pool keep); --cubiao create table RJEMP134(empno nchar(10), empname char(24),emptype varchar2(21) default '編碼', empenter date default sysdate,empsalary number(11,0) default 1000,empmanager nchar(10), empdeptno nvarchar2(6)) cluster RJC_BA(empdeptno); comment on table RJEMP134 is '員工表(簇表1)'; comment on column RJEMP134.empno is '員工號'; comment on column RJEMP134.empname is '員工名'; comment on column RJEMP134.emptype is '工種'; comment on column RJEMP134.empenter is '僱傭時間'; comment on column RJEMP134.empsalary is '薪水'; comment on column RJEMP134.empmanager is '主管'; comment on column RJEMP134.empdeptno is '部門編號'; --cubiao create table RJEMP515( edno nvarchar2(6), edname varchar2(36)) cluster RJC_BA(edno) enable row movement; comment on table RJEMP515 is '部門表【簇表2】'; comment on column RJEMP515.edno is '部門編號'; comment on column RJEMP515.edname is '部門名稱'; --quanju create global temporary table RJSTU046(stu_no nchar(7),stu_name varchar2(18),stu_city char(15) default '上海', stu_enter date default sysdate,stu_score number(3,0) default 510,stu_leader nchar(7),stu_depart varchar2(30)) ON COMMIT PRESERVE ROWS; comment on table RJSTU046 is '學生表〈全局臨時表〉'; comment on column RJSTU046.stu_no is '學生號'; comment on column RJSTU046.stu_name is '姓名'; comment on column RJSTU046.stu_city is '畢業地區'; comment on column RJSTU046.stu_enter is '入學時間'; comment on column RJSTU046.stu_score is '成績'; comment on column RJSTU046.stu_leader is '班長學號'; comment on column RJSTU046.stu_depart is '所屬系';
--控制文件 --D:\ORA11G\CD122723\DISKB\ --D:\ORA11G\CD122723\DISKD\ --D:\ORA11G\CD122723\DISKI\ --建立表空間 drop tablespace TCI_284 including contents and datafiles; alter system set db_4k_cache_size=4k; alter system set db_create_file_dest ='D:\ORA11G\CD122723\DISKB\'; create tablespace TCI_284 datafile size 60M autoextend off blocksize 4K; --建立表空間 drop tablespace TFI_628 including contents and datafiles; alter system set db_4k_cache_size=4k; alter system set db_create_file_dest ='D:\ORA11G\CD122723\DISKI\'; create tablespace TFI_628 datafile size 90M autoextend off blocksize 4K; --建立表空間 drop tablespace TKI_444 including contents and datafiles; alter system set db_4k_cache_size=4k; alter system set db_create_file_dest ='D:\ORA11G\CD122723\DISKD\'; create tablespace TKI_444 datafile size 150M autoextend off blocksize 4K; --建立索引 drop index ind_RJCOU372_couname; create index ind_RJCOU372_couname on RJCOU372(couname) tablespace TKI_444; create bitmap index ind_RJSTU271_stu_enter on RJSTU271(stu_enter) local (partition par_RJSTU271_stu_enter_1 tablespace TKI_444, partition par_RJSTU271_stu_enter_2 tablespace TFI_628, partition par_RJSTU271_stu_enter_3 tablespace TCI_284); alter index ind_RJSTU271_stu_enter monitoring usage; --刪除索引 drop index ind_RJSTU271_stu_enter; --重建索引 alter index name --監控索引,要求以下: -- 1)⑥索引監控: -- 2)⑥--- 索引爲分區索引, -- 3)⑥--- 監控狀態爲關閉, -- 4)⑥--- 使用狀態爲使用, -- 5)⑥--- 監控數量爲1。 alter index i_sname_RJSTU002 monitoring usage; --查詢索引使用狀態 select * from v$object_usage ; ALTER INDEX hr.dept_id_idx NOMONITORING USAGE update RJSTU002 set sleader='76B3TA'; alter table RJSTU002 add constraint sleader_fk foreign key(sleader) references RJSTU002(sid);
--先建立惟一索引 create unique index cid_RJCOU661_i on RJCOU661(cid) tablespace TBI_016 initrans 14 storage(buffer_pool keep); --建立主鍵 alter table RJCOU661 add constraint pk_cid_RJCOU661 primary key(cid); select * from user_cons_columns natural join user_constraints where constraint_name='pk_cid_RJCOU661'; select * from user_indexes where table_name='RJCOU661'; select * from user_constraints where table_name='RJCOU661'; --1 create unique index stu_no_RJSTU271_i on RJSTU271(stu_no) tablespace TCI_284 initrans 2 storage(buffer_pool recycle); alter table RJSTU271 add constraint RJSTU271_stu_no_pk primary key(stu_no); Alter table RJSTU271 drop primary key; ALTER TABLE RJSTU271 ENABLE NOVALIDATE CONSTRAINT RJSTU271_stu_no_pk; --2 --RJPAR123 --parid create unique index parid_RJPAR123_i on RJPAR123(parid) tablespace TFI_628 initrans 17 storage(buffer_pool keep); alter table RJPAR123 add constraint pk_parid_RJPAR123 primary key(parid); ALTER TABLE RJPAR123 ENABLE NOVALIDATE CONSTRAINT pk_parid_RJPAR123; --3 --RJEMP134 --empno CREATE INDEX ind_cluster_test ON cluster RJC_BA; create unique index empno_RJEMP134_ind on RJEMP134(empno) tablespace TKI_444 initrans 28 storage(buffer_pool keep); alter table RJEMP134 add constraint pk_empno_RJEMP134 primary key(empno); ALTER TABLE RJEMP134 ENABLE NOVALIDATE CONSTRAINT pk_empno_RJEMP134; --4 --RJSTU271 --stu_no --stu_leader alter table RJSTU271 add constraint rk_stu_leader_RJSTU271 foreign key(stu_leader) references RJSTU271(stu_no) deferrable initially deferred disable novalidate; ALTER TABLE RJSTU271 ENABLE NOVALIDATE CONSTRAINT rk_stu_leader_RJSTU271; --5 --RJPAR123 --parid --parsub alter table RJPAR123 add constraint rk_RJPAR123_parsub foreign key(parsub) references RJPAR123(parid) on delete set null; ALTER TABLE RJPAR123 disable novalidate CONSTRAINT rk_RJPAR123_parsub; --6 --RJEMP134 --empno --empmanager alter table RJEMP134 add constraint rk_RJEMP134_empmanager foreign key(empmanager) references RJEMP134(empno) on delete cascade deferrable initially deferred; ALTER TABLE RJEMP134 disable novalidate CONSTRAINT rk_RJEMP134_empmanager;
--考覈內容 -- 一、管理缺省的配置文件及建立口令校驗函數,要求以下: -- 1)修改配置文件DEFAULT,設置口令校驗函數爲NULL,其它配置都爲UNLIMITED, -- 2)建立第1個口令校驗函數,名稱爲「VF_A31」, -- 3)建立第2個口令校驗函數,名稱爲「VF_DD2」, -- 4)建立第3個口令校驗函數,名稱爲「VF_DBE」。 -- -- 找到口令函數所在文件,修改運行就能夠了 -- 二、建立第1個配置文件,要求以下: -- 1)①建立配置文件,要求以下: -- 2)①--- 名稱爲PRO_630, -- 3)①--- 口令校驗函數設置爲第2個, -- 4)①--- 口令寬限期設置爲1個月, -- 5)①--- 舊口令可以使用最屢次數設置爲3, -- 6)①--- 每一個用戶最多會話數設置爲1, -- 7)①--- 每一個會話最長鏈接時間設置爲480分鐘, -- 8)①--- 每一個會話最長CPU時間設置爲0.10秒, -- 9)①--- 每次調用讀邏輯塊最大數設置爲50000, -- 10)①--- 私有SGA設置爲80MB, -- 11)①--- 上面未說起的全部參數,都設置爲default。 create profile PRO_630 LIMIT PRIVATE_SGA 80M PASSWORD_VERIFY_FUNCTION VF_DD2 PASSWORD_GRACE_TIME 30 PASSWORD_REUSE_MAX 3 SESSIONS_PER_USER 1 CONNECT_TIME 480 CPU_PER_SESSION 10 LOGICAL_READS_PER_CALL 50000; -- 三、建立第2個配置文件,要求以下: -- 1)②建立配置文件,要求以下: -- 2)②--- 名稱爲PRO_B67, -- 3)②--- 口令校驗函數設置爲第1個, -- 4)②--- 口令生存期設置爲4周, -- 5)②--- 舊口令再次使用間隔期設置爲8周, -- 6)②--- 鎖定帳戶前登陸失敗最屢次數設置爲3, -- 7)②--- 每一個會話最長空閒時間設置爲2小時, -- 8)②--- 每次調用最長CPU時間設置爲0.20秒, -- 9)②--- 每一個會話讀邏輯塊最大數設置爲800000, -- 10)②--- 私有SGA設置爲15MB, -- 11)②--- 上面未說起的全部參數,都設置爲default。 create profile PRO_B67 LIMIT PRIVATE_SGA 15M PASSWORD_VERIFY_FUNCTION VF_A31 PASSWORD_LIFE_TIME 28 PASSWORD_REUSE_TIME 56 FAILED_LOGIN_ATTEMPTS 3 IDLE_TIME 120 CPU_PER_CALL 20 LOGICAL_READS_PER_SESSION 800000; -- 四、建立第3個配置文件,要求以下: -- 1)③建立配置文件,要求以下: -- 2)③--- 名稱爲PRO_AD1, -- 3)③--- 口令校驗函數設置爲第3個, -- 4)③--- 帳戶自動解鎖期設置爲60天, -- 5)③--- 舊口令可以使用最屢次數設置爲8, -- 6)③--- 鎖定帳戶前登陸失敗最屢次數設置爲5, -- 7)③--- 每一個會話最長鏈接時間設置爲32400秒, -- 8)③--- 每次調用最長CPU時間設置爲0.10秒, -- 9)③--- 每一個會話讀邏輯塊最大數設置爲870000, -- 10)③--- 私有SGA設置爲35MB, -- 11)③--- 上面未說起的全部參數,都設置爲default。 create profile PRO_AD1 LIMIT PRIVATE_SGA 35M PASSWORD_VERIFY_FUNCTION VF_DBE PASSWORD_LOCK_TIME 60 PASSWORD_REUSE_MAX 8 FAILED_LOGIN_ATTEMPTS 5 CONNECT_TIME 540 CPU_PER_CALL 10 LOGICAL_READS_PER_SESSION 870000; --- 五、建立和管理第1個用戶,要求以下: --- 1)④建立用戶,要求以下: -- 2)④--- 用戶名命名爲 RJ_844, -- 3)④--- 配置文件指定爲第1個, -- 4)④--- 臨時表空間設置爲第1個臨時表空間; -- 5)④--- 缺省表空間設置爲第1個表空間, -- 6)④--- 在缺省表空間上可以使用空間設置爲15MB。 CREATE USER RJ_844 profile PRO_630 IDENTIFIED BY "mzw3,1415" DEFAULT TABLESPACE TC_417 TEMPORARY TABLESPACE TSSC_3 QUOTA 15M ON TC_417 PASSWORD EXPIRE; -- 六、建立和管理第2個用戶,要求以下: -- 1)⑤建立用戶,要求以下: ---- 2)⑤--- 用戶名命名爲 RJ_B32, -- 3)⑤--- 配置文件指定爲第2個, --- 4)⑤--- 臨時表空間設置爲第3個臨時表空間; -- 5)⑤--- 缺省表空間設置爲第6個表空間, -- 6)⑤--- 在缺省表空間上可以使用空間設置爲9MB。 CREATE USER RJ_B32 profile PRO_B67 IDENTIFIED BY "mzw3,1415" DEFAULT TABLESPACE TSC_4 TEMPORARY TABLESPACE TSSC_548 QUOTA 9M ON TSC_4 PASSWORD EXPIRE; -- 七、建立和管理第3個用戶,要求以下: -- 1)⑥建立用戶,要求以下: -- 2)⑥--- 用戶名命名爲 RJ_BD2, -- 3)⑥--- 配置文件指定爲第3個, -- 4)⑥--- 臨時表空間設置爲第2個臨時表空間; -- 5)⑥--- 缺省表空間設置爲第3個表空間, -- 6)⑥--- 在缺省表空間上可以使用空間設置爲1MB。 CREATE USER RJ_BD2 profile PRO_AD1 IDENTIFIED BY "mzw3,1415" DEFAULT TABLESPACE TSC_63 TEMPORARY TABLESPACE TSSC_45 QUOTA 1M ON TSC_63 PASSWORD EXPIRE;
--考覈目的 -- 一、掌握建立外部用戶的方法,理解外部用戶的使用方式和方法。 -- 二、掌握系統權限和對象權限的分配和回收方法,理解不一樣權限的應用場景。 -- 三、掌握角色的建立和管理方法,理解角色的應用場景。 -- 四、掌握建立序列、同義詞的方法,理解它們的應用場景。 --考覈內容 -- 一、建立和管理外部驗證用戶,要求以下: -- 1)建立用戶,要求以下: -- 2)-- 用戶驗證方式爲外部驗證, -- 3)-- 配置文件指定爲第1個, -- 4)-- 臨時表空間設置爲第1個臨時表空間; -- 5)-- 缺省表空間設置爲第2個表空間, -- 6)-- 在缺省表空間上可以使用空間設置爲16MB, -- 7)-- 直接賦權給此用戶,容許登陸, -- 8)-- 以此用戶登陸數據庫後再檢查做業。 CREATE USER ops$mzw profile PRO_630 IDENTIFIED EXTERNALLY DEFAULT TABLESPACE TF_843 TEMPORARY TABLESPACE TSSC_3 QUOTA 16M ON TF_843; grant create session to ops$mzw; -- 二、管理系統權限和對象權限,要求以下: -- -- 1)對第3個用戶僅賦如下權限: -- 2)①系統權限: -- 3)---①⑴ 建立觸發器,面向當前用戶,且不可傳遞, -- 4)---①⑵ 修改簇,面向全部用戶(不包括SYS),且可傳遞; select * from dba_sys_privs where grantee='RJ_BD2'; grant create trigger to RJ_BD2; grant alter any cluster to RJ_BD2 with admin option; -- 5)②非字段對象權限: -- 6)---②⑴ system的索引組織的表上的查詢記錄權限,且可傳遞, -- 7)---②⑵ system的分區表上的修改結構權限,且不可傳遞, grant select on system.RJCOU372 to RJ_BD2 with grant option; grant alter on system.RJSTU271 to RJ_BD2; -- 8)③字段對象權限: -- 9)---③⑴ 更新system的包含大對象的表的字段「零件類別」,且可傳遞, -- 10)---③⑵ 參照system的第1個簇表的字段「員工號」,且不可傳遞。 grant update(partype) on system.RJPAR123 to RJ_BD2 with grant option; grant REFERENCES(empno) on system.RJEMP134 to RJ_BD2; revoke drop tablespace from RJ_BD2; alter on system.RJSTU271 -- 三、建立和管理角色,要求以下: -- 1)④建立角色R_A60,不須要口令,而後僅賦如下權限: -- -- 2)--④⑴系統權限: -- 3)----④⑴ 丟棄表空間,且可傳遞; -- 4)--④⑵對象權限: -- 5)----④⑵ system的「第1個簇表」的刪除記錄的權限 create role R_A60; grant drop tablespace to R_A60 with admin option; grant delete on system.RJEMP134 to R_A60; -- 6)⑤建立角色R_B47,須要口令,而後僅賦如下權限: -- 7)--⑤⑴系統權限: -- 8)----⑤⑴ 建立配置文件,且不可傳遞; -- 9)--⑤⑵對象權限: -- 10)----⑤⑵ system的「包含大對象的表」的插入記錄的權限; create role R_B47; grant create profile to R_B47; grant insert on system.RJPAR123 to R_B47; revoke create profile from R_B47; -- 11)⑥建立角色 R_C62,不須要口令,而後僅賦如下角色: -- 12)--⑥⑴角色名爲「R_A60」: -- 13)----⑥⑴ 支配方式爲「不可管理」, -- 14)--⑥⑵角色名「R_B47」: -- 15)----⑥⑵ 支配方式「可管理」, -- 16)--⑥⑶角色「鏈接」: -- 17)----⑥⑶ 支配方式「可管理」, create role R_C62; grant R_A60 to R_C62; grant R_B47 to R_C62 with admin option; grant connect to R_C62 with admin option; -- 18)⑦對第2個用戶僅賦如下角色: -- 19)--⑦⑴角色名「R_C62」: -- 20)----⑦⑴ 支配方式「可管理」, -- 21)----⑦⑴ 此角色爲「非缺省角色」: -- 22)--⑦⑵角色「導入所有數據庫」: -- 23)----⑦⑵ 支配方式「不可管理」, -- 24)----⑦⑵ 此角色爲「缺省角色」。 grant R_C62 to RJ_B32 with admin option; grant IMP_FULL_DATABASE to RJ_B32 ; ALTER user RJ_B32 DEFAULT role IMP_FULL_DATABASE; alter user "5282" default R_C8; -- 四、建立序列、同義詞,要求以下: -- 1)⑧建立序列: -- 2)⑧---- 名稱爲「sq_122723」, -- 3)⑧---- 擁有者爲「system」, -- 4)⑧---- 最大值設置爲1100, -- 5)⑧---- 最小值設置爲13, -- 6)⑧---- 增量設置爲1, -- 7)⑧---- 緩存數設置爲12, -- 8)⑧---- 循環使用設置爲「否」, create sequence sq_122723 maxvalue 1100 MINVALUE 13 increment by 1 cache 12 NOCYCLE; -- 9)⑨建立私有同義詞: -- 10)⑨---- 目標爲第3個用戶可操做的表, -- 11)⑨---- 名稱爲第1個爲s1,第2個爲s2,依此類推,按賦權前後次序排列, -- 12)⑨---- 擁有者爲第3個用戶, create [or replace] sysnonym [schema.] sysnonym_name for [schema.]object_name; create synonym RJ_BD2.s1 for RJCOU372; create synonym RJ_BD2.s2 for RJSTU271; -- RJPAR123,RJEMP134 create synonym RJ_BD2.s3 for RJPAR123; create synonym RJ_BD2.s4 for RJEMP134; -- 13)⑩建立私有同義詞: -- 14)⑩---- 目標爲第2個用戶可操做的表, -- 15)⑩---- 名稱爲第1個爲t1,第2個爲t2,依此類推,按賦權前後次序排列, -- 16)⑩---- 擁有者爲第2個用戶。 select * from DBA_TAB_PRIVS where GRANTEE = "RJ_BD2"; create synonym RJ_B32.t2 for RJPAR123;
考覈目的 1、掌握審計的管理方法,理解審計的應用場景。 2、掌握建立外部表的方法,理解外部表的應用場景。 3、掌握建立數據庫連接的方法,理解它們的應用場景。 考覈內容 select * from dba_role_privs where grantee='RJ_B32'; select * from dba_sys_privs where grantee='RJ_B32'; -- 一、管理審計,要求以下: -- 1)開啓審計,知足如下要求: -- 2)--- 審計線索存儲表空間爲「缺省的永久表空間」, -- -- 3)--- ①權限審計: -- 4)------- ①僅審計第2個用戶的「丟棄全部用戶的簇」的失敗操做; -- 5)------- ①作對應操做,僅生成2條權限審計線索, -- 6)--- ②對象審計: -- 7)------- ②僅審計system的「分區表」上的刪除記錄的對象權限,按會話審計失敗操做, -- 8)------- ②作對應操做,僅生成2條對象審計線索, -- 9)--- ③語句審計: -- 10)------- ③僅審計第1個用戶的「用戶」的失敗操做, -- 11)------- ③作對應操做,僅生成4條語句審計線索。 alter system set audit_sys_operations=false scope=spfile; shutdown immediate startup --缺省表空間TC_FA4 --select * from database_properties where property_name ='DEFAULT_PERMANENT_TABLESPACE'; alter table aud$ move tablespace TC_FA4; AUDIT drop any cluster by RJ_B32 whenever not successful; audit delete on system.RJSTU271 whenever not successful; audit user by RJ_844 whenever not successful; -- 二、建立外部表,要求以下: -- 1)④以system用戶登陸,建立第7個表:外部表,要求以下: -- 2)④-- 表名命名爲「RJPAR717」, -- 3)④-- 表的說明設置爲「零件表-外部表」, -- 4)④-- 同名表的數量爲1, -- 5)④-- 如下爲字段信息,根據描述肯定合適的類型及寬度: -- 6)④-- (1)字段名命名爲 parid, -- 7)④----- (1)字段說明設置爲「零件號」, -- 8)④----- (1)字符集使用國家字符集, -- 9)④----- (1)類型特徵爲性能優先, -- 10)④----- (1)長度:有非數字字符,字符數爲7, -- 11)④-- (2)字段名命名爲 parpname, -- 12)④----- (2)字段說明設置爲「工件名」, -- 13)④----- (2)字符集使用國家字符集, -- 14)④----- (2)類型特徵爲性能優先, -- 15)④----- (2)長度:可存漢字數爲7, -- 16)④-- (3)字段名命名爲 partype, -- 17)④----- (3)字段說明設置爲「零件種類」, --- 18)④----- (3)字符集使用數據庫字符集, -- 19)④----- (3)類型特徵爲性能優先, -- 20)④----- (3)長度:可存漢字數爲5, -- -- 21)④-- (4)字段名命名爲 parfinish, -- 22)④----- (4)字段說明設置爲「生產日期」, -- 23)④----- (4)類型特徵爲日期, -- 24)④-- (5)字段名命名爲 parquan, -- 25)④----- (5)字段說明設置爲「生產數量」, -- 26)④----- (5)類型特徵爲數值, -- 27)④----- (5)小數位數爲0, -- 28)④----- (5)有效數字個數爲6, -- -- 29)④-- 如下爲附加信息,根據描述肯定合適的語句, -- 30)④----- 目錄名命名爲 D_506, -- 31)④----- 目錄指向文件夾設置爲d:\ORA11G, -- 32)④----- 數據文件命名爲 DB_613.TXT, -- 33)④----- 壞文件命名爲 BD_777.BAD, -- 34)④----- 廢棄文件命名爲 DS_200.DIS, -- 35)④----- 日誌文件命名爲 LG_647.LOG, -- 36)④----- 每條記錄佔一行, -- 37)④----- 字段分隔符爲「`」, -- 38)④----- 缺字段則爲空, -- 39)在數據文件中加入3條不重複記錄,每一個字段都不能爲空,而且可成功查詢。 sqlplus system/122723@122723 CREATE DIRECTORY D_506 as 'd:\ORA11G'; create table RJPAR717( parid nchar(7), parpname nchar(7), partype char(15), parfinish date, parquan number(6,0)) organization external( DEFAULT DIRECTORY D_506 access parameters ( records delimited by newline badfile 'BD_777.BAD' discardfile 'DS_200.DIS' logfile 'LG_647.LOG' fields terminated by '`' missing field values are null( parid,parpname,partype, parfinish date "YYYY-MM-DD HH24:MI:SS", parquan ) ) location('DB_613.TXT')--數據文件的名字 )reject limit unlimited; -- 三、建立數據庫連接,要求以下: -- 1)⑤以system用戶登陸,建立數據庫連接,命名爲「dl_122723」, -- 2)⑤---- 目標計算機IP爲對方電腦IP, --- 3)⑤---- 目標計算機端口號爲1521, -- 4)⑤---- 目標數據庫名爲「D<對方學號後6位>」, -- 5)⑤---- 鏈接用戶名爲「system」, -- 6)⑤---- 用戶口令爲對方學號後6位, -- 7)⑤以system用戶登陸,爲 v$database@dl_122723 建立私有同義詞,命名爲「sn_122723_data」。 create database link dl_122723 connect to system identified by "122029" using '183.175.10.8:1521/d122029'; create synonym sn_122723_data for v$database@dl_122723;
以上是Oracle DBA學習的總結與收穫,若有問題請留言討論。數據庫