001、oracle体系结构:
oracle产品和服务
oralce application server
oracle应用产品
oracle collaboration suite
oracle developer suite
oracle服务
oracle服务器:
是一个数据库管理系统,它提供开放、全面、集成的方法进行信息管理
由oracle实例和oracle数据库组成
002、查看数据库状态:
C:\Documents and Settings\Administrator>sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on 星期三 6月 23 09:33:57 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba
已连接。
SQL> select dbid,name,open_mode,log_mode from v$database;
DBID NAME OPEN_MODE LOG_MODE
---------- --------- ---------- ------------
1247985242 ORCL READ WRITE NOARCHIVELOG
003、查看内存使用:
show parameter;用来查看oracle的一些参数
v$parameter视图查看正在使用的参数
SQL> show parameter sga_max_size;
NAME TYPE VALUE
------------------------------------ ----------- -----
sga_max_size big integer 584M
从结果上看至少使用了584M内存
因为还要+PGA内存使用+oracle进程大小
SQL> show parameter sga_target;
NAME TYPE VALUE
------------------------------------ ----------- -----
sga_target big integer 584M
sga_target<=sga_max_size但是sga_target达不到sga_max_size的大小
004、块是分配和i/o的最小存储单元,一旦创建数据库后,便不能更改块:
SQL> show parameter db_block_size;
NAME TYPE VALUE
------------------------------------ ----------- -----
db_block_size integer 8192
8192字节(8kb)
005、数据库结构:
实例:内存结构+进程结构 (系统全局区(SGA)+后台进程)
数据库文件:存储结构
SGA: (共享池+Streams池+大型池+Java池+数据库缓冲区高速缓存+重做日志缓冲区)
由所有服务器进程和后台进程共享
共享池:缓存可在用户间共享的各个结构
Streams池:由oracle Streams使用
大型池:是一个可选区域,可为某些大型进程(如oracle备份与恢复、i/o服务器进程)提供大量内存分配
Java池:由于java虚拟机中所有特定会话的java代码和数据
数据库缓冲区高速缓存:缓存从数据库检索的数据块
重做日志缓冲区:高速缓存重做信息(用于实例恢复),直到可以将其写入磁盘中存储的物理重做日志文件
PGA:(程序全局区)专用于每一个服务器进程或后台进程。没一个进程使用一个PGA
物理数据库结构:控制文件+数据文件+参数文件+备份文件+口令文件+联机重做日志文件+归档日志文件+预警和跟踪日志文件
口令文件:D:\oracle\product\10.2.0\db_1\database\PWDorcl.ora
006、查看后台进程:
SQL> select count(*) from v$bgprocess;
COUNT(*)
----------
157
说明oracle 10g默认有157个后台进程
查看正在使用的后台进程:
SQL> select count(*) from v$bgprocess where PADDR not like '%00%';
COUNT(*)
----------
13
正在使用的由13个后台进程
007、查看系统存档状态:
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 40
当前日志序列 42
SQL> shutdown immediate; //关闭数据库
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup mount; //维护状态
ORACLE 例程已经启动。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 289409924 bytes
Database Buffers 314572800 bytes
Redo Buffers 7135232 bytes
数据库装载完毕。
SQL> alter database archivelog; //更改数据库的日志模式为归档模式
数据库已更改。
SQL> alter database open; //打开数据库
数据库已更改。
008、问题
SQL> alter database noarchivelog;
alter database noarchivelog
*
第 1 行出现错误:
ORA-38774: 无法禁用介质恢复 - 闪回数据库已启用
解决方法:
SQL> alter database flashback off;
数据库已更改。
SQL> alter database noarchivelog;
数据库已更改。
SQL> archive log list;
数据库日志模式 非存档模式
自动存档 禁用
存档终点 USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列 40
当前日志序列 42
009、解锁用户scott:
alter user scott identified by tiger; //密码已过期,需重指定
alter user scott account unlock; //解锁用户
010、oracle目录结构:
ORACLE_BASE F:\oracle\product\10.2.0 //oracle基础目录
ROACLE_HOME F:\oracle\product\10.2.0\db_1 //oracle软件所在目录
oracle 数据库数据文件 F:\oracle\product\10.2.0\oradata\database_name\
预警和跟踪日志文件:D:\oracle\product\10.2.0\admin\orcl\所有dump文件
监听文件:D:\oracle\product\10.2.0\db_1\NETWORK\ADMIN\listener.ora
初始化参数文件:D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora
服务器参数文件:D:\oracle\product\10.2.0\db_1\dbs\SPFILE+数据库名.ora //二进制文件,使用命令修改,有些参数必须重启服务
初始化参数和服务参数可相互转换:
create pfile='d:\initorcl.ora' from spfile='D:\oracle\product\10.2.0\db_1\dbs\SPFILEORCL.ORA';
create spfile='d:\SPFILEORCL.ORA' from pfile='D:\oracle\product\10.2.0\admin\orcl\pfile\init.ora';
10g优先读取spfile文件
011、修改参数:
alter system set 。。。scope=[both|spfile|memory]
eg:
SQL> show parameter open_cursors;
NAME TYPE VALUE
------------------------------------ ----------- -----
open_cursors integer 300
SQL> alter system set open_cursors=450 scope=both;
系统已更改。
SQL> show parameter open_cursors;
NAME TYPE VALUE
------------------------------------ ----------- ------
open_cursors integer 450
alter database 。。。
eg:
alter database noarchivelog;
012、创建口令文件:如果口令文件丢失,可创建新的口令文件,创建后拷贝到口令文件目录(具有数据库管理权限的用户的口令)
C:\Documents and Settings\Administrator>orapwd
Usage: orapwd file=<fname> password=<password> entries=<users> force=<y/n>
where
file - name of password file (mand),
password - password for SYS (mand),
entries - maximum number of distinct DBA and force - whether to overwrit
OPERs (opt),
There are no spaces around the equal-to (=) character.
C:\Documents and Settings\Administrator>orapwd file=d:\PWDorcl.ora password=sysadmin entries=5
SQL> conn sys/sysadmin@orcl sys sysdba;
已连接。
013、查看数据文件:select name from v$datafile;
查看日志文件:select member from v$lofile;
查看控制文件:select name from v$controlfile;
查看参数文件:show parameter spfile;
查看当前日志运行情况:select * from v$log;
014、简单数据库备份与恢复
备份
C:\Documents and Settings\Administrator>rman
恢复管理器: Release 10.2.0.1.0 - Production on 星期四 6月 24 19:53:43 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target sys/sysadmin@orcl;
连接到目标数据库: ORCL (DBID=1248680867)
RMAN> backup database;
启动 backup 于 24-6月 -10
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=159 devtype=DISK
通道 ORA_DISK_1: 启动全部数据文件备份集
通道 ORA_DISK_1: 正在指定备份集中的数据文件
恢复
C:\Documents and Settings\Administrator>rman
恢复管理器: Release 10.2.0.1.0 - Production on 星期四 6月 24 20:05:25 2
Copyright (c) 1982, 2005, Oracle. All rights reserved.
RMAN> connect target sys/sysadmin@orcl;
连接到目标数据库: ORCL (DBID=1248680867)
RMAN> run{
2> restore database;
3> recover database;
4> }
启动 restore 于 24-6月 -10
使用目标数据库控制文件替代恢复目录
分配的通道: ORA_DISK_1
通道 ORA_DISK_1: sid=147 devtype=DISK
更改日期显示格式:
alter session set nls_date_format='YYYY-MM-DD HH24:MI:SS'; //临时窗口
--查询当前用户的缺省表空间
SQL> select username,default_tablespace,TEMPORARY_TABLESPACE from user_users;
USERNAME DEFAULT_TABLESPACE TEMPORARY_TABLESPA
------------------------------ ------------------------------ ------------------
SYS SYSTEM TEMP