我在2014年的时候,夜以继日的学习了满满一年的Oracle,虽然没有转行到DBA,但使得我对数据库的底层有了非常系统性的理解和学习,受益匪浅!现在通过总结的方式记录成文档,欢迎大家学习和
********此文档记录Oracle的组成,部署,管理,优化,集群等本人精华内容(持续更新)******** 1.Oracle数据库是什么?(如图1) 数据库包括:控制文件、日志文件、数据文件 ---------------------------------------------------------------------- 2.ORACLE_HOME----都是一样的,不同机器复制过去就可以使用 ---------------------------------------------------------------------- 3.不同的产品,一定要存在不同的home中.所有的产品,都可以存在ORACLE_BASE中 /oracle/app /oracle/app/9i /oracle/app/10g /oracle/app/ias ---------------------------------------------------------------------- 4.如图1所示. 当参数文件正确的情况下,可以进入nomount状态下 当控制文件正确的情况下,可以进入mount状态下 当数据文件和日志文件正确的情况下,可以进入open状态下 ---------------------------------------------------------------------- 5.不同的系统中,复制ORACLE_HOME给其它人就可以使用 实例是 产品 与 数据库 之间的承上启下的东西,我们访问的就是实例 实例是基于产品的,实例没有差别,差别在于访问的哪个数据库 1.实例是访问数据库的方法---数据库是通过实例访问的 2.实例由内存+后台进程组成 3.一个实例,只能访问一个数据库 ---------------------------------------------------------------------- 6.SGA系统全局区---所有会话共享的内存 SYS@show sga查看,一般占用系统内存的50% Fixed Size oracle固定大小 Variable Size 变化大小(Oracle要用的大小) Database Buffers 数据库缓存(存储用过的SQL) Redo Buffers 日志的变化 SYS@select paddr,name from v$bgprocess order by 1查看后台进程 #ps -def | grep ora_查看有效进程 ---------------------------------------------------------------------- 7.解决临时表空间的问题(三步骤) 1.建立新的 select name from v$datafile;---只为了查路径 create temporary tablespace temp2 tempfile '/u01/oracle/oradata/ora10g/temp2.dbf' size 10m autoextend on;---建立新的临时表空间 2.改为默认 alter database default temporary tablespace temp2;---将新的临时表空间设置为默认 3.删除老的 select * from v$tablespace; drop tablespace temp;---删除老的临时表空间 ---------------------------------------------------------------------- 8.Oracle如何修改临时表空间大小?想把临时表空间的初始大小调小 答1:建立一个中转临时表空间 1.create temporary tablespace temp2 tempfile '/u01/oracle/oradata/ora10g/temp2.dbf' size 512m reuse autoextend on next 100m maxsize 2048m; 2.alter database default temporary tablespace temp2; 3.drop tablespace temp including contents and datafiles; 重新建立一个新的临时表空间 1.create temporary tablespace temp tempfile '/u01/oracle/oradata/ora10g/temp1.dbf' size 512m reuse autoextend on next 100m maxsize 1024m; 2.alter database default temporary tablespace temp; 3.drop tablespace temp2 including contents and datafiles; 答2:向临时表空间增加一个数据文件,可以扩展临时表空间的容量 向已有的表空间中增加数据文件 alter tablespace yy add datafile '/u01/oralce/oradata/ora10g/yy2' size 1m; ---------------------------------------------------------------------- 逻辑表空间 表空间是逻辑的 表空间内的数据文件是物理的 一个表空间内可有多个数据文件 select tablespace_name,file_name,round(bytes/1024/1024) mb from dba_data_files order by 1,2; //查看表空间中,有哪些文件及其文件的大小 手动创建表空间yy,大小设置1m(表空间被建立后,会以大写的形式存在) create tablespace yxtab datafile '/u01/oralce/oradata/ora10g/yxtab' size 1m;oracle.png