天易11----韩顺平oracle视频讲解部分总结(04)

系统函数:sys_context

terminal:当前会话客户所对应的终端的标示符

language:语言

db_name:当前数据库名称

nls_date_formal:当前会话客户所对应的日期格式

session_user:当前会话客户所对应的数据库用户名

current_schema:当前会话客户所对应的默认方案名

 host:返回数据库所在主机的名称

通过该函数,可以查询一些重要信息,比如你在使用哪个数据库:

Select sys_context(‘userenv’,’db_name’)from dual;(userenv固定格式)

 

 

 

连接sys数据库的方法:

Connsys/change_on_install as sysdba;

启动数据库:startup

关闭数据库:shutdown

 

 

管理初始化参数:

初始化参数用于设置实例或是数据库的特征,oracle9i提供了200多个初始化参数,并且每个初始化参数都有默认值。

 

显示初始化参数

show parameter命令

   如果想修改这些初始化参数,可以到文件:

   D:\oracle\admin\myoral\pfile\init.ora文件中去修改

 

  导出:

  导出具体分为:导出方案,导出表,导出数据库三种方式

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

  Userid:用于指定执行导出操作的用户名,口令,链接字符串

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

  Owner:用于指定执行导出操作的方案

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

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

  File:用于指定导出文件名

 

 导出自己的表:(注意exp字母e的小写)

 expuserid=wangzihu/wangzihu@sjjz tables=(bbs,book) file=c:\mysql.dmp;(在导入和导出的时候,要到oracle目录的bin/exp.exe文件目录下进行导入和导出或用cmd命令)

(3)导出表的结构

 expuserid=wangzihu/wangzihu@sjjz tables=(bbs) file=d:\e3.dmp rows=n;

(4)使用直接导出方式

exp userid=wangzihu/wangzihu@sjjz tables=(bbs)file=d:\e3.dmpdirect=y;

这种方式比默认的常规方式速度要快,当数据量大时,可以考虑使用这样的方法

 

导出方案:

导出自己的方案(导出所有的对象,包括所有表,视图,触发器,存储过程等)

  expwangzihu/wangzihu@sjjz owner=wangzihu file=d:\wangzihu.dmp;

 

 

导入

导入表:

导入自己表

 Imp userid=wangzihu/wangzihu@sjjz tables=(bbs)file=d:\e3.dmp;

2)导入表到其它用户

要求该用户具有dba的权限,或是imp_full_database

Imp userid=system/manager@myortables=(emp) file=d:\xx.dmp;

3)导入表的结构

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

Imp userid=wangzihu/wangzihu@sjjztables=(bbs) file=d:\e3.dmp rows=n;

4)导入数据

如果对象(比如表)已经存在可以导入表的数据

Imp userid=wangzihu/wangzihu@sjjztables(bbs) file=d:\e3.dmp ignore=y;

 

 

导入方案:

导入自身的方案

Imp userid=wangzihu/wangzihufile=d:\wangzihu.dmp

   导入数据库:

   在默认情况下,当导入数据库时,会导入所有对象结构和数据,案例如下:

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

 

 

数据字典:数据字典是oracle数据库中最重要的组成部分,它提供了数据的一些系统信息。

动态性能视图记载了例程启动后的相关信息。

 

 

user_tables:

用于显示当前用户所拥有的所有表,它只返回用户所对应方案的所有表

比如:selecttable_name from user_tables;

 all_tables

用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表:

比如:selecttable_name from all_tables;

Dba_tables:

 它会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求

用户必须是dba角色或是select anytable系统权限。

例如:当用system用户查询数据字典视图dba.tables时,会返回systemsysscott…方案所对应的数据库表。

比如:selecttable_name from dba_tables;

 

 

用户,权限,角色

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

通过查询dba.users可以显示素有数据库用户的详细信息;

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

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

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

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

 

比如:1)selectusername from dba_users (username固定格式)

2)Select * from dba_role_privs whereGRANTEE='WANGZIHU';WANGZIHU注意大写)

查看oracle中所有角色:

Select * from dba_roles;

查询oracle中所有的系统权限,一般是dba

Select * from system_privilege_maporder by name;

 

查询oracle中所有对象权限,一般是dba

Select distinct privilege fromdba_tab_privs;

 

 

一个角色包含的系统权限

Select * from dba_sys_privs where grantee=’DBA’;

或者这样也可以

Select * from role_sys_privs where role=’DBA’;

一个角色包括的对象权限

Select * from dba_tab_privs where grantee=’DBA’;

 

如何查看某个用户具有什么样的角色?

Select * from dba_role_privs where grantee=’ WANGZIHU’;

 

 

显示当前用户可以访问的所有数据字典视图

Select * from dict where commentslike ‘%grant%’;

显示当前数据库的全称

Select * from global_name;

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值