ORACLE学习笔记

 1. 准备工做:html

(1)了解ORACLE数据库的体系结构。java

 先讨论两个基本但重要的与磁盘和内存相关的概念:数据库实例sql

数据库:在ORACLE中数据库指的是用来存储信息的物理文件。有三种类型的物理文件:数据库

  • 数据文件:促使咱们让数据库引擎开始工做的全部数据。
  • 控制文件:数据库引擎所使用的关于其它数据的元数据。
  • 重作日志文件:用来记录全部对数据的更改,用于备份和恢复。

实例:若是不存在与数据库进行交互的内存结构和进程,数据库文件自己是无用。ORACLE将实例定义为内存结构和一些后台进程,用于从数据库中获取数据。一个实例有两个主要内存结构:数组

  • 系统全局区(SGA),也叫共享全局区,将各类进程共享的信息存储在内存中。
  • 程序全局区(PGA),也叫私有全局区,包含某个特殊进程的信息。

SGA还包括:缓存

  • 数据库缓冲区高速缓存:缓存从数据文件中读取的信息。
  • 数据字典高速缓存:缓存元数据信息。
  • 库高速缓存:缓存最近使用的SQL和PL/SQL语句

PGA用来给排序空间,变量,数组和游标信息分配内存。实例也包含了协做完成各类所需功能的多个后台进程。这些进程包括数据库写进程,负责将更改写入数据库的进程,对各个进程进行监督的进程,用户进程失败后负责进行清除的进程等等。session

 

(2)了解ORACLE数据库的逻辑结构。oracle

(3)安装ORACLE数据库,数据库名称为ORCL。ide

(4)打开命令窗口,设置窗口的宽度和高度,以及缓冲区的宽度和高度,保存。学习

(5)为了节省资源,开始 -> 运行 - services.msc,将全部与ORACLE相关的服务设置为手动启动方式。

 

2. 登陆:

(1)启动计算机,采用批处理方式启动ORACLE服务。批处理文件为start.bat。start后为服务名称。中止服务为stop.bat。

@echo   off
rem  - @echo off disable the display of the following commands
net   start   " OracleOraHome90TNSListener "
net   start   " OracleServiceORCL "  
exit

 

@echo   off  
net  stop  " OracleOraHome90TNSListener "
pause
net  stop  " OracleServiceORCL "  
exit

 

(2)以非登陆方式打开SQL*PLUSsqlplus /nolog

(3)登陆到数据库:conn system/manger as sysdba  connect / as sysdba

 

3. 设置:

(1)为了使输出漂亮一点,设置行宽:set linesize 300;

 

4. 参数学习:

(1)查看SGA:show sga;

(2)参数查看:show parameter;

了解shared_pool_size, java_pool_size, large_pool_size。改变共享池大小:alter system set shared_pool_size = 40M;但Java池和大池的大小不能修改。

了解db_cache_size, db_block_size, log_buffer。改变数据缓冲区大小:alter system set db_cache_size = 30M;

 

5. 建立表空间和查看表空间和数据文件:

方法一:

(1)建立永久表空间和临时表空间:

复制代码
  create  tablespace MIS
 datafile 
' D:\oracle\oradata\mis.dbf '
 size 32M;

 
create   temporary  tablespace MIS_TMP
 tempfile 
' D:\oracle\oradata\mis_tmp.dbf '
 size 32M;
复制代码

 

(2)查看数据库中的全部表空间:select tablespace_name from dba_tablespaces; 调整表dba_tablespaces中的列tablespace_name的宽度:col tablespace_name format a20; 再次select * from dba_tablespaces; 查看全部表空间。

(3)查看数据文件:select file_name from dba_data_files;

(4)删除表空间及对应的数据文件:drop tablespace mis including contents and datafiles; 使用此命令,mis空间的内容及相关的操做系统文件mis.dbf都将被删除。命令drop tablespace mis including contents不会删除操做系统文件mis.dbf。

方法二:利用OMF(Oracle-Managed File)

目的:能利用如下语句成功建立表空间

create  tablespace omf
datafile
size 10m;

 

(1)用show parameter db_create_file_dest;查看该参数的value是否为空,若是为空进行设置。

(2)设置参数db_create_file_dest中的value: alter session set db_create_file_dest = 'D:\oracle\';

(3)执行上述语句,成功建立表空间omf,对应的数据文件位于D:\oracle\目录下,名称为ORA_OMF_4FJJ5F00.DBF

(4)改变db_create_file_dest的值:alter session set db_create_file_dest = 'D:\';再删除表空间omf。

(5)使用命令:drop tablespace omf; 删除表空间内容和相关的操做系统文件。其效果与方法一中的drop tablespace mis including contents and datafiles是同样的。尽管db_create_file_dest的值改变了,但不影响对先前建立的表空间进行删除。

(6)恢复空值:alter session set db_create_file_dest = ' ';

 

6. 如何给数据库分配更多的空间:

方法一:给某个表空间增长数据文件

在ORACLE 10g中能够用如下命令删除一个表空间中的某个数据文件,若要删除System表空间中的DATA3.ORA,可用:

alter tablespace system drop datafile ‘DATA3.ORA’;

 

方法二:增长新的表空间 

 

方法三:增长某个数据文件的大小

 

7. 对数据文件的操做:

一、从新设置数据文件的大小:alter database datafile 'D:\oracle\oradata\mis01.dbf' resize 10m;

二、将数据文件移到磁盘的其它位置:

(1) shutdown immediate;

(2) startup mount;

(3) 将原文件拷贝到新文件:copy 'd:\oracle\oradata\mis01.dbf'  'd:\oracle\mis01.dbf'

(4) alter database rename file 'd:\oracle\oradata\mis01.dbf' to 'd:\oracle\mis01.dbf';

(5) alter database open;

(6) 删除磁盘上的旧文件d:\oracle\oradata\mis01.dbf

(6) 用select * from dba_dataK_files;查看。

三、设置数据文件的大小是否可扩展:

关闭可扩展性:alter database datafile 'D:\oracle\oradata\mis01.dbf' autoextend off; 打开可扩展性:alter database datafile 'D:\oracle\oradata\mis01.dbf' autoextend on maxsize unlimited;

相关文章
相关标签/搜索