邮区中心局oracle数据库维护手册24Word文档格式.docx

上传人:b****3 文档编号:16680291 上传时间:2022-11-25 格式:DOCX 页数:18 大小:37.37KB
下载 相关 举报
邮区中心局oracle数据库维护手册24Word文档格式.docx_第1页
第1页 / 共18页
邮区中心局oracle数据库维护手册24Word文档格式.docx_第2页
第2页 / 共18页
邮区中心局oracle数据库维护手册24Word文档格式.docx_第3页
第3页 / 共18页
邮区中心局oracle数据库维护手册24Word文档格式.docx_第4页
第4页 / 共18页
邮区中心局oracle数据库维护手册24Word文档格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

邮区中心局oracle数据库维护手册24Word文档格式.docx

《邮区中心局oracle数据库维护手册24Word文档格式.docx》由会员分享,可在线阅读,更多相关《邮区中心局oracle数据库维护手册24Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。

邮区中心局oracle数据库维护手册24Word文档格式.docx

6通过授权的方式来创建用户8

7建立与已有的表结构、数据一样的新表8

8向新表中导入旧表的数据(针对上一点:

表结构一样)8

9查看当前所有对象(表、视图等)8

10不借助工具且不改变列的顺序(表中有数据)情况下修改列名8

11建一个和a表结构一样的空表9

12如何查看用户表上的约束类型9

13如何查看后台进程10

14显示当前连接用户11

15连接字符串11

16查询当前日期11

17用户间复制数据11

18redologfile11

18.1redologfile的简单介绍11

18.2redologfile的大小和位置对数据库性能的影响12

18.3在联机状态改变redologfile大小的方法13

18.4跟redologfile有关的其它数据库参数13

19数据库察看命令14

19.1查看表空间的名称及大小14

19.2查看表空间物理文件的名称及大小15

19.3查看回滚段名称及大小15

19.4查看控制文件15

19.5查看日志文件15

19.6查看表空间的使用情况16

19.7查看数据库库对象16

19.8查看数据库的版本16

19.9查看数据库的创建日期和归档方式16

20备份操作17

20.1生产主备份17

20.2生产辅备份18

20.3历史主备份18

20.4历史主备份18

21恢复数据库18

21.1生产数据恢复19

21.1.1恢复前准备工作19

21.1.2完全恢复19

21.1.3不完全恢复20

21.1.4恢复结束20

21.1.4.1部分数据文件损坏20

21.1.5不完全完全恢复21

21.2历史库的恢复21

21.2.1归档数据的恢复21

21.2.2非归档数据的恢复21

1启动数据库

以数据库用户登陆,运行下面的命令(进入ORACLE数据库SERVER管理工具):

/usr/oracle>

svrmgrl

SVRMGR>

connectinternal

startup

exit

2关闭数据库

shutdownnormal

3建Dblink的实例

举例说明:

linux:

158.1.19.1有一yz库,有用户qgzx;

(全国中心数据库用)

NT:

158.1.19.233有一库yydd,用户jiek/jiek(长天全国中心数据接口)

qgzx需要访问jiek的表

步骤:

1、建立TNS,用于链接yydd

在/usr/oracle/network/admin下文件tnsnames.ora中加入如下内容

#diaoxiaoru

YYDD=

(DESCRIPTION=

(ADDRESS_LIST=

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

(CONNECT_DATA=

(SERVICE_NAME=YYDD)

2、赋予qgzx用户dba权限,sqlplus连到qgzx下执行如下语句,mylink为dl3:

CREATEDATABASELINKdl3CONNECTTOjiekIDENTIFIEDBYjiek;

4新增表的实例(授权方式建同义词的情况)

--在158.1.19.1的yz实例cnpost用户下(开发库)新增一个表的实例。

--说明:

cnpost是resource用户,具有所有的实体表、视图、同义词、存储过程等等,需要在test、zxj(这两个用户只有createsession权限)两个开发用户下给他们建同义词。

sqlpluscnpost

createtabletTMYJZLDZB(

CJDMchar(4)NotNull,

OLDYJZLchar

(1)NotNull,

NEWYJZLchar(3)NotNull

);

createuniqueindextTMYJZLDZB_un1ontTMYJZLDZB

(CJDM,OLDYJZL);

把cnpost上实体表tTMYJZLDZB在zxj、test用户下授予grantselect,update,delete,inse

rt权限:

grantselect,update,delete,insertontTMYJZLDZBtozxj;

grantselect,update,delete,insertontTMYJZLDZBtotest;

建同义词需要有dba权限,给zxj、test授予dba权限:

connectsystem/******

grantdbatozxj;

grantdbatotest;

在zxj、test建同义词cnpost.tTMYJZLDZB

connzxj/post

createSYNONYMtTMYJZLDZBforcnpost.tTMYJZLDZB;

conntest/lqj

收回zxj、test用户的dba权限

connectsystem/*******

revokedbafromzxj;

revokedbafromtest;

5新建用户实例

使用具有DBA权限的用户进入sqlplus

--sqlplussystem/******

创建用户:

CREATEUSERusernameIDENTIFIEDBYpasswd用户名和密码

DEFAULTTABLESPACEtablespacename指定缺省的表空间

TEMPORARYTABLESPACEtablespacename指定临时表空间

QUOTA100MONtablespacename指定配额表空间的大小

PROFILEDEFAULT

ACCOUNTUNLOCK

/

给用户授权,createsession是会话权限,每一个用户是必有的。

而connect,resource,dba权限看具体的用途而定:

--grantcreatesessiontousername;

会话权限,用于连接用户

--grantconnecttousername;

授予connect权限

--grantresourcetousername;

授予resource权限

--grantdbatousername;

授予dba权限

--GRANTUNLIMITEDTABLESPACETOusername;

授予用户可扩展的表空间

收回权限

--revokeconnectfromusername;

--revokeresourcefromusername;

--revokedbafromusername;

6通过授权的方式来创建用户

SQL>

grantconnect,resourcetotestidentifiedbytest;

conntest/test

7建立与已有的表结构、数据一样的新表

SQL>

CREATETABLEnew_tablenameASSELECT*FROMold_tablename;

表结构一样)

INSERTINTOold_tablenameSELECT*FROMnew_tablename;

9查看当前所有对象(表、视图等)

select*fromtab;

10不借助工具且不改变列的顺序(表中有数据)情况下修改列名

假设某表diao有两个字段dd和cc,有三条数据,现要把列dd改为rr,需要如下操作:

altertablediao_1renametodiao_1;

――相当于建立临时表diao_1

createtablediao_1(

rrchar(20)notnull,

ccchar

(1)notnull

);

――新建表diao,并把列dd用rr替换

insertintodiao_1(

rr,

cc

select

dd,

fromdiao_1;

――把diao_1中数据插入到diao中

commit;

――提交插入的数据

droptablediao_1;

――删除临时用表diao_1

11建一个和a表结构一样的空表

CREATETABLEbASSELECT*FROMaWHERE1=2;

createtableb(b1,b2,b3)asselecta1,a2,a3fromawhere1=2;

12如何查看用户表上的约束类型

descUSER_CONSTRAINTS――管理约束的表

descUSER_CONS_COLUMNS――约束表内容

名称空?

类型

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

OWNERNOTNULLVARCHAR2(30)--用户名

CONSTRAINT_NAMENOTNULLVARCHAR2(30)--约束名

TABLE_NAMENOTNULLVARCHAR2(30)--约束类型

COLUMN_NAMEVARCHAR2(4000)--列名

POSITION

col用户名formata10

col约束名称formata15

col约束类型formata10

col表名formata10

col列名formata10

col约束内容formata20

selecta.OWNER用户名

a.CONSTRAINT_NAME约束名称,

a.CONSTRAINT_TYPE约束类型,

a.TABLE_NAME表名,

b.COLUMN_NAME列名,

a.SEARCH_CONDITION约束内容

fromUSER_CONSTRAINTSa,USER_CONS_COLUMNSb

wherea.CONSTRAINT_NAME=b.CONSTRAINT_NAME;

13如何查看后台进程

descv$bgprocess

名称空?

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

PADDRRAW(4)--进程状态对象地址

NAMEVARCHAR2(5)--后台进程名称

DESCRIPTIONVARCHAR2(64)--后台进程描述

ERRORNUMBER――后台进程运行中所遇到的错误数

colDESCRIPTIONformata40

select*fromv$bgprocess;

select*fromv$bgprocesswherepaddr<

>

'

00'

;

查看paddr中包含两个0的进程

SMON系统进程

PMON用户进程

DBWR数据库写入进程

LGWR日志写入进程

CKPT检查点进程用来减少实例恢复所需时间,init.oralog_checkpoint_interval=10000,此参数设置检查点出现的频度

ARCH归档进程将联机重做日志拷贝到磁盘或磁带,即将联机重做日志归档

RECO恢复进程用于分布式数据库中的分布式处理,init.ora中,distributed_transactions=10,此参数大于0时才被建立

SNPn快照进程数量取决于init.ora中参数job_queue_processes=4

LCKn锁进程可选项,用于并行服务器

Dnnn调度进程可选项,仅用于多线程服务器

14显示当前连接用户

showuser

15连接字符串

select列1||列2from表1;

selectconcat(列1,列2)from表1;

16查询当前日期

selectto_char(sysdate,'

yyyy-mm-dd,hh24:

mi:

ss'

)fromdual;

17用户间复制数据

copyfromuser1touser2createtable2usingselect*fromtable1;

18redologfile

我们知道Oracle里联机日志文件(Onlineredologfile)循环记录了数据库所有的事务(transaction)。

它的大小、个数和存储位置对数据库性能和恢复也是有重要影响的。

本文总结一下关于redologfile的一些内容。

18.1redologfile的简单介绍

它一般有大小相同的一组文件构成。

我们可以查看数据库视图v$logfile知道它的个数和存储位置。

SVRMGRL>

select*fromv$logfile;

查看数据库视图v$log知道它当前的状态。

select*fromv$log;

一个时间只有一组logfilegroup是工作状态(current),redologfile满了后会自动切换到下一个logfilegroup,如果数据库是归档方式同时写到归档日志文件。

这些文件不能用常规的文本编辑器查看,它以特定的格式存放,只有数据库或者专门的软件可以看懂它。

redologfile的最大数目是在创建数据库时指明的。

如果你想知道当前数据库redologfile的最大数值是多少,重新生成控制文件就可以知道。

alterdatabasebackupcontrolfiletotrace;

这条语句会在$ORACLE_BASE/admin/dbname/udump/路径下生成当前时间的一个*.trc文件,也就是数据库的控制文件,用文本编辑器,即可看到数据库创建时用的一些参数,包括redologfile的最大数(maxlogfiles)。

18.2redologfile的大小和位置对数据库性能的影响

如果用ORACLE的安装向导创建的典型数据库,它的redologfile大小为500K,这基本上是不能满足典型的OLTP应用的,在数据库日志文件(alert_orasid.log)里会记录着频繁的logswitch。

ORACLE推荐logswitch时间最好在15--30分钟之间,所以redologfile的大小由数据库DML操作数据的大小决定其最佳大小。

redologfile最好有多个存储位置,多组成员,使数据库恢复时有更多的选择。

典型的OLTP应用,redologfile大小可以为16M。

当然繁忙的数据库,例如当今的门户网站,这个值可以达到100M以上。

如果你发现当前数据库日志文件里logswitch的时间偏大或者偏小,不要紧。

ORACLE提供了在数据库联机状态来改变redologfile大小的方法。

18.3在联机状态改变redologfile大小的方法

假如原来有3个小的redologfile,下面是UNIX环境下的一个例子:

第一步:

往数据库添加三个大的redologfile

ALTERDATABASEADDLOGFILEGROUP4

('

/opt/oradata/app/redo04.log'

'

/ora_bak/oradata2/redolog/redo04.log'

)size16Mreuse;

ALTERDATABASEADDLOGFILEGROUP5

/opt/oradata/app/redo05.log'

/ora_bak/oradata2/redolog/redo05.log'

ALTERDATABASEADDLOGFILEGROUP6

/opt/oradata/app/redo06.log'

/ora_bak/oradata2/redolog/redo06.log'

第二步:

手工地做logswitch,使新建的redologfile起作用:

altersystemswitchlogfile;

此操作可以执行一到几次,使旧的redologfile成invalid状态.

第三步:

删除原来旧的redologfile.

alterdatabasedroplogfilegroup1;

alterdatabasedroplogfilegroup2;

alterdatabasedroplogfilegroup3;

18.4跟redologfile有关的其它数据库参数

1、log_buffer

log_buffer是ORACLESGA的一部分,所有DML命令修改的数据块先放在log_buffer里,如果满了或者到了check_point时候,系统通过lgwr后台进程写到redologfile里去。

它不能设得太大,这样在意外发生时会丢失很多改变过的数据。

它最好不要大于512K或者128K*CPU个数。

我们可以用下面的SQL语句检测log_buffer使用情况:

selectrbar.name,rbar.value,re.name,re.value,(rbar.value*100)/re.value||'

%'

"

radio"

fromv$sysstatrbar,v$sysstatre

whererbar.name='

redobufferallocationretries'

andre.name='

redoentries'

这个比率小于1%才好,否则增加log_buffer的大小。

2、log_checkpoint_interval

Oracle8.1版本后log_checkpoint_interval指的是两次checkpoint之间操作系统数据块的个数。

checkpoint时Oracle把内存里修改过的数据块用DBWR写到物理文件,用LGWR写到日志和控制文件。

一般UNIX操作系统的数据块为512bytes。

从性能优化来说log_checkpoint_interval=redologfilesizebytes/512bytes

3、log_checkpoint_timeout

Oracle8.1版本后log_checkpoint_timeout指的是两次checkpoint之间时间秒数。

Oracle建议不用这个参数来控制,因为事务(transaction)大小不是按时间等量分布的。

log_checkpoint_timeout=0

log_checkpoint_timeout=900

19数据库察看命令

19.1查看表空间的名称及大小

selectt.tablespace_name,round(sum(bytes/(1024*1024)),0)ts_size

fromdba_tablespacest,dba_data_filesd

wheret.tablespace_name=d.tablespace_name

groupbyt.tablespace_name;

19.2查看表空间物理文件的名称及大小

selecttablespace_name,file_id,file_name,

round(bytes/(1024*1024),0)total_space

fromdba_data_files

orderbytablespace_name;

19.3查看回滚段名称及大小

selectsegment_name,tablespace_name,r.status,

(initial_extent/1024)InitialExtent,(next_extent/1024)NextExtent,

max_extents,v.curextCurExtent

Fromdba_rollback_segsr,v$rollstatv

Wherer.segment_id=v.usn(+)

orderbysegment_name;

19.4查看控制文件

selectnamefromv$controlfile;

19.5查看日志文件

s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 能源化工

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

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