设为首页 收藏本站
查看: 922|回复: 0

[经验分享] 韩顺平oracle视频笔记五

[复制链接]

尚未签到

发表于 2016-7-23 11:51:20 | 显示全部楼层 |阅读模式
  sys——包含基表,动态视图,由数据库自己管理,任何人都不能修改。拥有dba,sysdba,sysoper角色(数据库管理员、系统管理员、系统操作员),sys必须以sysdba或者是sysoper登陆,不能使用normal方式登录。
sysdba的权限最高
sysoper不能创建数据库,不能改变字符集,不能删除数据库,不能查看用户数据
dba不能启动和停止数据库
conn system/admin;这种方式登录时以dba角色登陆,是一个普通用户
conn system/admin as sysdba;这种是以sysdba角色登陆
  shutdown
startup
  掌握备份和恢复数据库数据的方法
导出(exp)分为三种——导出表,导出方案,导出数据库
1、进入oracle安装目的的bin文件夹下面
2、里面有一个exp.exe工具
3、使用命令cmd,然后在DOS窗口输入如下命令
导出单表
exp userid=scott/admin@orcl tables=(emp) file=c:\emp.sql
导出多表
exp userid=scott/admin@orcl tables=(emp,dept) file=c:\emp.sql
导出别人的表
exp userid=system/admin@orcl tables=(scott.emp,scott.dept) file=c:\emp.sql
导出表的结构
exp userid=scott/admin@orcl tables=(emp) file=c:\emp3.sql rows=n
使用直接导出方式(速度比较快,针对大表)
exp userid=scott/admin@orcl tables=(emp) file=c:\emp.sql direct=y
  
导出方案(用户名创建的空间)
导出自己的方案
exp userid=scott/admin@orcl owner=(scott) file=c:\emp.sql
导出别人的方案
exp userid=system/admin@orcl owner=(system,scott) file=c:\emp.sql
  导出数据库(一个数据库中有多个用户,因此包含多个方案,一个用户可以包含多个表,因此方案中包含多个表)
导出数据库需要用户具有dba或者是exp_full_database权限
exp userid=system/admin@orcl full=y inctype=complete file=c:\database_hb.temp
  
导入要使用import工具
imp userid=scott/admin@orcl table=(emp) file=c:\hb.tmp
  imp userid=system/admin@orcl table=(scott.emp) file=c:\hb.tmp
  导入自身方案
imp userid=scott/admin file=c:\temp.sql
导入其它方案(需要有dba的权限)
imp userid=system/admin file=c:\temp.sql fromuser=system touser=scott
  导入数据库
imp userid=system/admin full=y file=c:\temp.sql
  
  
  什么是数据字典
数据字典是oracle数据中最重要的组成部分,他提供了数据库的一些系统信息(静态),它是只读表和视图的集合,数据字典的所有者为sys用户,用户只能在数据字典中执行查询操作,修改和维护时由系统自动完成的
  数据字典包含基表和数据字典视图,基表存放数据库的基本信息,普通用户不能直接访问数据库字典的基表,数据字典的视图基于数据字典基表所建立的视图,普通用户可以通过查询数据字典视图取得系统的信息,
  数据字典视图主要包括----user_xxx,all_xxx,dba_xxx三种类型
  查询当前用户所拥有的表?
select table_name from user_tables;
user_tables代表当前用户所拥有的表
table_name指的是表明
  查询当前用户可以访问的表数?(一般比上面的要大)
select table_name from all_tables;
all_tables表示当前用户可以访问的所有表
  查看所有方案所拥有的数据库表?(这里需要dba的角色,范围最大)
select table_name from dba_tables;
dba_tables显示所有方案拥有的数据库表
  在建立用户的时候,Oracle会把用户的信息存放到数据库字典中,当授予权限或者是角色时,Oracle会将权限和角色的信息存放到数据字典中
  查询方案(数据库)中所有用户的信息(可以查询用户的密码,但是密码已经加密了)
select * from dba_users;
  dba_sys_privs可以显示用户所具有的系统权限
dba_tab_privs显示用户具有的对象权限
dba_col_privs显示用户具有的列权限
dba_role_privs显示用户所具有的角色
  查询scott所拥有的角色?
select * from dba_role_privs where grantee='SCOTT';
  权限分为——对象权限(数据对象而言),系统权限(数据库而言)
1、查询oracle中所有系统的权限
select * from system_privilege_map order by name;
2、查询oracle中所有对象的权限,一般是dba
select distinct privilege from dba_tab_privs;
如何查询一个角色包含的权限?(包含的系统和对象权限)
----查看某个角色包括哪些系统权限
select * from dba_sys_privs where grantee='DBA';
select * from dba_sys_privs where grantee='CONNECT';
另外也可以这样查看:
select * from role_sys_privs where role='DBA';
----一个角色包含的对象权限
select * from dba_tab_privs where grantee='角色名';
备注,where后面的条件语句是区分大小写的,即dba和DBA查询的结果是不一样的
  Oracle究竟有多少种角色?
select * from dba_roles;
  如何查看用户包含哪些角色?
select * from dba_role_privs where grantee='用户名';
select * from dba_role_privs where grantee='SCOTT';
  显示当前数据库的全称?
select * from global_name;
显示当前用户可以访问的所有数据字典?
select * from dict where comments like '%grant%';
  动态性能视图记载了例程启动后的相关信息(动态)
当系统启动的时候就会建立动态性视图,当停止的时候就会删除动态性视图,Oracle的所有动态性视图都是以v_$开始的
  
表空间和数据文件
表空间是数据库的逻辑组成部分,从物理上讲数据库是存放在数据文件中,从逻辑上讲,数据库则是存放在表空间中,表空间由一个或者是多个数据文件组成
  数据库由“表空间”构成,表空间由“段”构成,段由“块”构成,块由“区”构成
  建立表空间(由dba或者是特权用户,用户必须有create tablespace的系统权限)
create tablespace
  建立数据表空间
create tablespace data01 datafile 'd:\test\data01.dbf' size 20m uniform size 128k
创建一个data01的表空间,文件是d:\test\data01.dbf,文件大小为20m(最大不能超过500M),块的大小为128k
  SQL> create tablespace tsp01 datafile 'c:\data01.dbf' size 20m uniform size 128k;
  create table huangbiao(id number,name varchar2(20)) tablespace tsp01;
  上面操作成功之后可以在PLSQL工具中能够查看到结果
使表空间脱机
alter tablespace sp01 offline;
使表空间联机
alter tablespace sp01 online;
只读表空间
alter tablespace sp01 read only;
alter tablespace sp01 read write;
  查询表空间名下的所有表名字
select * from all_tables where tablespace_name='表空间名'
知道名字,查看表属于哪个表空间
select tablespace_name,table_name from user_tables where table_name='HUANGBIAO';
备注:table_name后面的值是大写,如果写小写是查不到数据的
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-248227-1-1.html 上篇帖子: oracle 查询分析器的使用 下篇帖子: 韩顺平oracle视频笔记六
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表