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; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |