Oracle日常巡检维护中常用的一些STUFF

前端之家收集整理的这篇文章主要介绍了Oracle日常巡检维护中常用的一些STUFF前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

Oracle数据库中表的导入导出操作:

以Windows下的数据库为例(用cmd方式):

导出表:

1.导出整个数据库

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' full=y

2.导出单表或多表

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' tables=t1[(t1,t2,t3)]

3.导出数据库中一个或多个用户下的表

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' owner=(system,sys)

4.将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp 导表的用户名/密码@实例名 file='E:\xxx.dmp' tables=(table1) query=\" where filed1 like '00%'\"

------------------------------------------

导入表:

将E:\xxx.dmp 中的数据导入某数据库中。

imp 导表的用户名/密码@实例名 file=e:\xxx.dmp

imp 导表的用户名/密码@实例名 full=y file=e:\xxx.dmp ignore=y

在后面加上 ignore=y 忽略导入的报错,直接导入。

2 将e:\xxx.dmp中的表table1 导入

imp 导表的用户名/密码@实例名 file=e:\xxx.dmp tables=(table1)

----------------------------

Linux的话直接exp,imp根据提示操作,效果也是一样的。如果通过语句,可以现在emedit上写好直接复制黏贴即可。

---------------------------

数据库中查看版本:

select * from v$version;

Linux下查看ORACLE版本信息:

file $ORACLE_HOME/bin/oracle

-------------------------

数据库服务器查看字符集:

select * from nls_database_parameters;

其中NLS_CHARACTERSET下面的就是该数据库服务器的字符集

-------------------------

查看表空间xxx使用情况:(需sysdba权限):

select /*+ ordered use_merge(a,b) */

a.tablespace_name 表空间名,

total/(1024*1024) 表空间大小,

(total-free)/(1024*1024) 表空间使用大小,

free/(1024*1024) 表空间剩余大小,

round((total-free)/total,4)*100 "使用率%"

from (select tablespace_name,sum(bytes) free from dba_free_space

group by tablespace_name) a,

(select tablespace_name,sum(bytes) total from dba_data_files

group by tablespace_name) b

where a.tablespace_name = b.tablespace_name

and a.tablespace_name = 'xxx';

-------------------------

查看当前用户下的表空间:(非sysdba)

select

a.bytes/1024/1024 "used(MB)",

b.bytes/1024/1024 "free(MB)",

a.bytes/1024/1024+b.bytes/1024/1024 "total(MB)"

from user_ts_quotas a,user_free_space b

where a.TABLESPACE_NAME=b.TABLESPACE_NAME and a.TABLESPACE_NAME='XXX';

-------------------------

查看当前角色XXX所具有的权限:

select * from dba_sys_privs where grantee='XXX';

-------------------------

查看用户为XXX的表空间配额。(-1为不受限制)

select tablespace_name,username,max_bytes from DBA_TS_QUOTAS where username='XXX';

-------------------------

设定用户mc的表空间配额限为100M:

alter user mc quota 100M on tablespacname;

-------------------------

设定用户mc的表空间配额为无限制:

alter user mc quota unlimited on tablespacname;

-------------------------

赋予用户mc配置表空间无限额的权限:

grant unlimited tablespace to mc;

-------------------------

查看当前数据库的实例名:

select instance_name from v$instance;

-------------------------

修改用户表空间和临时表空间:

ALTER USER SCOTT DEFAULT TABLESPACE USERS;

ALTER USER SCOTT TEMPORARY TABLESPACE TEMP;

-------------------------

查看当前用户缺省的表空间:

select username,default_tablespace from user_users;

猜你在找的Oracle相关文章