Oracle 数据库操作实例讲解

  • 格式:doc
  • 大小:410.00 KB
  • 文档页数:11

下载文档原格式

  / 11
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle 数据库操作实例讲解

一、数据库系统配置

数据库系统配置主要包括初始化参数配置和网络服务配置。

初始化参数的配置方法有以下几种方式:

1、直接更改初始化参数文件。在ORACLE9i和ORACLE10g中参数文件有两种形式,一种是文本格式,一种是二进制格式。数据库启动后,可以通过下列SQL语句查找数据库使用的是哪种格式的初始化参数。

Show parameter spfile;

更改文本格式的初始化参数,可以利用文本编辑工具,如vi 等打开,然后进行编辑。要使编辑后的参数生效,一定要重新启动数据库,并应用此初始化参数文件。

2、命令行修改参数。不能直接使用编辑工具打开二进制格式的初始化参数文件(即使可以打开),这样会损坏参数文件,导致下次数据库不能正常启动。可以通过下面的SQL 语句进行参数修改。

ALTER SYSTEM parameter name =value SCOPE=[BOTH|MEM]

3、使用图形化通过EM console进行修改。登录EM console http://ip address :1158/em 在图形化工具里面,可以看到哪些参数是静态参数(不能修改,修改后要重新启动数据库才能生效),哪些是动态参数(可以直接修改,并生效)。

网络服务配置主要包括侦听(listener)配置和客户端服务(tnsnames)配置。侦听配置在服务器端(安装了ORACLE数据库的服务器),客户端服务配置在需要连接ORACLE数据库的客户机上(当然也可以在服务器端进行配置)。这两个配置文件都可以利用文本编辑工具直接打开修改。修改侦听后,用下列命令把侦听服务重新启动:

$ lsnrctl start

用下列命令查看侦听是否正常:

$lsnrctl status

下面给出实例。

listener.ora

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(SID_NAME = PLSExtProc)

(ORACLE_HOME = /oracle/app/10.2)

(PROGRAM = extproc)

)

(SID_DESC =

(SID_NAME = CLRExtProc)

(ORACLE_HOME = /oracle/app/10.2)

(PROGRAM = extproc)

)

)

LISTENER =

(DESCRIPTION_LIST =

(DESCRIPTION =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.70.93)(PORT = 1521))

(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))

)

)

tnsnames.ora

TEST =

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.136.70.93)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME =test)

)

)

二、性能调优

1、查找失效对象并修复

SQL> select owner,object_name,object_type from dba_objects where status = ’INVALID’;

SQL> alter object_type object_name complie;

2、查找无用索引并修复

SQL> select owner, index_name from dba_indexes where status='UNUSABLE';

SQL> alter index index_name rebuild online nologging;

3、使用ORACLE指导中心进行调优

首先修改参数statistics_level=typical 主要用于收集数据。

在ORACLE EM中如下图找到指导中心:

在指导中心可以进行SQL调优、内存调优、段调优等。

首先需要收集数据(ADDM),如下图:

SQL优化指导如下图:

可以查找顶级活动、周期性运行的SQL语句等

内存参数调整依据,如下图:

三、备份与恢复

数据库备份与恢复有两种方式,一种是逻辑的,一种是物理的。

逻辑备份是使用命令(exp 和imp)进行备份与恢复。这两个命令使用方式如下:

1. 将数据库TEST完全导出,用户名system 密码test1234 导出到/tmp/alldb.dmp中

exp system/test1234 file = /tmp/alldb.dmp full=y

2. 将数据库中system用户与hr用户的表导出

exp system/test1234 file = /tmp/userdb.dmp owner=(system, hr)

3. 将数据库中的表table1 、table2导出

exp system/test1234 file = /tmp/tabdb.dmp tables=(table1,table2)

4. 将用户HR的表table1 导入数据库

imp system/test1234 fromuser=HR tables=(table1)

5. 将alldb.dmp中的数据全部导入数据库TEST中

imp system/test1234 file=/tmp/alldb.dmp

在ORACLE10g 中,还可以使用另外两个命令(expdp和impdp)进行备份与恢复,这两个命令的功能更强大。这里不讲述实际用法。

物理备份与恢复分为手动的(用户管理的)和RMAN两个方式。

手动进行一致性备份:

SQL>shutdown immediate 关闭数据库

SQL>host cp /oracle/app/10.2/flash_recovery_area/ 使用操作系统命令备份数据库文件

SQL>startup 重新启动数据库

一致性备份后手动进行恢复(注意,如果控制文件丢失,则只能恢复到上次备份的状态):SQL>shutdown immediate

SQL>host cp /oracle/app/10.2/flash_recovery_area/files.dbf /oracle/app/10.2/oradata/test/

SQL>startup

手动对打开的数据库进行备份:

SQL>shudown immediate

SQL>startup mount

SQL>alter database archivelog; 将数据库置于归档模式

SQL>alter databse open; 打开数据库

SQL>alter tablespace userdata begin backup;

SQL>host cp /oracle/app/10.2/oradata/test/userdata.dbf /oracle/app/10.2/flash_recovery_area/

SQL>alter tablespace userdata endbackup;

手动进行恢复:

SQL>alter database datafile userdata.dbf offline;

SQL>host cp /oracle/app/10.2/flash_recovery_area/userdata.dbf /oracle/app/10.2/oradata/test/userdata.dbf

SQl> recover datafile /oracle/app/10.2/oradata/test/userdata.dbf

SQL>alter database datafile userdata.dbf online;

手动备份控制文件:

SQL>alter database backup controlfile to ‘/oracle/app/10.2/flash_recovery_area/control1.bkp`;

手动备份控制文件到跟踪文件中:

SQL>alter database backup controlfile to TRACE 备份控制文件到/oracle/app/10.2/admin/test/ 目录下的某个文件(看文件生成时间)中

手动备份初始化文件

SQL>create pfile=’/oracle/app/10.2/db/dbs/initTEST.ora from spfile;