Oracle表空间占满,导致无法导出expdp,导入impdp错误。
[
|
2007/05/15 10:47]
|
2007/05/15 10:47]
当用expdp导出报的错误,后果是,无法导出。
[oracle@orathiz dump]$ expdp shccb/shccb directory=dump_dir dumpfile=temp.dmp schemas=shccb
Export: Release 10.2.0.1.0 - 64bit Production on 星期二, 15 5月, 2007 10:37:34
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORA-31626: 作业不存在
ORA-31633: 无法创建主表 "SHCCB.SYS_EXPORT_SCHEMA_07"
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.KUPV$FT", line 863
ORA-01658: 无法为表空间 GLF2DATA 中的段创建 INITIAL 区
经查:是由于表空间无法自动扩展,并且已经占满。如下,自动扩展关闭状态
CREATE TABLESPACE GLF2DATA DATAFILE
'/datas/apps/oracle/oradata/orathiz/GLF2DATA.dbf' SIZE 100M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
解决方法:
1:直接扩大表空间变成200M
ALTER DATABASE DATAFILE '/datas/apps/oracle/oradata/orathiz/GLF2DATA.dbf' RESIZE 200M;
2:表空间可以自动扩展,每次增容尺寸为50M,最大扩到1G
ALTER DATABASE DATAFILE '/datas/apps/oracle/oradata/orathiz/GLF2DATA.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE 1G;
由于有几个用户同用这个表空间,故而,直接增大这个表空间了。
[oracle@orathiz dump]$ expdp shccb/shccb directory=dump_dir dumpfile=temp.dmp schemas=shccb
Export: Release 10.2.0.1.0 - 64bit Production on 星期二, 15 5月, 2007 10:37:34
Copyright (c) 2003, 2005, Oracle. All rights reserved.
连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
ORA-31626: 作业不存在
ORA-31633: 无法创建主表 "SHCCB.SYS_EXPORT_SCHEMA_07"
ORA-06512: 在 "SYS.DBMS_SYS_ERROR", line 95
ORA-06512: 在 "SYS.KUPV$FT", line 863
ORA-01658: 无法为表空间 GLF2DATA 中的段创建 INITIAL 区
经查:是由于表空间无法自动扩展,并且已经占满。如下,自动扩展关闭状态
CREATE TABLESPACE GLF2DATA DATAFILE
'/datas/apps/oracle/oradata/orathiz/GLF2DATA.dbf' SIZE 100M AUTOEXTEND OFF
LOGGING
ONLINE
PERMANENT
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
BLOCKSIZE 8K
SEGMENT SPACE MANAGEMENT AUTO
FLASHBACK ON;
解决方法:
1:直接扩大表空间变成200M
ALTER DATABASE DATAFILE '/datas/apps/oracle/oradata/orathiz/GLF2DATA.dbf' RESIZE 200M;
2:表空间可以自动扩展,每次增容尺寸为50M,最大扩到1G
ALTER DATABASE DATAFILE '/datas/apps/oracle/oradata/orathiz/GLF2DATA.dbf' AUTOEXTEND ON NEXT 50M MAXSIZE 1G;
由于有几个用户同用这个表空间,故而,直接增大这个表空间了。
Oracle的数据泵方式导出,导入。
[
|
2007/05/14 17:50]
|
2007/05/14 17:50]
expdp和impdp最大的好处就是解决了对象schema在导出的过程中,关于默认表空间的转移问题。
否则exp和imp的处理都过于麻烦。
1:导出 (以对象schmea方式)
expdp expuser/exppasswd directory=dump_dir dumpfile=backupname.dmp schemas=expuser
2:导入(以对象schmea方式)
impdp impuser/impasswd directory=dump_dir dumpfile=backupname.dmp REMAP_SCHEMA=expuser:impuser REMAP_TABLESPACE=expts:impts
否则exp和imp的处理都过于麻烦。
1:导出 (以对象schmea方式)
expdp expuser/exppasswd directory=dump_dir dumpfile=backupname.dmp schemas=expuser
2:导入(以对象schmea方式)
impdp impuser/impasswd directory=dump_dir dumpfile=backupname.dmp REMAP_SCHEMA=expuser:impuser REMAP_TABLESPACE=expts:impts
Oracle管理-添加用户,修改密码
[
|
2007/05/14 17:32]
|
2007/05/14 17:32]
如果你想添加一个对象(schema),我的理解,相当于mysql里面创建数据库的概念。
Oracle里面就需要如下操作
一:创建表空间,临时表空间
CREATE SMALLFILE TABLESPACE "TESTDATA" DATAFILE '/datas/apps/oracle/oradata/orathiz/testdata.dbf' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE
MANAGEMENT AUTO ;
CREATE SMALLFILE TEMPORARY TABLESPACE "TESTTEMP" TEMPFILE '/datas/apps/oracle/oradata/orathiz/testtemp.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
二:添加用户(随着用户的创建,自动产生与用户同名的schema)
CREATE USER "TESTER" PROFILE "DEFAULT" IDENTIFIED BY "TESTER" DEFAULT TABLESPACE "TESTDATA" TEMPORARY TABLESPACE "TESTTEMP" ACCOUNT UNLOCK;
三:赋权(说实话,这些权限是开发中使用的权限,如果用户生产环境,请自行对于用户创建相应的系统权限)
据说生产环境下,只是connect resource这样的角色就可以了。
GRANT "CONNECT" TO "TESTER";
GRANT "RESOURCE" TO "TESTER";
GRANT "DBA" TO "TESTER";
GRANT "EXP_FULL_DATABASE" TO "TESTER";
GRANT "IMP_FULL_DATABASE" TO "TESTER";
四:用户修改密码,解锁
ALTER USER "SCOTT" IDENTIFIED BY "*******"
ALTER USER "SCOTT" ACCOUNT UNLOCK
Oracle里面就需要如下操作
一:创建表空间,临时表空间
CREATE SMALLFILE TABLESPACE "TESTDATA" DATAFILE '/datas/apps/oracle/oradata/orathiz/testdata.dbf' SIZE 100M LOGGING EXTENT MANAGEMENT LOCAL SEGMENT SPACE
MANAGEMENT AUTO ;
CREATE SMALLFILE TEMPORARY TABLESPACE "TESTTEMP" TEMPFILE '/datas/apps/oracle/oradata/orathiz/testtemp.dbf' SIZE 100M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M;
二:添加用户(随着用户的创建,自动产生与用户同名的schema)
CREATE USER "TESTER" PROFILE "DEFAULT" IDENTIFIED BY "TESTER" DEFAULT TABLESPACE "TESTDATA" TEMPORARY TABLESPACE "TESTTEMP" ACCOUNT UNLOCK;
三:赋权(说实话,这些权限是开发中使用的权限,如果用户生产环境,请自行对于用户创建相应的系统权限)
据说生产环境下,只是connect resource这样的角色就可以了。
GRANT "CONNECT" TO "TESTER";
GRANT "RESOURCE" TO "TESTER";
GRANT "DBA" TO "TESTER";
GRANT "EXP_FULL_DATABASE" TO "TESTER";
GRANT "IMP_FULL_DATABASE" TO "TESTER";
四:用户修改密码,解锁
ALTER USER "SCOTT" IDENTIFIED BY "*******"
ALTER USER "SCOTT" ACCOUNT UNLOCK




