时间:2021-07-01 10:21:17 帮助过:6人阅读
命令行操作:
打开服务: services.msc
启动Oracle: net start OracleOraHome92TNSListener
net start OracleService实例名
停止Oracle: net stop OracleOraHome92TNSListener
net stop OracleService实例名
打开Enterprise Manager Console: oemapp.bat console即会出现enterprise manager console界面
打开sqlplus
sqlplusw /nolog
或者sqlplus /nolog
以下操作在打开sqlplus以sys用户登录后进行------------------------
SQL> conn sys/sys@gist as sysdba;
或者SQL> conn sys/sys as sysdba;
--------------------------------------更改语言
alter session set nls_language=american;
--------------------------------------清除当前窗口
clea scre
执行某SQL文件
SQL> @D:\oracle\ora92\RDBMS\admin\catalog.sql
SQL> @C:\a.sql;
show parameter shared;
查看三种数据库文件
select * from v$logfile;-------日志文件
select * from v$datafile;------数据文件
select * from v$controlfile;---控制文件
select * from v$log;-----------当前重做日志文件的序列号,日志组
select * from v$backup;--------备份文件
select * from v$tempfile;------临时文件
设置进入备份状态
SQL> alter tablespace users begin backup;-----设置进入备份状态
取消联机备份
SQL> alter tablespace users end backup;-------取消联机备份
查看归档日志
SQL> select * from v$archived_log;------------查看归档日志
SQL> show parameter spfile--------------------查看当前系统启动的SPFILE
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
spfile string %ORACLE_HOME%\DATABASE\SPFILE%
**********************************************************************************************************
--------------------------------------------------进入ISQLPLUS : http://WWW-976307DA5D4:7778/isqlplusdba
查D:\oracle\ora92\Apache\Apache\ports.ini文件中的s_apachePort = 7778
命令行完成以下设置:【添加登录用户admin及密码】
C:\Documents and Settings\Administrator>d:
D:\>cd D:\oracle\ora92\Apache\Apache\bin
D:\oracle\ora92\Apache\Apache\bin>htpasswd D:/oracle/ora92/sqlplus/admin/iplusdb
a.pw admin 【解释:设置用户名:admin】
Automatically using MD5 format on Windows.
New password: ***** 【解释:设置密码:admin】
Re-type new password: ***** 【解释:重复密码:admin】
Adding password for user admin
查D:\oracle\ora92\sqlplus\admin\iplusdba.pw文件中生成参数信息admin:$apr1$MJ5.....$WiF.iQOtbDozEvhYfl8tt0
启动OracleOraHome92HTTPServer服务
IE访问地址:
http://WWW-976307DA5D4:7778/isqlplusdba
http://127.0.0.1:7778/isqlplusdba也可访问
*************************************************************************************************************
查看进程
select * from v$bgprocess where paddr<>‘00‘;
查看日志buffer
show parameter log_buffer;
查看归档日志
archive log list
打开Database Configuration Assistant
C:\Documents and Settings\Administrator>dbca ------------------即打开数据库配置帮手图形界面
sys初始口令: change_on_install 为数据库数据字典表的所有者[Owner of the database data dictionary]
system初始口令: manager 为管理工具所要求的类表及视图的所有者[Owner of additional internal tables and views used by Oracle tools]
scott初始口令: tiger
创建用户ID
create os user id
create os group ora_dba, ora_gist_dba
查看有多少用户授予了dba权限
select * from v$pwfile_users
授予某用户为dba权限
grant sysdba to username
取消某用户的dba权限
revoke sysdba from username
sql*plus环境设置命令
set autocommit on
set linesize 1000
关闭数据库 shutdown immediate
启动数据库 startup
set wrap off
set linesize 100
查看参数文件
select * from v$system_parameter where name like ‘time%‘
/
run
利用参数文件的顺序sid为数据库名GIST
-->spfilesid.ora-->spfile.ora-->initsid.ora
修改D:\oracle\admin\gist\pfile\init.ora文件参数
select name, value from v$system_parameter where name like ‘time%‘;
alter system set timed_statistics=false scope=spfile;
startup force
desc v$system_parameter
名称 是否为空? 类型
----------------------------------------------------- -------- -------------------
NUM NUMBER
NAME VARCHAR2(64)
TYPE NUMBER
VALUE VARCHAR2(512)
ISDEFAULT VARCHAR2(9)
ISSES_MODIFIABLE VARCHAR2(5)
ISSYS_MODIFIABLE VARCHAR2(9)
ISMODIFIED VARCHAR2(8)
ISADJUSTED VARCHAR2(5)
DESCRIPTION VARCHAR2(64)
UPDATE_COMMENT VARCHAR2(255)
select name, isses_modifiable from v$system_parameter where isses_modifiable=‘TRUE‘;
修改SQL----------------false改为‘FALSE‘
SQL> select name, issys_modifiable from v$system_parameter where issys_modifiable<>false;
select name, issys_modifiable from v$system_parameter where issys_modifiable<>false
*
ERROR 位于第 1 行:
ORA-00904: "FALSE": 无效的标识符
SQL> c /false/‘FALSE‘;-----------------------------修改SQL
1* select name, issys_modifiable from v$system_parameter where issys_modifiable<>‘FALSE‘
SQL> run
1* select name, issys_modifiable from v$system_parameter where issys_modifiable<>‘FALSE‘
NAME ISSYS_MOD
---------------------------------------------------------------- ---------
timed_statistics IMMEDIATE
timed_os_statistics IMMEDIATE
resource_limit IMMEDIATE
license_max_sessions IMMEDIATE
license_sessions_warning IMMEDIATE
shared_pool_size IMMEDIATE
large_pool_size IMMEDIATE
trace_enabled IMMEDIATE
nls_length_semantics IMMEDIATE
nls_nchar_conv_excp IMMEDIATE
备份init.ora文件
create pfile=‘d:\initbck.ora‘ from spfile;
创建表空间:
SQL> create tablespace test1
2 datafile ‘d:\test1.dbf‘ size 2m;
表空间已创建。
SQL> drop tablespace test1;
test1.dbf依然存在
删除表空间:
SQL> create tablespace test1
2 datafile ‘d:\test1.dbf‘ reuse;
表空间已创建。
SQL> drop tablespace test1
2 including contents and datafiles;
表空间已丢弃。
test1.dbf已经删除
指定默认创建表空间的位置及日志文件的默认位置
指定前,不能创建
SQL> create tablespace test1;
create tablespace test1
*
ERROR 位于第 1 行:
ORA-02199: 丢失 DATAFILE/TEMPFILE 子句
SQL> show parameter db_create
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
指定后
SQL> alter system set db_create_file_dest=
2 ‘d:\oracle\oradb‘;
系统已更改。
SQL> create tablespace test1;
表空间已创建。
SQL> show parameter db_create;
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
db_create_file_dest string d:\oracle\oradb
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
增加日志文件缺省位置d:\oracle\oradb
alter database add logfile group 6
删除表空间,在修改oracle控制文件的信息的同时也删除物理文件
drop tablespace test1;
删除日志文件,在修改oracle控制文件的信息的同时也删除物理文件
alter database drop logfile group 6;
访问实例
select * from v$instance;
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME VE
--------------- ---------------- ---------------------------------------------------------------- --
1 gist WWW-976307DA5D4 9.
访问后台进程
select * from v$bgprocess;
访问SGA
SQL> select * from v$sga;
NAME VALUE
-------------------- ----------
Fixed Size 453492
Variable Size 109051904
Database Buffers 25165824
Redo Buffers 667648
访问DATABASE,如果不能执行,先执行alter database mount打开控制文件
select * from v$database;
DBID NAME CREATED RESETLOGS_CHANGE# RESETLOGS_ PRIOR_RESETLOGS_CHANGE# PRIOR_RESE LOG_
---------- --------- ---------- ----------------- ---------- ----------------------- ---------- ----
1091306975 GIST 28-6月 -10 190578 28-6月 -10 1 12-5月 -02 NOAR
查询DATABASE结构下的所有表空间
select * from v$tablespace;
TS# NAME INC
------ ------------------------------ ---
12 TABLESPACE1 YES
13 TSM YES
14 S2AQ2 YES
15 S2AQTEMP YES
由哪些数据文件组成
select * from v$datafile;
FILE# CREATION_CHANGE# CREATION_T TS# RFILE# STATUS ENABLED CHECKPOINT_CHANGE# C
---------- ---------------- ---------- ---------- ---------- ------- ---------- ------------------ -
1 11 12-5月 -02 0 1 SYSTEM READ WRITE 1785202 1
2 187697 12-5月 -02 1 2 ONLINE READ WRITE 1785202 1
3 6283 12-5月 -02 3 3 ONLINE READ WRITE 1785202 1
4 6302 12-5月 -02 4 4 ONLINE READ WRITE 1785202 1
5 6324 12-5月 -02 5 5 ONLINE READ WRITE 1785202 1
6 6343 12-5月 -02 6 6 ONLINE READ WRITE 1785202 1
7 6363 12-5月 -02 7 7 ONLINE READ WRITE 1785202 1
8 6382 12-5月 -02 8 8 ONLINE READ WRITE 1785202 1
9 6401 12-5月 -02 9 9 ONLINE READ WRITE 1785202 1
10 6420 12-5月 -02 10 10 ONLINE READ WRITE 1785202 1
11 209205 28-6月 -10 12 11 ONLINE READ WRITE 1785202 1
FILE# CREATION_CHANGE# CREATION_T TS# RFILE# STATUS ENABLED CHECKPOINT_CHANGE# C
---------- ---------------- ---------- ---------- ---------- ------- ---------- ------------------ -
12 226097 28-6月 -10 13 12 ONLINE READ WRITE 1785202 1
13 866142 03-7月 -10 14 13 ONLINE READ WRITE 1785202 1
有哪些日志文件组成
select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIME
------ ---------- ---------- ---------- ---------- --- ---------------- ------------- ----------
1 1 32 104857600 1 NO CURRENT 1785201 11-10月-10
2 1 30 104857600 1 NO INACTIVE 1725945 10-10月-10
3 1 31 104857600 1 NO INACTIVE 1752348 10-10月-10
打开DATABASE
alter database open;
Oracle启动过程
start [nomount|mount|open]
nomount--startup instance
used to create db,create controlfile
mount----open controlfile
used to change log mode,rename file, db recovery
修改SESSION语言
alter session set nls_language=american
Session altered
无法启动已在运行的 ORACLE --- 请首先关闭
cannot start already-runing ORACLE - shut it down first
强制重启
SQL> startup
ORA-01081: 无法启动已在运行的 ORACLE --- 请首先关闭
SQL> startup force ----------强制重启
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
使用强制启动的参数文件[init.ora],指定启动到哪个状态[mount]
startup force pfile=d:\oracle\admin\gist\pfile\init.ora mount
启用restricted[受限制]的session权限
alter system enable restricted session;
授予某用户restricted权限,否则该用户不能登录
grant restricted session to username;
启动数据库为只读状态
shutdown immediate
startup mount
alter database open read only;----------只能查看,不能修改
关闭数据库的四种方式
1. shutdown immediate ----干净关闭
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
2. shutdown abort -----脏关闭
SQL> shutdown abort
ORACLE 例程已经关闭
3. shutdown normal
4. shutdown transactional
查看所有用户
select * from dba_users;
查看所有对象
select * from dba_objects;
查看用户表
select * from user_tables;
查看我拥有的可以访问的表
select * from all_tables;
***************************************************************************
Oracle启动三种状态下的访问结果
SQL> shutdown immediate;
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
SQL> startup nomount;-----------------------------------1. nomount状态
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
SQL> select * from v$instance
2 /
INSTANCE_NUMBER INSTANCE_NAME HOST_NAME
--------------- -------------------------------- -------------------
1 gist WWW-976307DA5D4
SQL> select * from v$sga;
NAME VALUE
---------------------------------------- ----------
Fixed Size 453492
Variable Size 109051904
Database Buffers 25165824
Redo Buffers 667648
SQL> select * from v$tablespace;
select * from v$tablespace
*
ERROR 位于第 1 行:
ORA-01507: ??????
SQL> alter session set nls_language=american;-----------设置语言
Session altered.
SQL> select * from v$tablespace;
select * from v$tablespace
*
ERROR at line 1:
ORA-01507: database not mounted -------------提示没有mount,不能访问tablespace;
SQL> alter database mount;--------------------------------2. mount状态,可以访问database;
Database altered.
SQL> select * from v$tablespace;--------------------------查看表空间
TS# NAME INC
---------- ------------------------------ ---
12 TABLESPACE1 YES
13 TSM YES
14 S2AQ2 YES
15 S2AQTEMP YES
15 rows selected
select * from v$database;--------------------可以访问database;
DBID NAME CREATED RESETLOGS_CHANGE# RESETLOGS PRIOR_RESETLOGS_CHANGE# PRIOR_RES LOG_MOD
---------- --------- --------- ----------------- --------- ----------------------- --------- -------
1091306975 GIST 28-JUN-10 190578 28-JUN-10 1 12-MAY-02 NOARCHI
SQL> select * from dba_users;
select * from dba_users
*
ERROR at line 1:
ORA-01219: database not open: queries allowed on fixed tables/views only -----------不能访问数据字典,数据库没有打开,只能访问固定表和视图
SQL> alter database open;--------------------------------3. database open 状态,可以查看数据字典
Database altered.
SQL> desc dictionary
Name Null? Type
----------------------------------------------------- -------- ------------------------------------
TABLE_NAME VARCHAR2(30)
COMMENTS VARCHAR2(4000)
SQL> desc v$fixed_table------------------------------查看动态性能表结构
Name Null? Type
----------------------------------------------------- -------- ----------------
NAME VARCHAR2(30)
OBJECT_ID NUMBER
TYPE VARCHAR2(5)
TABLE_NUM NUMBER
select * from v$fixed_table;----------------------------查看动态性能表的所有信息
**************************************************************************
执行存储过程
SQL> set serveroutput on
SQL> execute dbms_output.put_line(‘test string1‘)
test string1
PL/SQL procedure successfully completed.
重复执行上一条SQL的两种方法
SQL> select * from v$controlfile;-------------------------重复执行上一条SQL的两种方法
STATUS NAME
------- --------------------------------------
D:\ORACLE\ORADATA\GIST\CONTROL01.CTL
SQL> 1
1* select * from v$controlfile
SQL> /
STATUS NAME
------- --------------------------------------
D:\ORACLE\ORADATA\GIST\CONTROL01.CTL
SQL> 1
1* select * from v$controlfile
SQL> run
1* select * from v$controlfile
STATUS NAME
------- --------------------------------------
D:\ORACLE\ORADATA\GIST\CONTROL01.CTL
*************************************************
---------------------------------------------SQL*Plus执行SQL时修改前一条执行语句
SQL> select * from v$tablespace; ------最初执行的SQL
TS# NAME INC
---------- ------------------------------ ---
12 TABLESPACE1 YES
13 TSM YES
SQL> 1 ------重复上一条SQL,按1
1* select * from v$tablespace
SQL> 2 where name=‘TSM‘; --------------增加条件语句,按2,加查询条件[where name=‘TSM‘]
SQL> run-------------------------------执行,输入run
1 select * from v$tablespace
2* where name=‘TSM‘
TS# NAME INC
---------- ------------------------------ ---
13 TSM YES
SQL> c /name/inc/----------------------修改查询条件中的name,改为inc
2* where inc=‘TSM‘
SQL> run
1 select * from v$tablespace
2* where inc=‘TSM‘
where inc=‘TSM‘
*
ERROR 位于第 2 行:
ORA-00904: "INC": 无效的标识符
SQL> c /inc/name------------------------修改查询条件中的inc为name
2* where name=‘TSM‘
SQL> run
1 select * from v$tablespace
2* where name=‘TSM‘
TS# NAME INC
---------- ------------------------------ ---
13 TSM YES
************************************************************************************
获得控制文件的信息
SQL> show parameter control-------------获得控制文件的信息
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
control_file_record_keep_time integer 7
control_files string D:\oracle\oradata\gist\CONTROL
*******************************************************************************
添加控制文件 --------添加控制文件
六步骤:
1 -----先查询添加前的控制文件信息
SQL> select * from v$controlfile
2 /
STATUS NAME
------- ---------------------------------------
D:\ORACLE\ORADATA\GIST\CONTROL01.CTL
D:\ORACLE\ORADATA\GIST\CONTROL02.CTL
D:\ORACLE\ORADATA\GIST\CONTROL03.CTL
2 ----执行添加控制文件语句
SQL> alter system set control_files=
2 ‘D:\ORACLE\ORADATA\GIST\CONTROL01.CTL‘,
3 ‘D:\ORACLE\ORADATA\GIST\CONTROL02.CTL‘,
4 ‘D:\ORACLE\ORADATA\GIST\CONTROL03.CTL‘,
5 ‘D:\ORACLE\ORADATA\GIST\CONTROL04.CTL‘
6 SCOPE=SPFILE;
系统已更改。
3 ----关闭数据库
SQL> shutdown immediate
数据库已经关闭。
已经卸载数据库。
ORACLE 例程已经关闭。
4 ----添加物理控制文件
把D:\ORACLE\ORADATA\GIST\目录下的控制文件[如CONTROL01.CTL]复制一份到当前目录,
改名为CONTROLO4.CTL
5 ----启动数据库
SQL> startup
ORACLE 例程已经启动。
Total System Global Area 135338868 bytes
Fixed Size 453492 bytes
Variable Size 109051904 bytes
Database Buffers 25165824 bytes
Redo Buffers 667648 bytes
数据库装载完毕。
数据库已经打开。
6 ----重新查询,此时的结果集中就多了一个控制文件CONTROL04.CTL
SQL> select * from v$controlfile;
STATUS NAME
------- -----------------------------------------
D:\ORACLE\ORADATA\GIST\CONTROL01.CTL
D:\ORACLE\ORADATA\GIST\CONTROL02.CTL
D:\ORACLE\ORADATA\GIST\CONTROL03.CTL
D:\ORACLE\ORADATA\GIST\CONTROL04.CTL
7 ----修改D:\oracle\admin\gist\pfile目录中的init.ora文件
修改control_files中添加D:\oracle\oradata\gist\CONTROL04.CTL
# File Configuration
###########################################
control_files=("D:\oracle\oradata\gist\CONTROL04.CTL","D:\oracle\oradata\gist\CONTROL01.CTL", "D:\oracle\oradata\gist\CONTROL02.CTL", "D:\oracle\oradata\gist\CONTROL03.CTL")
8 ----关闭数据库
shutdown immediate
9 ----sartup pfile="d:\oracle\ora92/database\init.ora";
******************************************************************
------------------------------------------------------------备份控制文件的两种方式
1. ----在Oracle运行中动态备份二进制的控制文件
SQL> alter database backup controlfile to ‘c:\controlfile_bak.bak
2. ----翻译创建控制文件的脚本信息
SQL> alter database backup controlfile to trace;
执行后会在D:\oracle\admin\gist\udump目录下生成gist_ora_3416.trc文件,是创建控制文件的脚本信息,用写字板可以直接打开
控制文件生成脚本文件存放目录
SQL> show parameter user_dump
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
user_dump_dest string D:\oracle\admin\gist\udump
*********************************************************************
-------------------------------------------------查看存档日志归档模式
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 D:\oracle\ora92\RDBMS
最早的概要日志序列 35
当前日志序列 37
自动存档设为启用
SQL> alter system archive log start;
转换日志记录组
SQL> alter system switch logfile;
强制同步
SQL> alter system checkpoint;
添加日志文件
SQL> alter database add logfile group 6
2 ‘d:\oracle\oradata\gist\redo06.ora‘ size 10m;
查看日志文件
select * from v$log;-----------------查看日志组
添加日志成员log member
SQL> alter database add logfile member
SQL> 1
1* alter database add logfile member
SQL> 2 ‘d:\oracle\oradata\gist\redo06a.ora‘
SQL> run
1 alter database add logfile member
2* ‘d:\oracle\oradata\gist\redo06a.ora‘
‘d:\oracle\oradata\gist\redo06a.ora‘
*
ERROR 位于第 2 行:
ORA-00946: 缺少 TO 关键字
SQL> a to group 6-----------------------------------a 的意思代表在上条SQL后面追加语句如加to group 6
2* ‘d:\oracle\oradata\gist\redo06a.ora‘to group 6
SQL> run
1 alter database add logfile member
2* ‘d:\oracle\oradata\gist\redo06a.ora‘to group 6
数据库已更改。
SQL> set wrap off
SQL> set linesize 100
SQL> select * from v$logfile;-----查看所有日志组的日志成员
GROUP# STATUS TYPE MEMBER
---------- ------- ------- -------------------------------------
3 ONLINE D:\ORACLE\ORADATA\GIST\REDO03.LOG
2 STALE ONLINE D:\ORACLE\ORADATA\GIST\REDO02.LOG
1 STALE ONLINE D:\ORACLE\ORADATA\GIST\REDO01.LOG
6 ONLINE D:\ORACLE\ORADATA\GIST\REDO06.ORA
6 INVALID ONLINE D:\ORACLE\ORADATA\GIST\REDO06A.ORA--------添加的日志member
删除日志文件组
alter database drop logfile group 6;
注意:只能删除控制文件的信息,不能删除物理文件
D:\oracle\oradata\gist目录中的REDO06A.ORA及REDO06.ORA依然存在
约束条件:
current log group当前日志组不能删
active log group 活动日志组不能删
not archived log group 未归档日志组不能删
删除日志组成员
限制条件:当前日志组的成员不能删除,日志组最少要有一个成员
SQL> alter database drop logfile member ‘D:\ORACLE\ORADATA\GIST\REDO06A.ORA‘;
清空日志文件-----也称重新初始化日志文件
alter database clear logfile group 2;
alter database clear unarchived logfile group 5;----------------清空未归档日志组
日志文件更名
先将要更名的日志文件的物理文件重命名,再用命令修改------当前日志组文件不能重命名
alter database rename file ‘D:\ORACLE\ORADATA\GIST\REDO06.ORA‘
to ‘D:\ORACLE\ORADATA\GIST\REDO06a.ORA‘
SQL> show parameter db_create---------------查看在线日志文件能做多少个多功
NAME TYPE VALUE
------------------------------------ ----------- ------------------------
db_create_file_dest string d:\oracle\oradb
db_create_online_log_dest_1 string
db_create_online_log_dest_2 string
db_create_online_log_dest_3 string
db_create_online_log_dest_4 string
db_create_online_log_dest_5 string
SQL> alter system set db_create_online_log_dest_1=‘d:\oracle\oralog‘;
系统已更改。
SQL> alter database add logfile group 6;---------在新目录中添加日志文件
alter database add logfile group 6
*
ERROR 位于第 1 行:
ORA-01184: 日志文件组6已经存在
SQL> 1
1* alter database add logfile group 6
SQL> c /6/5
1* alter database add logfile group 5
SQL> run
1* alter database add logfile group 5
数据库已更改。
会在d:\oracle\oralog目录里自动添加O1_MF_5_6C976N00_.LOG日志文件,初始大小为100M
删除日志文件组同时删除物理文件
alter database drop logfile group 5;
53:54
用来数据恢复
非归档日志模式:只能做整体备份,而且要在离线状态下才能备份offline 冷备份
归档日志模式:可以做局部的备份,而且可在线状态下备份。online 热备份
数据库缺省为非归档模式
------------------------查看日志模式
SQL> archive log list
数据库日志模式 非存档模式
自动存档 禁用
存档终点 D:\oracle\ora92\RDBMS
最早的概要日志序列 37
当前日志序列 40
归档日志模式转换到非归档日志模式步骤:
1. shutdown immediate
2. startup mount
3. alter database noarchivelog;---------------归档转到非归档
或者是alter database archivelog;--------------非归档转到归档
SQL> alter system archive log start;----------"自动存档"设为"启用"
SQL> alter system archive log stop;-----------"自动存档"设为"禁用"
4. alter database open;
查看有多少归档日志文件
select * from v$archived_log;
查看归档日志参数
show parameter log_archive;
使用日志文件进行数据恢复挖掘:
步骤:
1. ------------设定文件目录。修改初始参数文件d:\oracle\admin\gist\pfile\init.ora
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_cache_size=25165824
db_file_multiblock_read_count=16
#2010.10.13 新增,作用:对日志文件进行分析
utl_file_dir=d:\oracle\admin\gist\cdump
增加utl_file_dir=d:\oracle\admin\gist\cdump
2. -------------重启数据库
SQL> shutdown immediate
SQL> startup;
3. -------------建立目录文件
SQL> desc dbms_logmnr;
SQL> desc dbms_logmnr_d;
如果以上两条指令执行无效,则执行下面的构建脚本[创建标准数据包]:
SQL> start d:\oracle\ora92\rdbms\admin\catproc.sql;----------------运行脚本
SQL> desc dbms_output;
更改部分数据作为参考
SQL> update scott.emp
2 sal=801
3 where empno=7369;
sal=801
*
ERROR 位于第 2 行:
ORA-00971: 缺少 SET 关键字
SQL> c /sal/set sal/
2* set sal=801
SQL> run
1 update scott.emp
2 set sal=801
3* where empno=7369
已更新 1 行。
SQL> commit;
查看当前日志组
select * from v$log;
当前日志组文件目录为D:\oracle\oradata\gist\REDO02.LOG
4. -------------使用build存储过程来构建数据字典文件
execute dbms_logmnr_d.build(‘gistdict.ora‘,‘d:\oracle\admin\gist\cdump‘);
5. -------------加入分析日志文件
SQL> execute dbms_logmnr.add_logfile(‘d:\oracle\oradata\gist\redo02.log‘,dbms_logmnr.new);
SQL> desc dbms_logmnr;
6. ------------开始分析
SQL> execute dbms_logmnr.start_logmnr(dictfilename=>‘d:\oracle\admin\gist\cdump\gistdict.ora‘);
************************************************************************************
ORACLE9i启动(无论是手动启动或自动启动)都采用服务器参数文件(即spfilesid.ora文件)来启动数据库实例。Spfilesid.ora文件是一个二进制的文件。是在数据库创建期间由系统自定创建的
查看参数文件的位置
SQL> show parameter spfile;
or show parameter file;
查看参数文件中的值D:\oracle\ora92\database\SPFILEGIST.ORA
SQL> show parameter db_block_size;
通过SPFILE初始化参数文件SPFILEGIST.ORA创建PFILE初始化参数文件initSID.ora文件
SQL> create pfile=‘D:\oracle\ora92\database\initGIST.ora‘
2 from spfile=‘D:\oracle\ora92\database\SPFILEGIST.ora‘;
initSID.ora可以用编辑器打开修改
指定启动的初始化参数文件
SQL> startup pfile=D:\oracle\ora92\database\initGIST.ora
**********************************************************
表空间
分为系统表空间与非系统表空间
tablespace----------------logical area逻辑区域,一个段只能放在一个表空间里,由一个或多个物理数据文件组成
segment段-----------------specific logical structure occupied space collection某个特定的逻辑结构所占用的空间集合
分为四类段:table表段/index索引段/temp临时段/rollback回滚段,段可跨数据文件,段在申请空间分配时是通过分区得到的
extent分区----------------allocate unit是一个分配单位,分区的单位一定是块的整数倍,区不能跨数据文件
block块-------------------use&store unit是Oracle中的使用和存储单位,一个分区由多个物理块组成
select * from v$tablespace;
查看数据文件
select * from v$datafile;
--------------------------------------------------------------------------------查看表空间与数据文件及用户的对应关系
select t1.name, t2.name from v$tablespace t1, v$datafile t2 where t1.ts#=t2.ts#;
SQL> set wrap off
SQL> set linesize 1000
SQL> 1
1* select t1.name,t2.name
SQL> 2 from v$tablespace t1, v$datafile t2
SQL> 3 where t1.ts#=t2.ts#;
SQL> run
1 select t1.name,t2.name
2 from v$tablespace t1, v$datafile t2
3* where t1.ts#=t2.ts#
NAME NAME
------------------------------ --------------------------------------------
SYSTEM D:\ORACLE\ORADATA\GIST\SYSTEM01.DBF
UNDOTBS1 &