Oracle数据库实验笔记.docx

上传人:b****6 文档编号:4686642 上传时间:2022-12-07 格式:DOCX 页数:54 大小:27.83KB
下载 相关 举报
Oracle数据库实验笔记.docx_第1页
第1页 / 共54页
Oracle数据库实验笔记.docx_第2页
第2页 / 共54页
Oracle数据库实验笔记.docx_第3页
第3页 / 共54页
Oracle数据库实验笔记.docx_第4页
第4页 / 共54页
Oracle数据库实验笔记.docx_第5页
第5页 / 共54页
点击查看更多>>
下载资源
资源描述

Oracle数据库实验笔记.docx

《Oracle数据库实验笔记.docx》由会员分享,可在线阅读,更多相关《Oracle数据库实验笔记.docx(54页珍藏版)》请在冰豆网上搜索。

Oracle数据库实验笔记.docx

Oracle数据库实验笔记

Oracle数据库实验

数据库移动数据文件

1建立数据库的文本参数文件一致性停库

2将所有的文件复制到目标位置

3在文本参数文件中,修改新的控制文件的的位置

4将二进制文件删除,留下文本文件

5将数据库启动mount状态

6将库中文件名重命名到目标位置

alterdatabaserenamefile'旧文件'to‘新文件’

7启动数据库库到OPen状态;

移库

SQL>createpfilefromspfile;

文件已创建。

SQL>shutimmediate

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

SQL>startupmount

ORACLE例程已经启动。

TotalSystemGlobalArea104857600bytes

FixedSize1247516bytes

VariableSize62916324bytes

DatabaseBuffers33554432bytes

RedoBuffers7139328bytes

数据库装载完毕。

SQL>select'alterdatabaserenamefile'||''''||name||''''||'to'||''''||replace(

name,'D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\','E:

\TEST\')||''''||';'FROM(SELEC

TNAMEFROMV$DATAFILE);

'ALTERDATABASERENAMEFILE'||''''||NAME||''''||'TO'||''''||REPLACE(NAME,'D:

\ORACLE

--------------------------------------------------------------------------------

alterdatabaserenamefile'D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF'to

'E:

\TEST\SYSTEM01.DBF';

alterdatabaserenamefile'D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF't

o'E:

\TEST\UNDOTBS01.DBF';

alterdatabaserenamefile'D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF'to

'E:

\TEST\SYSAUX01.DBF';

alterdatabaserenamefile'D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF'to'

E:

\TEST\USERS01.DBF';

'ALTERDATABASERENAMEFILE'||''''||NAME||''''||'TO'||''''||REPLACE(NAME,'D:

\ORACLE

--------------------------------------------------------------------------------

 

alterdatabaserenamefile'D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF't

o'E:

\TEST\EXAMPLE01.DBF';

 

SQL>alterdatabaseopen;

数据库已更改。

SQL>selectnamefromv$controlfileunionselectnamefromv$datafileunionselectmemberfromv$logfile;

NAME

--------------------------------------------------------------------------------

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

E:

\TEST\CONTROL01.CTL

E:

\TEST\CONTROL02.CTL

E:

\TEST\CONTROL03.CTL

已选择11行。

SQL>

位图实验步骤

一.autoallocate是自动分配的实验

1.createtablespacemytest

2.datafile'E:

\test01.dbf'size100M;

3.createtableabctablespacemytestasselect*fromscott.emp;

4.descdba_extents

5.selectfile_id,extent_id,block_id,blocksfromdba_extentswheresegment_name='ABC';

6.altersystemdumpdatafile6block3

7.selectc.value||'/'||d.instance_name||'_ora_'||a.spid||'.trc'trace

fromv$processa,v$sessionb,v$parameterc,v$instanced

wherea.addr=b.paddrandb.audsid=userenv('sessionid')andc.name='user_dump_dest';

8.打开D:

\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP/orcl_ora_2516.trc文件

9.insertintoabcselect*fromabc;

10.altersystemdumpdatafile6block3;

11.selectfile_id,extent_id,block_id,blocksfromdba_extentswheresegment_name='ABC';

12.再次打开D:

\ORACLE\PRODUCT\10.2.0\ADMIN\ORCL\UDUMP/orcl_ora_2516.trc文件;

13.结果:

Enddumpdatablockstsn:

7file#:

6minblk3maxblk3

***2012-11-2310:

33:

34.781

Startdumpdatablockstsn:

7file#:

6minblk3maxblk3。

二.uniform就是区的大小都是一样的的实验

14.CREATETABLESPACE"MYTBS"DATAFILE

'E:

\mytbs01.dbf'SIZE104857600

LOGGINGONLINEPERMANENTBLOCKSIZE8192

EXTENTMANAGEMENTLOCALUNIFORMSEGMENTSPACEMANAGEMENTAUTO(uniform与AUTOALLOCATE的管理区别,实验表明uniform的块的大小是一直不变的,而autoalllocate管理方式是随着增长的)

15.createtableabcdtablespacemyTBSasselect*fromscott.emp;

16.selectfile_id,extent_id,block_id,blocksfromdba_extentswheresegment_name='ABCD';

17.insertintoabcdselect*fromabcd;

18.altersystemdumpdatafile7block3

19.selectc.value||'/'||d.instance_name||'_ora_'||a.spid||'.trc'trace

fromv$processa,v$sessionb,v$parameterc,v$instanced

wherea.addr=b.paddrandb.audsid=userenv('sessionid')andc.name='user_dump_dest';

20.结果RelFno:

7,BeginBlock:

9,Flag:

0,First:

43,Free:

63445

FFFFFFFFFF070000000000000000000000000000000000000000000000000000

三:

空间回收(整理碎片):

1.deletefromabcdwheredeptno=10;

2.altertableabcdenableROWMOVEMENT;

3.altertableABCDshrinkspace;

4.altertableabcddisableROWMOVEMENT;

5.selectfile_id,extent_id,block_id,blocksfromdba_extentswheresegment_name='ABCD';

实验结果:

已选择31行

数据库备份

热备要求数据库处于归档状态,在业务不是很繁忙时用热备

shutimmediate

startupmount

alterdatabasearchivelog;

alterdatabaseopen;启动归档模式

archiveloglist

热备:

altertablespaceusersbeginbackup;

copyD:

\oracle\product\10.2.0\oradata\orcl\users01.dbfe:

\test\users01.dbf

altertablespaceusersendbackup

 

实验

假设users表空间存在热备份

该空间有一个T2表(scott.emp)

在该表产生交易

updatet2setsal=sal+1;

commit;

altersystemswitchlogfile;

然后将USERS表空间的数据文件给它破坏掉

比如用一个txt文件覆盖掉

copyd:

\1.txtd:

\users01.bdf(用txt覆盖掉了users01.bdf)

altersystemcheckpoint;

selectfile_name,online_statusfromdba_data_files;

产看当前数据库有哪些数据文件需要恢复

取回备份文件;

recoverdatafile4:

alterdatabasedatafile4online;

 

代码

MicrosoftWindowsXP[版本5.1.2600]

(C)版权所有1985-2001MicrosoftCorp.

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradata\or

cle:

\test\users01.dbf

D:

\oracle\product\10.2.0\oradata\orcl\CONTROL01.CTL

D:

\oracle\product\10.2.0\oradata\orcl\CONTROL02.CTL

D:

\oracle\product\10.2.0\oradata\orcl\CONTROL03.CTL

D:

\oracle\product\10.2.0\oradata\orcl\EXAMPLE01.DBF

D:

\oracle\product\10.2.0\oradata\orcl\REDO01.LOG

D:

\oracle\product\10.2.0\oradata\orcl\REDO02.LOG

D:

\oracle\product\10.2.0\oradata\orcl\REDO03.LOG

D:

\oracle\product\10.2.0\oradata\orcl\SYSAUX01.DBF

D:

\oracle\product\10.2.0\oradata\orcl\SYSTEM01.DBF

D:

\oracle\product\10.2.0\oradata\orcl\TEMP01.DBF

D:

\oracle\product\10.2.0\oradata\orcl\UNDOTBS01.DBF

D:

\oracle\product\10.2.0\oradata\orcl\USERS01.DBF

已复制1个文件。

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradata\orcl\users01.dbfe:

\test\users01.dbf

系统找不到指定的文件。

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradata\or

cl\users01.dbfe:

\test\users01.dbf

改写e:

\test\users01.dbf吗?

(Yes/No/All):

y

已复制1个文件。

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradata\or

cl\users01.dbfe:

\test\users01.dbf

改写e:

\test\users01.dbf吗?

(Yes/No/All):

y

已复制1个文件。

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradataD:

\oracle\product\10.2.0\oradata\orcl\users01.dbf;

D:

\oracle\product\10.2.0\oradata\1.txt

另一个程序正在使用此文件,进程无法访问。

已复制0个文件。

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradataD:

\oracle\product\10.2.0\oradata\orcl\users01.dbf;

D:

\oracle\product\10.2.0\oradata\1.txt

另一个程序正在使用此文件,进程无法访问。

已复制0个文件。

C:

\DocumentsandSettings\Administrator>copyD:

\oracle\product\10.2.0\oradata\1.txtD:

\oracle\product\10.2.0\oradata\orcl\users01.dbf;

已复制1个文件。

C:

\DocumentsandSettings\Administrator>

8888*************************************************************

MicrosoftWindowsXP[版本5.1.2600]

(C)版权所有1985-2001MicrosoftCorp.

C:

\DocumentsandSettings\Administrator>sqlplus/nolog

SQL*Plus:

Release10.2.0.1.0-Productionon星期五11月3010:

37:

432012

Copyright(c)1982,2005,Oracle.Allrightsreserved.

SQL>conn/assysdba

已连接。

SQL>shutimmediate

数据库已经关闭。

已经卸载数据库。

ORACLE例程已经关闭。

SQL>startupmount

ORACLE例程已经启动。

TotalSystemGlobalArea289406976bytes

FixedSize1248576bytes

VariableSize100664000bytes

DatabaseBuffers180355072bytes

RedoBuffers7139328bytes

数据库装载完毕。

SQL>alterdatabasearchivelog

2archiveloglist

3altertablespaceusersbeginbackup

4altertablespaceusersbeginbackup;

archiveloglist

*

第2行出现错误:

ORA-00933:

SQL命令未正确结束

 

SQL>alterdatabasearchivelog;

数据库已更改。

SQL>alterv

2;

alterv

*

第1行出现错误:

ORA-00940:

无效的ALTER命令

 

SQL>alterdatabaseopen

2;

数据库已更改。

SQL>altertablespaceusersbeginbackup

2;

表空间已更改。

SQL>copyD:

\oracle\product\10.2.0\oradata\orcle:

\test\users01.dbf

用法:

COPYFROMTO

{()}USING

:

数据库字符串,例如,hr/your_password@d:

chicago-mktg

:

下列关键字之一:

APPEND,CREATE,INSERT或REPLACE

:

目标表名称

:

用逗号分隔的目标列别名列表

:

任何有效的SQLSELECT语句

缺失的FROM或TO子句使用当前的SQL*Plus连接

SQL>copyD:

\oracle\product\10.2.0\oradata\orcle:

\test\users01.dbf;

用法:

COPYFROMTO

{()}USING

:

数据库字符串,例如,hr/your_password@d:

chicago-mktg

:

下列关键字之一:

APPEND,CREATE,INSERT或REPLACE

:

目标表名称

:

用逗号分隔的目标列别名列表

:

任何有效的SQLSELECT语句

缺失的FROM或TO子句使用当前的SQL*Plus连接

SQL>altertablespaceusersendbackup;

表空间已更改。

SQL>createtablet2tablespaceusersasselect*fromscott.emp;

表已创建。

SQL>altertablespaceusersbeginbackup;

表空间已更改。

SQL>altertablespaceusersendbackup;

表空间已更改。

SQL>updatet2setsal=sal+1;

已更新14行。

SQL>commit;

提交完成。

SQL>altersystemswitchlogfile;

系统已更改。

SQL>altersystemcheckpoint;

系统已更改。

SQL>selectfile_name,online_statusfromdba_data_files;

FILE_NAME

--------------------------------------------------------------------------------

ONLINE_

-------

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

RECOVER

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

ONLINE

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

ONLINE

 

FILE_NAME

--------------------------------------------------------------------------------

ONLINE_

-------

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

SYSTEM

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF

ONLINE

 

SQL>select*fromv$recovery_log;

未选定行

SQL>selectfile#,namefromv$datafile;

FILE#

----------

NAME

--------------------------------------------------------------------------------

1

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

2

D:

\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DB

展开阅读全文
相关搜索

当前位置:首页 > 高中教育 > 理化生

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1