当前位置 : 主页 > 编程语言 > c++ >

Oracle全方位记录

来源:互联网 收集:自由互联 发布时间:2021-06-30
我在2014年的时候,夜以继日的学习了满满一年的Oracle,虽然没有转行到DBA,但使得我对数据库的底层有了非常系统性的理解和学习,受益匪浅!现在通过总结的方式记录成文档,欢迎大家学习和
我在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
网友评论