db_test

数据库表空间整理
(数据导入方法)
刘凯 20101115

经现网查看,现网数据库表空间已全部更换
现网表空间:
TBS_MREAD_HISDAT
TBS_MREAD_HISLOG
TBS_MREAD_DAT
TBS_MREAD_IDX

本地环境表空间:
manager
mread
mread_data
idx
MREAD_HISLOG
MREAD_HISDAT

如今要与现网一致:
manager
mread TBS_MREAD_DAT
mread_data

idx TBS_MREAD_IDX

MREAD_HISLOG TBS_MREAD_HISLOG

MREAD_HISDAT TBS_MREAD_HISDAT

操作步骤:
sys用户dba权限登录数据库
1.备份数据库:
expdp manager/manager dumpfile=***.dump directory=impdir
2.备份成功后,删除用户
drop user manager cascade;
3.删除原来表空间
drop tablespace xxx including contents and datafiles;
4.创建新的表空间
CREATE TABLESPACE TBS_MREAD_DAT DATAFILE '/opt/oracle/oradata/TBS_MREAD_DAT.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE TBS_MREAD_IDX DATAFILE '/opt/oracle/oradata/TBS_MREAD_IDX.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE TBS_MREAD_HISLOG DATAFILE '/opt/oracle/oradata/ TBS_MREAD_HISLOG.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
CREATE TABLESPACE TBS_MREAD_HISDAT DATAFILE '/opt/oracle/oradata/ TBS_MREAD_HISDAT.dbf' SIZE 500M REUSE AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL;
5.新建用户
create user manager identified by manager default tablespace TBS_MREAD_DAT temporary tablespace temp;
6.给新用户赋权限
grant connect,resource,create public database link,drop public database link to manager;
GRANT UNLIMITED TABLESPACE TO manager WITH ADMIN OPTION;
GRANT SELECT ANY TABLE TO manager WITH ADMIN OPTION;
GRANT CREATE ANY TABLE TO manager WITH ADMIN OPTION;
GRANT ALTER ANY TABLE TO manager WITH ADMIN OPTION;
GRANT DROP ANY TABLE TO manager WITH ADMIN OPTION;
GRANT CREATE ANY view TO manager WITH ADMIN OPTION;
GRANT DROP ANY view TO manager WITH ADMIN OPTION;
grant sysdba to manager;
grant unlimited tablespace to manager with admin option;

7.赋予读取备份文件权限----备份文件“***.dump”在/opt/oracle/expdir目录下
create or replace directory expdir as '/opt/oracle/expdir';
grant read,write on directory expdir to manager;
8.导入备份的数据库文件
impdp manager/manager DIRECTORY=expdir DUMPFILE=***.dump remap_schema=
iread49:manager transform=oid:n remap_tablespace=MANAGER:TBS_MREAD_DAT,MREAD_DATA:
TBS_MREAD_DAT,idx:TBS_MREAD_idx,MREAD:TBS_MREAD_DAT,MREAD_HISDAT:TBS_MREAD_HISDAT,MREAD_HISLOG:TBS_MREAD_HISLOG
说明:DIRECTORY:导入文件的存放目录值为7步中的目录权限名
DUMPFILE:导入文件的文件名
remap_schema:指导导入用户转换,值“导出用户的用户名:导入用户的用户名”
remap_tablespace:表空间转换,值“导出是表存在的表空间:导入后导入的表空间”
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
用sql语句完成下面任务:(一)备份 创建数据库db_test1、db_test2。 1.备份数据库db_school中的tbl_student、tbl_course、tbl_score。 2.备份数据库db_school中的所有表。 3.备份数据库db_school、db_test1。 4.备份所有数据库。 (二)还原 1.删除数据库db_school中的tbl_student、tbl_course、tbl_score,用任务五的备份文件恢复数据表tbl_student、tbl_course、tbl_score。 2.删除数据库db_school中的所有表,用任务五的备份文件恢复数据表。 3.删除数据库db_school,用任务五的备份文件恢复数据库db_school。 4.删除数据库db_school、db_test1,用任务五的备份文件恢复数据库。 5.删除数据库db_school、db_test1、db_test2,用任务五的备份文件恢复数据库。 (三)数据导出和导入 1.导出数据库db_school中tbl_student表的数据到student.txt。 2.将tbl_student中数据清空,将student.txt中数据导入数据表tbl_student。 (四)进销存数据库中的备份和还原 (1)备份数据库db_inventory中的销售表(tbl_sell)和进货表(tbl_stock)。 (2)创建数据库test1和test2,备份数据库db_inventory和test1。 (3)备份所有数据库。 (4)删除db_inventory中的销售表和进货表,用(1)中备份文件进行还原。 (5)删除db_inventory和test1,用(2)中备份文件进行还原。 (6)删除所有数据库,用(3)备份文件进行恢复。 (7)导出数据库db_inventory中销售表的数据到sell.txt文件。 (8)删除销售表中的数据,将sell.txt文件导入销售表。
05-30
(一)备份: 1.备份数据库db_school中的tbl_student、tbl_course、tbl_score: ``` mysqldump -u root -p db_school tbl_student tbl_course tbl_score > db_school_backup.sql ``` 2.备份数据库db_school中的所有表: ``` mysqldump -u root -p db_school --all-tables > db_school_all_tables_backup.sql ``` 3.备份数据库db_school、db_test1: ``` mysqldump -u root -p --databases db_school db_test1 > db_school_test1_backup.sql ``` 4.备份所有数据库: ``` mysqldump -u root -p --all-databases > all_databases_backup.sql ``` (二)还原: 1.删除数据库db_school中的tbl_student、tbl_course、tbl_score,用任务五的备份文件恢复数据表tbl_student、tbl_course、tbl_score: ``` DROP TABLE db_school.tbl_student; DROP TABLE db_school.tbl_course; DROP TABLE db_school.tbl_score; mysql -u root -p db_school < db_school_backup.sql ``` 2.删除数据库db_school中的所有表,用任务五的备份文件恢复数据表: ``` DROP DATABASE db_school; CREATE DATABASE db_school; mysql -u root -p db_school < db_school_all_tables_backup.sql ``` 3.删除数据库db_school,用任务五的备份文件恢复数据库db_school: ``` DROP DATABASE db_school; mysql -u root -p < db_school_backup.sql ``` 4.删除数据库db_school、db_test1,用任务五的备份文件进行还原: ``` DROP DATABASE db_school; DROP DATABASE db_test1; mysql -u root -p < db_school_test1_backup.sql ``` 5.删除数据库db_school、db_test1、db_test2,用任务五的备份文件进行还原: ``` DROP DATABASE db_school; DROP DATABASE db_test1; DROP DATABASE db_test2; mysql -u root -p < all_databases_backup.sql ``` (三)数据导出和导入: 1.导出数据库db_school中tbl_student表的数据到student.txt: ``` SELECT * FROM db_school.tbl_student INTO OUTFILE 'student.txt'; ``` 2.将tbl_student中数据清空,将student.txt中数据导入数据表tbl_student: ``` TRUNCATE TABLE db_school.tbl_student; LOAD DATA INFILE 'student.txt' INTO TABLE db_school.tbl_student; ``` (四)进销存数据库中的备份和还原: 1.备份数据库db_inventory中的销售表(tbl_sell)和进货表(tbl_stock): ``` mysqldump -u root -p db_inventory tbl_sell tbl_stock > db_inventory_backup.sql ``` 2.创建数据库test1和test2,备份数据库db_inventory和test1: ``` CREATE DATABASE test1; CREATE DATABASE test2; mysqldump -u root -p --databases db_inventory test1 > db_inventory_test1_backup.sql ``` 3.备份所有数据库: ``` mysqldump -u root -p --all-databases > all_databases_backup.sql ``` 4.删除db_inventory中的销售表和进货表,用(1)中备份文件进行还原: ``` DROP TABLE db_inventory.tbl_sell; DROP TABLE db_inventory.tbl_stock; mysql -u root -p db_inventory < db_inventory_backup.sql ``` 5.删除db_inventory和test1,用(2)中备份文件进行还原: ``` DROP DATABASE db_inventory; DROP DATABASE test1; mysql -u root -p < db_inventory_test1_backup.sql ``` 6.删除所有数据库,用(3)备份文件进行恢复: ``` mysql -u root -p < all_databases_backup.sql ``` 7.导出数据库db_inventory中销售表的数据到sell.txt文件: ``` SELECT * FROM db_inventory.tbl_sell INTO OUTFILE 'sell.txt'; ``` 8.删除销售表中的数据,将sell.txt文件导入销售表: ``` TRUNCATE TABLE db_inventory.tbl_sell; LOAD DATA INFILE 'sell.txt' INTO TABLE db_inventory.tbl_sell; ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值