共享池中的缓存:
绑定变量是一种优化执行的方式。
lgwr 重做日志进程
dbwr 数据写进程
smon 系统监督进程
pmon 进程监督进程
ckpt 校验点进程
arch 归档日志进程
spool 命令可以生成文件。
alter system kill session '146,40';
startup nomount mount open
shutdown normal transactional immediate abort
normal 阻止新的连接,等待所有连接断开,事务执行完成 ,检查和关闭文件
transactional transactional
阻止 断开连接 等待事务完成 检查和关闭
immediate
阻止 断开 回退事务 检查和关闭
abort
阻止 断开 不等待 不检查 这种方式重启后 需要恢复数据。
控制文件的移动
1.alter system set control_files='D:ackupdisk1CONTROL01.CTL',
'D:ackupdisk3CONTROL02.CTL','D:ackupdisk5CONTROL03.CTL' scope=spfile;
2.停库
3.移动文件到新路径下
4.启库。
日志文件
logfile
移动非系统表空间的数据文件:
先置为脱机
alter tablespace jinlian offline;
在复制文件
在执行移动文件命令
alter tablespace jinlian rename datafile 'D:ORACLEPRODUCT10.2.0ORADATAORAJINLIAN01.DBF'
to 'D:ackupdisk1JINLIAN01.DBF';
最后置为在线
alter tablespace jinlian online;
系统的需要先停库,在置为mount状态下执行
shutdown immedaite;
startup mount;
alter database rename file 'D:ORACLEPRODUCT10.2.0ORADATAORASYSTEM01.DBF'
to 'D:ackupdisk1SYSTEM01.DBF';
alter database open;
alter system switch logfile;--强制性重做日志文件切换
alter system checkpoint;---强制性产生检查点
修改系统参数:
alter system set 参数名='';
show parameter 参数名
tablespace TBSL_SDDQ --表段X_SMALL_AREA放在表空间TBSL_SDDQ中
pctfree 10 --块保留10%的空间留给更新该块数据使用
initrans 1 --初始化事务槽的个数
maxtrans 255 --最大事务槽的个数
storage --存储参数
(
initial 64k --区段(extent)一次扩展64k
minextents 1 --最小区段数
maxextents unlimited --最大区段无限制
);
临时表
create global temporary table
temp
(aa varchar2(10))
on commit delete/perserve rows;
perserve 会话级:退出当前会话,会删除临时表的数据。
delete事务级:commit或 rollback后会删除临时表的数据。
--移动非分区表
alter table scott.EVENT move tablespace PIONNER_DATA;
select * from dba_indexes t where t.owner='SCOTT';
select * from dba_ind_columns t where t.TABLE_OWNER='SCOTT';
select * from scott.event
b-树索引
create index scott.event_evtname_idx
on scott.event(eventname)
pctfree 20
storage(
initial 100K
next 100K
pctincrease 0 maxextents 100
)
tablespace pionner_indx;
位图索引
create bitmap index scott.evt_evttype_idx
on scott.event(evttype)
pctfree 20
storage(
initial 100K
next 100K
pctincrease 0 maxextents 100
)
tablespace pionner_indx;
约束:
外键约束行为
noaction : 要删主表数据,必须先删除从 表的数据
set null:删除主表数据,把从表数据置为null。
cascade:同时删除主从表数据。
create user dog
identified by wangwang
default tablespace pionner_data --用户创建对象默认的表空间
temporary tablespace pionner_temp--用户用于排序使用的临时表空间
quota 68M on pionner_data---pionner_data表空间最多只能使用68M
quota 20M on users--同上
password expire
--用户首次登陆改密码
;
select * from dba_users;
select * from dba_ts_quotas ;--用户使用空间的情况
alter user dog quota 0 on users;
grant create session to dog;
revoke create session from dog;
--用户权限
select * from dba_sys_privs t where t.GRANTEE='DOG';
drop user dog cascade;
--概要文件 用户连接和口令上的管理,也就是用户可用资源限制。
select * from dba_profiles;
create profile pionner_prof limit
IDLE_TIME 28
FAILED_LOGIN_ATTEMPTS 4
PASSWORD_LIFE_TIME 91
PASSWORD_REUSE_TIME 28
PASSWORD_GRACE_TIME 7
SESSIONS_PER_USER 3
CPU_PER_SESSION 16800
LOGICAL_READS_PER_SESSION 23688
CONNECT_TIME 180
;
alter user dog profile PIONNER_PROF;
--冷备份
-- 找到控制文件,数据文件,临时文件,参数文件
select * from v$controlfile;
select * from v$logfile;
select * from v$datafile;
select * from v$tablespace;
select * from dba_data_files;
select * from v$tempfile;
show parameter pfile;
--先停库,在备份以上文件,在启库。
--冷恢复
--先停库,复制文件到原来的位置
--重启数据库
--切换为归档模式
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
--启归档进程
alter system archive log current;
alter system archive log start;
---联机备份
select * from v$backup;
select * from dba_data_files;
alter tablespace PIONEER_INDX begin backup;
--copy 备份文件
alter tablespace PIONEER_INDX end backup;
select * from v$backup;
alter system archive log current;
select * from v$log_history;
恢复:
--查询数据文件状态
select file#,status from v$datafile ;
--置为脱机
alter database datafile 6 offline;
--copy备份文件到原路径
recover datafile 6; ---介质恢复
--置为联机
alter database datafile 6 online;
select * from v$recover_file;
磁盘损坏的恢复:
需要增加此操作
alter database rename file '原文件路径名' to '现文件路径名';
未备份数据文件的恢复:
需要增加此操作
alter database create datafile 'D:ackupTBSbackup est01.dbf';
--闪回
show parameter undo_retention;--还原保存的时间
drop table LUCKY;
select * from lucky;
select * from cat;
---闪回删除
flashback table lucky to before drop;
--闪回某个提交操作
select * from emp_tran;
update emp_tran set sal='9999';
select versions_xid,sal from emp_tran versions between scn minvalue and maxvalue;
select t.start_scn from flashback_transaction_query t where t.xid='0A00090035010000';
flashback table emp_tran to SCN 704084;---闪回
alter table emp_tran enable row movement;---赋予表列可移动权限
--闪回到某个时间点之前
flashback table emp_tran to timestamp to_timestamp('17:30','hh24:mi');