数据库管理员:

每个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. vs使用opencv总提示igdrclneo64.dll异常.exe: 0xC0000005:的解决方法

    最近项目中要使用opencv库,搭建好环境,使用接口的时候,总提示 igdrclneo64.dll报错崩溃,一直怀疑是自己程序的问题,后面经过一系列的查资料才解决 解决办法: 本地环境:vs2015+ ...

  2. 屏幕切换 onStart() onStop() onRestart() onDestroy()

    android:configChanges="orientation|keyboardHidden|screenSize"          //xml文件<activity ...

  3. 201903-1 小中大 Java

    思路: 中位数就是排序后中间的那个数.如果有偶数个数,就是中间两个数的平均值. 注意,这个平均值可能是整数,可能是小数,如果都是一样的处理,如果输出整数是3.0,而不是3,就有问题.所以需要分开处理. ...

  4. Spring Boot作为Spring Cloud基础设施

    spring cloud包含的核心特性: Distributed/versioned configuration(分布式配置) Service registration and discovery(服 ...

  5. Ubuntu 16.04 上安装 CUDA 9.0 详细教程

    https://blog.csdn.net/QLULIBIN/article/details/78714596 前言: 本篇文章是基于安装CUDA 9.0的经验写,CUDA9.0目前支持Ubuntu1 ...

  6. C++基础--重载、重写、隐藏

    1.重载(overload) 重载的概念是在同一作用域内,函数名相同,函数输入参数个数.数据类型不同,但是不能是函数名.参数个数.数据类型完全相同但返回值不同的情况.最直接的例子是常见的构造函数重载, ...

  7. 13. react 基础 redux 的基本介绍 及 用 antd 编写 TodoList 的样式

    1. redux 简述 当 store 内的 数据进行变更的时候  多个组件感知到 store 内的数据变化 将会被自动更新 2. redux 工作流 Store  代表数据存储 (例如: 图书馆管理 ...

  8. centos7.4 测试CPU压力--命令搞定

    直接输入命令CPU消耗增加: cat /dev/urandom | gzip - > /dev/null 停止: 直接Ctrl+c结束

  9. Linux中Tomcat 自动设置CATALINA_HOME方法

    Linux中Tomcat 自动设置CATALINA_HOME方法 在服务器部署中,我们经常会出现“在一个服务器上运行多个tomcat服务”的情况. 使用如下方法设置,可以无限复制平移扩展Tomcat, ...

  10. 18个Java8日期处理的实践,太有用了

    专注于Java领域优质技术,欢迎关注 作者:胖先森 Java 8 推出了全新的日期时间API,在教程中我们将通过一些简单的实例来学习如何使用新API. Java处理日期.日历和时间的方式一直为社区所诟 ...