oracle数据库常用命令的整理

时间:2022-11-01 08:38:05
  导出表

导出自己的表:
exp  scott/tiger tables=(emp) file=d:\emp.dmp

导出其它方案的表
exp  system/system tables=(scott.emp) file=d:\emp2.dmp

导出表结构
exp  scott/tiger tables=(emp) file=d:\emp.dmp rows=n


使用直接导出方式
exp  scott/tiger tables=(emp) file=d:\emp.dmp direct=y

导出多个方案
exp  system/system owner=(system,scott) file=d:\system.dmp

导出数据库
exp system/system full=y inctype=complete file=d:\x.dmp

查询显示用户所有的系统权限
select * from dba_sys_privs;

查询显示用户具有的对象权限
select * from dba_tab_privs;

查询显示用户具有的列权限
select * from dba_col_privs;

查询显示用户所具有的角色
select * from dba_role_privs;

查询oracle中所有的系统权限,一般是dba
select * from system_privilege_map order by name;

查询oracle中所有的角色,一般是dba
select * from dba_roles;

查询oracle中所有的对象权限,一般是dba
select distinct privilege from dba_tab_privs;

查询数据库的表空间
select tablespace_name from dba_tablespaces;

查看某个角色包括哪些系统权限
select * from dba_sys_privs where grantee='角色名';
或者select * from role_sys_privs where role='角色名';

查看某个角色包括的对象权限
select * from dba_tab_privs where grantee='角色名';

查看某个用户具有什么样的角色
select * from dba_role_privs where grantee='用户名';

显示当前用户可以访问的所有数据字典视图
select * from dict where comments like '%grant%'

显示当前数据库的全称
select * from global_name;

EXP-00091 正在导出有问题的统计信息 问题的解决
exp 命令后加上statistics=none

建立表空间
create tablespace 表空间名字 datafile 'd:\glorin.dbf' size 20m uniform size 128k

使表空间脱机
alter tablespace 表空间名 offline;

使表空间联机
alter tablespace 表空间名 online;

使表空间只读
alter tablespace 表空间名 read only;

知道表空间名,查看该表空间名包括的所有表
select * from all_tables where tablespace_name='表空间名';

知道表名,查看该表属于哪个表空间
select tablespace_name,table_name from user_tables where table_name='emp';

删除表空间
drop tablespace '表空间'including contents and datafiles;

扩展表空间
1)增加数据文件
alter tablespace 表空间名 add datafile='d:\test\sp01.dbf' size 20m

2)增减数据文件的大小
alter database datafile 'd:\test\sp01.dbf' resize 20m;

3)设置文件的自动增长
alter database datafile 'd:\test\sp01.dbf' autoextend on next 10m maxsize 500m;