Oracle数据库

来源:互联网 发布:搭建php运行环境 编辑:程序博客网 时间:2024/05/29 19:53

1.首先查看oracle数据库的编码
select * from nls_database_parameters where parameter =’NLS_CHARACTERSET’;


2.Oracle 怎么导入dmp文件
前提先成功连接Oracle数据库实例!
方式一:使用命令行的方式进行导入dmp文件
命令:imp %dbuser%/%dbpwd%@%dbhost% file=data\FTMS.dmp ignore=y fromuser=FTMS touser=%dbuser% log=log/CloverFTMSImport.log

eg: imp china/china@orcl file=E:\zhangjun\china.dmp ignore=y fromuser=japan touser=china

解释: imp 新建库的用户名/新建库的密码@SID file=dmp文件路径 fromuser=从哪个用户执行导入(dmp文件中的用户) touser = 导入到哪个用户


3.  在进行备份和恢复的时候,我们需要知道一些关于ORACLE物理文件存储的信息

这样我们才能判断我们所进行的备份是否完整。

一个完整的备份需要包括的物理文件:

控制文件

联机重做日志文件

归档日志文件

数据文件

因此,我们需要知道这些文件存储的确切位置:

利用下面的语句你可以知道你所面对的数据库它的物理文件存储的基本概况:

控制文件: select * from v$controlfile;

联机日志: select * from v$logfile;

数据文件: select name,file#,bytes/1024/1024 MB,status from v$datafile;
select file_id,tablespace_name,file_name,bytes/1024/1024 MB from DBA_DATA_FILES;

归档日志: show parameter background_dump_dest;

4.数据库的备份
Oracle数据库有三种常用的备份方法,分别是导出/导入(EXP/IMP)、热备份和冷备份。导出/导入备份是一种逻辑备份,相对于导出/导入来说,热备份、冷备份是一种物理备份
这里介绍下exp导出为.dmp文件
exp 用户名/密码@SID file=E:\xxx.dmp owner=用户名,回车就可以了

–查看表空间的使用情况
SELECT Upper(F.TABLESPACE_NAME) “表空间名”,
D.TOT_GROOTTE_MB “表空间大小(M)”,
D.TOT_GROOTTE_MB - F.TOTAL_BYTES “已使用空间(M)”,
To_char(Round(( D.TOT_GROOTTE_MB - F.TOTAL_BYTES ) / D.TOT_GROOTTE_MB * 100, 2), ‘990.99’)
|| ‘%’ “使用比”,
F.TOTAL_BYTES “空闲空间(M)”,
F.MAX_BYTES “最大块(M)”
FROM (SELECT TABLESPACE_NAME,
Round(Sum(BYTES) / ( 1024 * 1024 ), 2) TOTAL_BYTES,
Round(Max(BYTES) / ( 1024 * 1024 ), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
Round(Sum(DD.BYTES) / ( 1024 * 1024 ), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 2 desc;

–查看数据文件
SELECT * from dba_data_files order by 1,3

–查看表分区
select * from user_tab_partitions order by 1,3

–每天查看告警日志
D:\app\Administrator\diag\rdbms\orcl\orcl\trace\alert_orcl.log

–查看备份完成情况日志
G:\rman\

–查看服务器磁盘使用情况
我的电脑\

–查看日志切换频率
select b.SEQUENCE#, b.FIRST_TIME,a.SEQUENCE#,a.FIRST_TIME,round(((a.FIRST_TIME-b.FIRST_TIME)*24)*60,2)
from vloghistorya,vlog_history b
where a.SEQUENCE#=b.SEQUENCE#+1 and b.THREAD#=1 order by a.SEQUENCE# desc;

–查看正在执行的sql
SELECT b.sid oracleID,
b.username 登录Oracle用户名,
b.serial#,
spid 操作系统ID,
paddr,
sql_text 正在执行的SQL,
b.machine 计算机名
FROM vprocessa,vsession b, v$sqlarea c
WHERE a.addr = b.paddr
AND b.sql_hash_value = c.hash_value

–添加数据文件
alter tablespace name add datafile ‘*’ size 3G autoextent on;