ORACLE常用几个DBA命令:
下面介绍的是导入导出的实例。
数据导出:
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中
?? exp system/manager@TEST file=d:\daochu.dmp full=y?? //full=y? 代表全部
2 将数据库中system用户与sys用户的表导出
?? exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)
3 将数据库中的表inner_notify、notify_staff_relat导出
??? exp aichannel/aichannel@TESTDB2? tables=(inner_notify,notify_staff_relat) file= d:datanewsmgnt.dmp ignore=y
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
?? exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。
也可以在上面命令后面 加上 compress=y 来实现。
数据的导入
1 将D:daochu.dmp 中的数据导入 TEST数据库中。
?? imp system/manager@TEST file=d:daochu.dmp
?? imp aichannel/aichannel@HUST full=y file=d:datanewsmgnt.dmp ignore=y
?? 上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
?? 在后面加上 ignore=y 就可以了。
2 将d:daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
??? 一,创建:
???
??? 创建临时表空间:
??? CREATE TEMPORARY TABLESPACE test_temp
??? TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf'
??? SIZE 32M
??? AUTOEXTEND ON
??? NEXT 32M MAXSIZE 2048M
??? EXTENT MANAGEMENT LOCAL;??? ???
???
??? 创建用户表空间:
??? CREATE TABLESPACE test_data
??? LOGGING
??? DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'
??? SIZE 32M
??? AUTOEXTEND ON
??? NEXT 32M MAXSIZE 2048M
??? EXTENT MANAGEMENT LOCAL;
???
??? 创建用户并制定表空间
??? CREATE USER username IDENTIFIED BY password
??? DEFAULT TABLESPACE TEST_DATA
??? TEMPORARY TABLESPACE TEST_TEMP;
???
??? 给用户授予权限:
??? GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO username;
???
??? 二,删除
??? 1,oracle删除用户
??? ??? drop user user_name cascade
??? 2.删除全部表空间
?
drop tablespace testdb INCLUDING CONTENTS;
drop tablespace testdb_index INCLUDING CONTENTS;
drop tablespace testdb_temp INCLUDING CONTENTS;
查看所有用户
SELECT * FROM DBA_USERS;
SELECT * FROM ALL_USERS;
SELECT * FROM USER_USERS;
查看用户系统权限
SELECT * FROM DBA_SYS_PRIVS;
SELECT * FROM USER_SYS_PRIVS;
查看用户对象或角色权限
SELECT * FROM DBA_TAB_PRIVS;
SELECT * FROM ALL_TAB_PRIVS;
SELECT * FROM USER_TAB_PRIVS;
查看所有角色
SELECT * FROM DBA_ROLES;
查看用户或角色所拥有的角色
SELECT * FROM DBA_ROLE_PRIVS;
SELECT * FROM USER_ROLE_PRIVS;