三月 16th, 2012
ORACLE 数据库如何通过修改数据文件路径进行数据迁移已关闭评论, 数据库问题解决方案, by 小哥.
SQL>CONN /AS SYSDBA
SQL>CREATE PFILE=’C:\1.ORA’ FROM SPFILE;
SQL>SHUTDOWN IMMEDIATE;
SQL>STARTUP NOMOUNT PFILE=’C:\1.ORA’;
SQL>CREATE CONTROLFILE REUSE DATABASE “ETL” NORESETLOGS ARCHIVELOG
MAXLOGFILES 32
MAXLOGMEMBERS 3
MAXDATAFILES 32
MAXINSTANCES 16
MAXLOGHISTORY 1600
LOGFILE
GROUP 1 ‘C:\oracle\oradata\ETL\REDO01.LOG’ SIZE 50M,
GROUP 2 ‘C:\oracle\oradata\ETL\REDO02.LOG’ SIZE 50M,
GROUP 3 ‘C:\oracle\oradata\ETL\REDO03.LOG’ SIZE 50M
DATAFILE
‘C:\oracle\oradata\ETL\UNDOTBS01.DBF’,
‘C:\oracle\oradata\ETL\SYSTEM01.DBF’,
‘C:\oracle\oradata\ETL\SYSAUX01.DBF’,
‘C:\oracle\oradata\ETL\USERS01.DBF’,
‘D:\oradata\MBSJ.DBF’
CHARACTER SET ZHS16GBK;
SQL>ALTER DATABASE OPEN;
三月 6th, 2012
ORACLE 数据库备份恢复 exp和imp的使用方法已关闭评论, 数据库问题解决方案, by 小哥.
1、完全:
EXP SYSTEM/SYSTEM@ORCL FILE=C:\FULL.DMP LOG=C:\FULL.DMP.LOG FULL=Y BUFFER=819200
如果要执行完全导出,必须具有特殊的权限
2、用户模式:
EXP SONIC/SONIC@ORCL FILE=C:\SONIC.DMP LOG=C:\SONIC.DMP.LOG OWNER=SONIC BUFFER=819200
这样用户SONIC的所有对象被输出到文件中。
3、表模式:
EXP SONIC/SONIC@ORCL FILE=C:\SONIC.DMP LOG=C:\SONIC.DMP.LOG OWNER=SONIC BUFFER=819200 TABLES=(TABLE1,TABLE2,TABLE3)
这样用户SONIC的表SONIC就被导出 (more…)
三月 6th, 2012
ORACLE 数据库如何通过命令创建表空间已关闭评论, 数据库问题解决方案, by 小哥.
1.创建表空间无限制大小
create tablespace ETL
logging
datafile’/opt/oracle/oradata/etl/etl.dbf’
size 200M
autoextend on
next 200M
extent management local;
2.创建表空间限制大小
create tablespace ETL
logging
datafile’/opt/oracle/oradata/etl/etl.dbf’
size 200M
autoextend on
next 200M maxsize 2048M
extent management local;
3.创建临时表空间限制大小
create temporary tablespace etl_temp
tempfile ‘/opt/oracle/oradata/etl/etl_temp.dbf’
size 50M
autoextend on
next 50M maxsize 2048M
extent management local; (more…)
三月 5th, 2012
ORACLE 数据库 ora-00312 错误的解决方案已关闭评论, 数据库问题解决方案, by 小哥.
1、启动数据库,遇到ORA-00312 or ORA-00313错误,如:
ORA-00313: open failed for members of log group 4 of thread 1
ORA-00312: online log 3 thread 1: ‘/opt/oracle/oradata/ORCL/redo03.log’
从这里我们知道日志组1的数据文件损坏或丢失了
从报警文件可以看到更详细的信息
2、查看V$log视图:
SQL> select group#,sequence#,archived,status from v$log;
GROUP# SEQUENCE# ARC STATUS
———- ———- — —————-
1 54 YES INACTIVE
2 55 NO CURRENT
3 53 YES INACTIVE
可以知道,该组是非当前状态,而且已经归档。
3、用CLEAR命令重建该日志文件
SQL>alter database clear logfile group 3;
如果是该日志组还没有归档,则需要用
SQL>alter database clear unarchived logfile group 3;
4、打开数据库,重新备份数据库
SQL>alter database open;
5.数据库启动成功
三月 5th, 2012
ORALCE 数据库如何清除临时表空间已关闭评论, 数据库问题解决方案, by 小哥.
1.设置db_create_file_dest参数(oracle
OMF管理存储文件的路径)
alter system set db_create_file_dest=’/opt/oracle/oradata/orcl’;(本人数据库数据文件存储路径);2.创建一个新的临时表空间
create temporary tablespace temp2;
此时新的临时表空间已经创建,数据文件存在/opt/oracle/oradata/orcl中,名称系统取的,表空间参数
是采用系统默认的参数;3.设置默认的临时表空间
alter database default temporary tablespace temp2;
4.删除以前的默认临时表空间(就是数据量很大的那个临时表空间)
drop tablespace temp including contents and datafiles;
5.在创建一个新的临时表空,名称很上面删除的一样
create temporary tablespace temp;
6.设置默认表空间
alter database default temporary tablespace temp;
7删除开始新建的表空间
drop tablespace temp2;
因为是OMF方式创建的表空间,在删除时不用带including contents and datafiles 参数