java大数据培训技术分享 数据库管理

2023-05-24 0 861

1.介绍oracle管理组织工作员的基本上职能

2.掌控储存和恢复正常资料库/表的方式

3.认知表内部空间,统计数据词典和操控性快照

资料库管理组织工作员

每一oracle资料库如果最少有一位资料库管理组织工作员(dba),对三个小的资料库,三个dba就够了,但对三个大的资料库可能将须要数个dba依次肩负相同的管理组织工作职能。所以三个资料库管理组织工作员的主要就组织工作是甚么呢?

职能:

(1)加装和升级换代oracle资料库

(2)建库,表内部空间,表,快照,检索。。。

(3)制订并实行储存与恢复正常方案

(4)资料库职权管理组织工作,Listary,机械故障须建

(5)对高阶dba,明确要求能参予工程项目合作开发,会撰写sql句子、储存操作过程、异步、准则、束缚、包

管理组织工作资料库的使用者主要就是sys和system

在后面他们早已提及这三个使用者,差别主要就是:

(1)最主要就的差别,储存的统计数据的必要性相同

sys:大部份oracle的统计数据词典的基表和快照都放置在sys使用者中,那些基表和快照对oracle的运转是非常重要的,由资料库他们保护,任何人使用者都无法全自动更动。sys使用者保有dba,sysdba,sysoper配角或职权,是oracle职权最低的使用者。

system:用作放置次二级的外部统计数据,如oracle的许多优点或辅助工具的管理组织工作重要信息。system使用者保有dba,sysdba配角或控制系统职权。

(2)其二的差别,职权的相同

sys使用者要以as sysdba或as sysoper形式登录。无法以normal方式登录资料库。

system如果正常登录,它其实就是三个普通的dba使用者,但如果以as sysdba登录,其结果实际上它是作为sys使用者登录的,从登录重要信息上面他们可以看出来。

sysdba和sysoper职权差别图

java大数据培训技术分享 数据库管理
java大数据培训技术分享 数据库管理

dba职权的使用者

dba使用者是指具有dba配角的资料库使用者。特权使用者可以执行启动实例,关闭实例等特殊操作,而dba使用者只有在启动资料库后才能执行各种管理组织工作组织工作。

管理组织工作初始化参数

初始化参数用作设计实例或是资料库的特征。oracle9i提供了200数个初始化参数,并且每一初始化参数都有默认值。

显示初始化参数

(1)show parameter命令

如何修改参数

须要说明的如果你希望修改那些初始化的参数,可以到D:\oracle\admin\myoral\pfile\init.ora文件中去修改比如要修改实例的名字。

资料库(表)的逻辑储存与恢复正常 — 导出

资料库的储存分为逻辑储存与物理储存。

逻辑储存是指使用辅助工具export将统计数据对象的结构和统计数据导出到文件的操作过程,逻辑恢复正常是指当资料库对象被误操作而损坏后使用辅助工具import利用储存的文件把统计数据对象导入资料库的操作过程。物理储存既可在资料库open的状态下进行,也可以在关闭资料库后进行,但逻辑储存和恢复正常只能在open的状态下进行。

导出:

导出具体的分为:导出表,导出方案,导出资料库三种方式:

导出使用exp命令来完成,该命令常用的选项有:

userid:用作指定执行导出操作的使用者名,口令,连接字符串。

tables:用作指定执行导出操作的表。

owner:用作指定执行导出操作的方案。

full=y:用作指定执行导出操作的资料库。

inctype:用作指定执行导出操作的增量类型。

rows:用作指定执行导出操作是否要导出表中的统计数据。

file:用作指定导出文件名。

导出表:

(1)导出他们的表

exp userid=scott/root123@orcl tables=(emp) file=d:\e1.dmp

(2)导出其他方案的表

如果使用者要导出其他方案的表,则须要dba的职权或是exp_full_database的职权,比如system就可以导出scott的表

exp userid=system/manager@orcl tables(scott.emp) file=e2.dmp

特别说明:

在导入和导出的时候,要到oracle的主目录下的bin目录下。

(3)导出表的结构

exp userid=scott/root123@orcl tables=(emp) file=d:\e3.dmp rows=n

(4)使用直接导出的方式

exp userid=scott/root123@orcl table=(emp) file=d:\e4.dmp direct=y

这种方式比默认的常规方式要快,当统计数据量大时,可以考虑使用这样的方式,这时须要资料库的字符集要与客户端字符集完全一致,否则会报错。。。

导出方案:

导出方案是指使用export辅助工具导出三个方案或是数个方案中的大部份对象(表,检索,束缚)和统计数据,并放置到文件中。

(1)导出他们的方案

exp scott/root123@orcl owner=scott file=d:\scott.dmp

(2)导出其他方案

exp_full_database的职权,例如system使用者就可以导出任何人方案

exp system/manager@orcl owner(system,scott) file=d:\system.dmp

导出资料库

导出资料库是利用export导出大部份资料库中的对象及统计数据,明确要求该使用者具有dba的职权或是exp_full_database职权。

exp userid=system/manager@orcl full=y inctype=complete file=d:\x.dmp

资料库(表)的逻辑储存与恢复正常 — 导入

导入就是使用辅助工具import将文件中的对象和统计数据导入到资料库中,但导入要使用的文件要是export所导出的文件。与导出相似,导入也分为导入表,导入方案,导入资料库三种方式。

imp常用的选项有:

userid:用于指定执行导入操作的使用者名,口令,连接字符串。

tables:用作指定执行导入操作的表。

formuser:用作指定源使用者

touser:用作指定目标使用者

file:用作指定导入文件名

full=y:用作指定执行导入操作的资料库。

inctype:用作指定执行导入操作的增量类型。

rows:指定是否要导入表行(统计数据)

ignore:如果表存在,则只导入统计数据

导入表:

(1)导入他们的表

imp userid=scott/root123@orcl table=(emp) file=d:xx.dmp

(2)导入表到其他使用者

明确要求该使用者具有dba职权,或是imp_ful_database

imp userid=system/manager@orcl table(emp) file=d:\xx.dmp touser=scott

(3)导入表的结构

只导入表的结构而不导入统计数据

imp userid=scott/root123@orcl tables=(emp) file=d:\xxx.dmp rows=n

(4)导入统计数据

如果对象(如比表)早已存在可以只导入表的统计数据

imp userid=scott/root123@orcl tables(emp) file=d:\xxx.dmp ignore=y

导入方案

导入方案是指使用import辅助工具将文件中的对象和统计数据导入到三个或是数个方案中。如果要导入其他方案,明确要求该使用者具有dba的职权,或是imp_full_database

(1)导入自身的方案

imp userid=scott/root123 file=d:xxx.dmp

(2)导入其他方案

明确要求改使用者具有dba职权

imp userid=system/manager file=d:\xxx.dmp fromuser=system touser=scott

导入资料库

在默认情况下,当导入资料库时,会导入大部份对象结构和统计数据,案例如下:

imp userid=system/manager full=y file=d:\xxx.dmp

统计数据词典和动态操控性快照

统计数据词典是oracle资料库中最重要的组成部分,它提供了资料库的许多控制系统重要信息。

统计数据词典是oracle资料库中最重要的组成部分,它提供了资料库的许多控制系统重要信息。

动态操控性快照记载了例程启动后的相关重要信息。

user_tables:

用作显示当前使用者所保有的大部份表,它只返回使用者所对应方案的大部份表。

比如:select table_name from user_tables;

all_tables:

用作显示当前使用者可以访问到的大部份表,它不仅会返回当前方案的大部份表,还会返回当前使用者可以访问的其他方案的大部份表。

比如:select table_name from all_tables;

dba_tables:

它会显示大部份方案保有的资料库表。但查询这个资料库字段快照,明确要求使用者要是dba配角或保有select any table控制系统职权。例如:当system使用者查询dba_tables时,会返回sys,system,scott等大部份方案对应的资料库表。

使用者名,职权,配角

在创建使用者时,oracle会把使用者的重要信息放置到统计数据词典中,当给使用者授予职权或是配角时,oracle会将职权和配角的重要信息放置到统计数据词典中。

通过查询dba_users可以显示大部份资料库使用者的详细重要信息。

通过查询统计数据词典快照dba_sys_privs,可以显示使用者所具有的控制系统职权。

通过查询统计数据词典快照dba_tab_privs,可以显示使用者具有的对象职权。

通过查询统计数据词典快照dba_col_privs可以显示使用者具有的列职权。

通过查询资料库词典快照dba_role_privs可以显示使用者所具有的配角。

如何查询三个配角包括的职权?

a.三个配角包含的控制系统职权

select * from dba_sys_privs where grantee=CONNECT;

另外也可以这样查看

select * from role_sys_privs where role=CONNECT;

b.三个配角包含的对象职权

select * from dba_tab_privs where grantee=CONNECT;

如何查看某个使用者,具有甚么样的配角?

select * from dba_role_privs where grantee=SCOTT;

显示当前用户可以访问的大部份统计数据词典快照

select * from dict where comments like %grant%;

显示当前资料库的全称

select * from global_name;

其他说明:

统计数据词典记录有oracle资料库的大部份控制系统重要信息,通过查询统计数据词典可以取得以下控制系统重要信息:比如

(1)对象定义情况

(2)对象占用内部空间大小

(3)列重要信息

(4)束缚重要信息

动态操控性快照

管理组织工作表内部空间和统计数据文件

表内部空间是资料库的逻辑组成部分。从物理上讲,资料库统计数据放置在统计数据文件中;从逻辑上讲,资料库统计数据则是放置在表内部空间中,表内部空间由三个或是数个统计数据文件组成。

资料库的逻辑结构

oracle中逻辑结构包括表内部空间、段、区和块。

说明一下资料库由表内部空间构成,而表内部空间又是由段构成,而段又是由区构成,而区又是由oracle块构成的这样一种结构,可以提高资料库的效率。

表内部空间用作从逻辑上组织资料库的统计数据。资料库逻辑上是由三个或是数个表内部空间组成的。通过表内部空间可以达到以下两点用处:

(1)控制资料库占用的磁盘内部空间

(2)dba可以将相同统计数据类型部署到相同的位置,这样有利于提高i/o操控性,同时利于储存和恢复正常等管理组织工作操作。

建立表内部空间

建立表内部空间是使用create tablespace命令完成的,须要注意的是,一般情况下,建立表内部空间是特权使用者或是dba来执行的,如果用其它使用者来创建表内部空间,则使用者要要具有create tablespace的控制系统职权。

建立统计数据表内部空间

在建立资料库后,为了便于管理组织工作表,最好建立他们的表内部空间。

create tablespace sp001 datafile d:\sp001.dbf size 20m uniform size 128k

说明:执行完上述命令后,会建立名称为sp001的表内部空间,并为该表内部空间建立名称为sp001.bdf的统计数据文件,区的大小为128k

使用统计数据表内部空间

create table mypart(deptno number(4),dname varchar2(14),loc varchar2(13)) tablespace sp001;

改变表内部空间的状态

当建立表内部空间时,表内部空间处于联机(online)状态,此时该表内部空间是可以访问的,并且该表内部空间时可以读写的,即可以查询该表内部空间的统计数据,而且还可以在表内部空间执行各种句子。但在进行控制系统保护或是统计数据保护时,可能将须要改变表内部空间的状态。一般情况下,由特权使用者或是dba来操作。

(1)使表内部空间脱机

alter tablespace 表内部空间名 offline;

(2)使表内部空间联机

alter tablespace 表内部空间吗 online;

(3)只读表内部空间

当建立表内部空间时,表内部空间可以读写,如果不希望在该表内部空间上执行update,delete,insert操作,所以可以将表内部空间修改为只读。alter tablespace 表内部空间名 read only;

更动成可读可写为:alter tablespace 表内部空间名 read write;

(4)知道表内部空间名,显示该表内部空间包括的大部份表

select *from all_tables where tablespace _name=表内部空间名;

(5)知道表名,查看该表属于哪个表内部空间

select tablespace_name,table_name from user_tables where table _name =emp;

删除表内部空间

一般情况下,由特权使用者或是dba来操作,如果是其他使用者操作,所以明确要求使用者具有drop tablespace控制系统职权。

drop tablespace 表内部空间 including contents and datafiles;

说明:including contents表示删除表内部空间时,删除该内部空间的大部份资料库对象,而datafiles表示将资料库文件也删除。

扩展表内部空间

表内部空间是由统计数据文件组成的,表内部空间的大小实际就是统计数据文件相加后的大小。所以他们可以想象,假定表 employee在data01表内部空间上,初始大小为2M,当统计数据满2M时再向employee表插入统计数据,这样就会显示内部空间不足的错误。

扩展表内部空间,为其增加更多的储存内部空间有三种方式:

(1)增加统计数据文件

SQL> alter tablespace sp001 add datafile d:\sp002.dbf size 300m;

(2)增加统计数据文件的大小

SQL> alter database datafile d:\SP001.dbf resize 400m;

(3)设置文件的自动增长

SQL> alter database datafile d:\sp001.dbf autoextend on next 10m maxsize 500m;

移动统计数据文件

有时,如果你的统计数据文件所在的磁盘损坏时,该统计数据将无法再使用,为了能够重新使用,须要将那些文件的副本转移到其它的磁盘,然后恢复正常。

下面以移动统计数据文件sp001.dbf为例来说明:

1)确定统计数据文件所在的表内部空间

select tablespace_name from dba_data_files where file_name=d:\sp001.dbf;

2)使表内部空间脱机

确保统计数据文件的一致性,将表内部空间转变为offline的状态

alter tablespace sp01 offline;

3)使用命令移动统计数据文件到指定的目标位置

host move d:\sp001.dbf f:\sp001.dbf

4)执行alter tablespace命令

在物理上移动了统计数据后,还要执行alter tablespace对资料库文件进行逻辑修改:

alter tablespace sp001 rename datafile d:\sp001.dbf to f:\sp001.dbf;

5)使表内部空间联机

在移动了数据文件后,为了使使用者可以访问该表内部空间,要将其转变为online状态:

alter tablespace sp001 online;

显示表内部空间重要信息

查询统计数据词典快照dba_tablespaces,显示表空间的重要信息

select tablespaces_name from dba_tablespaces;

显示表内部空间所包含的统计数据文件

查询统计数据词典快照dba_data_files,可显示表内部空间中包含哪些统计数据文件,如下:

select file_name,bytes from dba_data_files where tablespaces_name = 表内部空间名:

表内部空间小结

1)介绍表内部空间和统计数据文件的作用

2)掌握常用表内部空间,undo表内部空间和临时表内部空间的建立方式

3)介绍表内部空间的各个状态(online,offline,read write,read only)的作用,及如何改变表内部空间的状态的方式。

4)介绍移动数据文件的原因,及使用alter tablespace命令移动统计数据文件的方式。

其他表内部空间

除了最常用的统计数据表内部空间外,还有其他类型表内部空间:

(1)检索表内部空间(海量统计数据)

(2)undo表内部空间

(3)临时表内部空间

(4)非标准块的表内部空间

这几种表内部空间,他们参考书籍研究。

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务