Oracle的导入和导出相关的脚本和知识
2016-05-25 14:56:31 访问(1655) 赞(0) 踩(0)
-- cmd下面进入数据库 --
sqlplus eKvehicle/eKvehicle@IOT_10_21_129_15
-- cmd下面进入数据库(sysdba)
sqlplus sys/EasyLBS4eking@IOT_10_21_129_15 as sysdba
-- 管理员账号下面创建目录 --
create directory eKvehicle_Dir as 'D:\dbdata\dump';
-- 查看目录 --
select * from dba_directories;
-- 查看用户有的目录权限 --
-- 给目录权限给用户 --
grant read,write on directory eKvehicle_Dir to eKvehicle;
-- 删除用 revoke from --
-- 导出数据(按用户) --
expdp eKvehicle/eKvehicle@IOT_10_21_129_15 schemas=eKvehicle dumpfile=eKvehicleDB.dmp DIRECTORY=eKvehicle_Dir
-- 导出数据(按表空间) --
expdp eKvehicle/eKvehicle@IOT_10_21_129_15 DUMPFILE=EKVEHICLE_DB2.dmp TABLESPACES=EKVEHICLE_DATA DIRECTORY=eKvehicle_Dir
-- 给ekvTest授权目录 --
grant read,write on directory eKvehicle_Dir to ekvTest;
-- 导入数据(有错误:表空间没变) --
impdp ekvTest/ekvTest@IOT_10_21_129_15 DIRECTORY=eKvehicle_Dir DUMPFILE=EKVEHICLEDB.dmp REMAP_SCHEMA=eKvehicle:ekvTest
-- 给ekvTwoTest授权目录 --
grant read,write on directory eKvehicle_Dir to ekvTwoTest;
-- 后面移除权限的操作 --
revoke read,write on directory eKvehicle_Dir from ekvTwoTest;
-- 导入数据(有错误:表空间没变) --
impdp ekvTwoTest/ekvTwoTest@IOT_10_21_129_15 DIRECTORY=eKvehicle_Dir DUMPFILE=EKVEHICLE_DB2.dmp REMAP_SCHEMA=eKvehicle:ekvTwoTest TABLESPACES=EKVEHICLE_DATA
-- 给ekvThreeTest授权目录 --
grant read,write on directory eKvehicle_Dir to ekvThreeTest;
grant imp_full_database to ekvThreeTest
impdp ekvThreeTest/ekvThreeTest@IOT_10_21_129_15 DIRECTORY=eKvehicle_Dir DUMPFILE=EKVEHICLE_DB2.dmp TABLESPACES=EKVEHICLE_DATA REMAP_SCHEMA=eKvehicle:ekvThreeTest
-- remap_tablespace
-- 给ekvFourTest授权目录 --
grant read,write on directory eKvehicle_Dir to ekvFourTest;
-- 成功的导入 --
impdp ekvFourTest/ekvFourTest@IOT_10_21_129_15 DIRECTORY=eKvehicle_Dir DUMPFILE=EKVEHICLE_DB2.dmp TABLESPACES=EKVEHICLE_DATA REMAP_SCHEMA=eKvehicle:ekvFourTest remap_tablespace=EKVEHICLE_DATA:ekvFourTest_data
-- 查看oracle的用户(管理员)(表空间和临时表空间) --
select * from dba_users;
-- 查看当前的表空间(管理员) --
SELECT t.* ,
round(bytes / (1024 * 1024), 0) total_space
FROM dba_data_files t
ORDER BY t.tablespace_name;
-- 查看当前用户 --
show user
1.查看所有用户:
select * from dba_users;
select * from all_users;
select * from user_users;
-- 查看当前用户的权限 --
select * from user_sys_privs;
select * from role_sys_privs;
-- 查看指定用户的权限(EKVFOURTEST是用户名,全大写) --
select * from dba_sys_privs where grantee='EKVFOURTEST';
-- 查看当前用户下的所有表 --
select * from user_tables;
-- 查看用户的缺省表空间和临时表空间 --
select * from user_users;
增加表空间大小的四种方法
Meathod1:给表空间增加数据文件
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M;
Meathod2:新增数据文件,并且允许数据文件自动增长
ALTER TABLESPACE app_data ADD DATAFILE
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod3:允许已存在的数据文件自动增长
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
Meathod4:手工改变已存在数据文件的大小
ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'
RESIZE 100M;
删除表空间:
可以先将其offline
alter tablespace xx offline;
将磁盘上的数据文件一同删除
drop tablespace xxx including contents and datafiles;
删除用户:
drop user xxx;
如果用户的schema中有objects ,需要加cascade参数,即
drop user xxx cascade;
-- 删除用户 --
-- 删除用户表空间 --
-- 删除用户临时表空间 --
EKVTHREETEST
EKVTHREETEST_DATA
EKVTHREETEST_TEMP
-- 设置表空间 offline --
alter tablespace EKVTHREETEST_DATA offline;
-- 不能实现 --
alter TEMPORARY tablespace EKVTHREETEST_TEMP offline;
-- 删除表空间 --
drop tablespace EKVTHREETEST_DATA including contents and datafiles;
-- 删除临时表空间 --
drop tablespace EKVTHREETEST_TEMP including contents and datafiles;
-- 删除用户 --
drop user EKVTHREETEST cascade;
-- 查看当前用户的目录权限 --
select
d.directory_name dir_name,
d.directory_path dir_path,
p.privilege,
p.grantee,
p.grantor
from
dba_tab_privs p,
dba_directories d
where
p.table_name = d.directory_name and
p.grantee = 'EKVFOURTEST'
order by
d.directory_name,
p.privilege
标签:
Oracle的导入和导出相关的脚本和知识 


上一条:
下一条:
相关评论
发表评论