数据库管理员:

每个oracle数据库应该至少有一个数据库管理员(dba),对于一个小的数据库,一个dba就够了,但是对于一个大的数据库可能需要多个dba分担不同的管理职责。

对于dba来说,会权限管理、调优、故障排查、参与项目,编写sql,存储过程、触发器、规则、约束、包等,价钱就不一样。

管理数据库的用户:sys和system 的区别

(1)存储的数据重要性不同。sys存放oracle的数据字典的基表和视图。(基表就是基本的表,基础的表,没有不行)拥有dba(数据库管理员角色),sysdba(系统管理员角色),sysoper(系统操作员角色)角色。system存放次一级的数据。拥有sys、sysoper角色。

(2)权限不同,sys必须已 sysdba或者sysoper的角色登陆。但是不能以normal方式登陆数据库。system如果正常登陆,它其实就是一个普通的dba用户,但是如果以sysdba身份登陆,其实质一个sys。

system只有在特权用户启动数据库后,才能拥有库中各种工作情况权限。(sys董事长、system总经理)

shutdown/startup(服务历程启动或关闭)

管理初始化参数:

初始化参数用于设置实例或者数据库的特征。show parameter命令可以在d:\oaacle\admin\orcl\pfile\init.ora文件中修改参数,比如实例名称。

逻辑备份和恢复:

逻辑备份是使用工具export将数据对象的结构和数据导出到文件的过程,恢复则相反使用的工具是import。物理备份即可在数据库open的状态下进行也可以在关闭数据库后进行,但是逻辑备份和恢复只能在open的状态下进行。

备份分三种:备份表、方案、数据库

userid:用于指定执行导出操作的用户名、口令、连接字符串;

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

owner:用于指定导出的方案;

full=y:执行导出的数据库;

file用于指定导出文件名;

rows:用于指定执行导出操作是否要导出表中的数据;

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

在导入或者导出的时候,在cmd下即可

导出表:

(1)自己的表;exp userid=scott/tiger@orcl tables=(emp) file=d:\djw.dmp

(2)其他方案表(需要dba角色或者exp_full_database权限):

exp userid=/tiger@orcl tables=(emp) file=d:\djw.dmp

(3)导出表的结构:

exp userid=scott/tiger@orcl tables=emp file=d:\djw2.dmp row=n;

(4)  使用直接导出方式,比默认的方式快的多

exp userid=scott/tiger@orcl tables=emp file=d:\djw3.dmp direct=y

方案:导出一个或者多个方案

(1)导出自己的方案:

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

(2)导出其他方案:(dba权限或者exp_full_database权限)

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

数据库:导出数据库是指利用export导出所有数据库中的对象和数据,要求该用户具备dba的权限或者exp_full_database权限。

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

导入是相反的:imp

导入自己的表:imp userid=scott/tiger@orcl tables=emp file:\emp.dmp

导入表到其他用户:imp userid=manager/manager@orcl tables=emp file=d:\djw9.dmp  touser=scott

导入表结果:imp userid=scott/tiger@orcl tables=emp file=d:\djw10.dmp rows=n

导入数据:imp userid=scott/tiger@orcl tabels=emp file=d:\djw11.dmp ignore=y;

导入自身方案:imp userid=scott/tiger  file=d:\djw12.dmp(自动创建实例)

导入其他方案:imp userid=system/manager file=d:\djw13.dmp  fromuser=system touser=scott

导入数据库:imp userid=system/manager full=y file=d:\xx.dmp (自动创建实例)

数据字典和动态性能视图:(了解系统级别的信息)

数据字典是oracle数据库中最重要的组成部分,它提供了数据库的一些系统信息。它是只读表和视图的集合,所有者是sys。用户只能查询,其他修改、维护是系统自动完成。

动态性能视图记载了例程启动后的相关信息。所有者是sys。

数据字典视图:user_xxx,  all_xxx,   dba_xxx

user_tables:用于显示当前用户所拥有的所有表

select table_name from user_tables;

all_tables:  显示当前用户可以访问的所有表

select table_name from all_tables;

dba_tables:数据库中所有方案的表,但是必须是dba角色或者select any table系统权限

select table_name from dba_tables;

用户名,权限,角色

在建立用户时,oracle会把用户的信息存放到数据字典中,当给用户授予权限或者角色时,oracle会将权限和角色的信息存放到数据字典。

通过查询dba_users可以显示所有数据库用户的详细信息。

select  username from dba_users;

通过查询数据字典视图dba_sys_privs可以显示用户所具有的系统权限;

通过查询数据字典视图dba_tab_privs可以显示用户具有的对象权限;

通过查询数据字典dba_col_privs可以显示用户具有的列权限;(较少使用)

通过查询数据库字典视图dba_role_prives可以显示用户所具有的角色。

scott的角色(ADM)

查询oracle中所有的角色,一般是dba

select *from dba_roles; (oracle中有多少角色)

select *from system_privilege_map order by name;(所有系统权限)

select  distinct privilege from dba_tab_privs;(所有对象权限)

如何查看一个角色中的权限?
 一个角色包含的系统权限和对象权限
select *from dba_sys_privs where grantee='CONNECT';
select *from dba_tab_privs where grantee='CONNECT'
如何查询一个用户具有怎样的角色?
select *from dba_role_privs where grantee='SCOTT';
当前数据库名字?
select *from global_name;
管理表空间和数据文件:
表空间是数据库的逻辑组成部分。从物理上讲,数据库数据存放在数据文件中;从逻辑上讲,数据库则是存放在表空间中,表空间由一个或者多个数据文件组成。
逻辑结构
    表空间----段---区-----块
    数据库一定由表空间组成,一个或者多个。
(1)控制数据库占用的磁盘空间
(2)dba可以将不同数据类型部署到不同的位置,这样有利于提高I/O性能,同时利用备份和恢复等管理操作。(i/o减少,性能就提高)
建立表空间:特权用户或者dba来完成
create tablespace data01 datafile 'd:\test\data01.dbf' size 20m uniform size 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)  当建立表空间时,表空间可以读写,如果不希望在该表空间上执行各种操作语句,那么就修改为只读。
  alter tablespace 表空间名 read only/read write;
查询某个表属于哪个表空间
 select tablespace_name ,table_name from user_tables where table_name='EMP';
删除表空间(特权用户或者dba来操作)
drop tablespace '表空间' including contents and datafiles;
扩展表空间
案例:
 1,建立一个表空间  sp001
SQL> create tablespace sp001 datafile 'd:\data01.dbf' size 1m uniform size 128k;                                                                                     
 2.在该表空间上建立一个普通表mysql 其结构和dept一样
  
create table mypart(deptno number(4),dname varchar2(14),loc varchar2(13) )  tablespace sp001;
或者:create table mypart as select *from dept
 3.向该表中加入数据insert into select *from mypart;
 
 4.直到增加不了:
 
 增加数据文件:
  alter tablespace sp001 add datafile 'd:\data02.dbf'  size 1m;
故障的处理
  有时,如果你的数据文件所在的磁盘损坏,该数据文件将不能再使用,为了能重新使用,需要将这些文件副本移动到其他的磁盘,然后恢复
1)确定数据文件所在的表空间。
select tablespace_name from dba_data_files where  file_name='d:\data01.dbf';
2)脱机
 alter tablespace sp001 offline
3)移动
 host move d:\data01.dbf c:\sp001.dbf
4)alter tablespace  sp001 rename datafile  'd:\data1.dbf'  to 'c:\data1.dbf',逻辑指定表空间方向
5) alter tablespace sp001 online;

当然还有索引表空间、undo表空间、临时表空间、非标准块表空间了解即可,自己找资料

6.windows-oracle实战第六课 --数据管理的更多相关文章

  1. TensorFlow实战第六课(过拟合)

    本节讲的是机器学习中出现的过拟合(overfitting)现象,以及解决过拟合的一些方法. 机器学习模型的自负又表现在哪些方面呢. 这里是一些数据. 如果要你画一条线来描述这些数据, 大多数人都会这么 ...

  2. 【Linux探索之旅】第一部分第六课:Linux如何安装在虚拟机中

    内容简介 1.第一部分第六课:Linux如何安装在虚拟机中 2.第二部分第一课预告:终端Terminal,好戏上场 Linux如何安装在虚拟机中 虽然我们带大家一起在电脑的硬盘上安装了Ubuntu这个 ...

  3. NeHe OpenGL教程 第四十六课:全屏反走样

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  4. 【C语言探索之旅】 第二部分第六课:创建你自己的变量类型

    内容简介 1.课程大纲 2.第二部分第六课: 创建你自己的变量类型 3.第二部分第七课预告:   文件读写 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C ...

  5. 【C语言探索之旅】 第一部分第六课:条件表达式

    内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  6. Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击

    Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第十六课-拒绝服务攻击................... ...

  7. kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap

    Kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap 文/玄魂 目录 Kali Linux Web 渗透测试视频教程— 第六课 网络扫描-nmap与zmap. 1 N ...

  8. NeHe OpenGL教程 第三十六课:从渲染到纹理

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

  9. NeHe OpenGL教程 第二十六课:反射

    转自[翻译]NeHe OpenGL 教程 前言 声明,此 NeHe OpenGL教程系列文章由51博客yarin翻译(2010-08-19),本博客为转载并稍加整理与修改.对NeHe的OpenGL管线 ...

随机推荐

  1. MFC消息映射及消息处理函数原型

    MFC把消息主要分为三大类: 1. 标准Windows消息(WM_XXX) 2. 命令消息(WM_COMMAND):凡由UI对象产生的消息都是这种命令消息,可能来自菜单或加速键或工具栏按钮. 3. 控 ...

  2. 洛谷 P5146 最大差值

    题目传送门 好水的题... AC代码: #include<iostream> #include<cstdio> using namespace std; ,a,ans = -; ...

  3. PHP二维数组--去除指定列含有重复项的数组

    给定二维数组: $arr = array( '0' => array('张三',2,3,4), '1' => array('李四',2,3,4), '2' => array('张三' ...

  4. 15. react UI组件和容器组件的拆分 及 无状态组件

    1.组件的拆分 组件拆分的前提 当所有的逻辑都出现在一个组件内时 组件会变得非常复杂 不便与代码的维护 所以对组件进行拆分 IU组件 进行页面渲染 容器组件  进行逻辑操作 UI组件的拆分 新建一个 ...

  5. 高质量Contrast Essay写作的结构分享

    很多留学生对于Contrast Essay写作不是很了解,拿不到高分也是常有的事,那么大家要如何彻底掌握Contrast Essay写作呢?今天小编就给同学们分享Contrast Essay写作的结构 ...

  6. arm 裸机学习笔记

    位置无关码 bl 是位置无关码,指令中带的数值是,编译的时候,编译器计算好的,需要跳转的位置减去 bl 指令所在位置的结果.这样当程序最开始在 4k sram 中运行的时候,跳转的位置是在 0 + o ...

  7. mini2440 裸机程序,下载到nand 里面,复制到 sdram 中不运行

    按照韦东山的视频中 sdram的裸机代码,写了一份,通过 minitools 下载到 0x30000000,然后烧录到 nand中,接过不能正常运行. 尝试过多种方法后,只有一种解决方法,就是不要用 ...

  8. Oracle 查询重复数据方法

    查询某个字段存在重复数据的方法: select * from tablename where id in (select id from tablename group by id having co ...

  9. select * 和select 1 以及 select count(*) 和select count(1)的区别

    select 1 和select * select * from 表:查询出表中所有数据,性能比较差: select 常量 from 表:查询出结果是所有记录数的常量,性能比较高: selelct 常 ...

  10. 强大的代码生成器——T4模板

    T4 Editor工具下载地址 tangible T4 Editor 2.5.0 plus modeling tools for VS 2019 https://marketplace.visuals ...