Oracle 4天实训笔记

来源:互联网 发布:网络征信查询黑名单 编辑:程序博客网 时间:2024/05/01 05:50

Oracle安装

到Oracle官网下载RPM包,rpm -ivh (install ,显示进度,显示百分比).

Oracle启动都要先进入oracle账号,su - oracle

XE版需要先配置环境.在其用户目录下面新建.bash_profile文件

TMP=/tmp; export TMPTMPDIR=$TMP; export TMPDIRORACLE_HOSTNAME=dbserver; export ORACLE_HOSTNAMEORACLE_UNQNAME=ORADB; export ORACLE_UNQNAMEORACLE_BASE=/u01/app/oracle; export ORACLE_BASEORACLE_HOME=$ORACLE_BASE/product/11.2.0/xe; export ORACLE_HOMEORACLE_SID=ORADB; export ORACLE_SIDPATH=/usr/sbin:$PATH:$ORACLE_HOME/bin; export PATHLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib/usr/lib; export LD_LIBRARY_PATHCLASSPATH=$ORACLE_HOME/rdbms/jlib export CLASSPATH

启动及停止

启动Oracle: sqlplus / as sysdba然后startup

启动分3个阶段:nomount->mount->open

startup等同于

startup nomountalter database mount;alter database open;
关闭:shutdown

STAT

优化程序统计信息中的num_rows不能正确显示记录数,因为该行数不会立即更新,等待超过10%(默认)变动才会更新该数据(全表扫描).

AWR日志

AWR日志是数据库系统的快照,默认每小时一次,把SGA中的信息固话在存储中.

获取AWR日志:@?/rdbms/admin/awrrpt.sql(@表示运行脚本,!表示ORACLE_HOME)

可以根据snap ID选择导出的日志范围,如果快照的时候实例处于关闭,则该快照不可以导出

默认导出位置在?/rdbms/admin下,格式为HTML.

对象目录

建立对象目录方法:CREATE DIRECTORY  XX as '/PATH TO SAVE'(这个路径下文件夹需要手动建立,不会自动创建,记得owner是oracle)

GRANT READ,WRITE ON DIRECTORY XXX TO XXX

查看所有对象目录: SELECT * FROM dba_directories;这里的OWNER永远是SYS,几时connect test/test下创建

数据泵(expdp和impdp)

expdp 用户名/密码 -parfile=PAR -directory=DIR -file=FILE -reuse_dumpfiles=REUSE -logfile=LOG tables=TAB owner=OWN

PAR:可以把后面的参数保存到一个文件(包括用户名/密码,userid=system/***)

DIR:是用户的对象目录,需要赋予权限

FILE:dump文件输出路径

REUSE:选择Y或者N,默认N,若dump存在则会报错

LOG:日志文件位置

TAB:只导出这些表

OWN:只导出的用户

impdp 用户名/密码 -parfile=PAR -file=FILE SCHEMAS=SCHE

PAR,FILE同上

SCHE:导入的用户

和exp,imp的区别,expdp和impdp只能用于服务器端,可以并行作业,而exp和imp既能用于服务器也能用用于客户端,不能并行

可以使用nohup expdp >×× &后台执行,查看:SELECT  * FROM V$DATAPUMP_JOB 查看当前任务,最好不要直接kill掉,可能会有部分内存无法释放.

SQL*LOADER

可以加载非Oracle数据库文件的数据.由控制文件进行(数据文件可有可无)

控制文件如下:

LOAD DATAINFILE * //如果使用*表示数据在本文件下方,否则,使用绝对路径,表示数据文件的位置BADFILE xxx //屏蔽的数据绝对路径{INSERT|REPLACE|APPENED}INTO TABLE XXX FIELDS TERMINED BY ','//每个字段的数据分隔符号,默认/t(xx,xx,xx)BEGINDATA //当INFILE为* 时1,A,x2,B,x3,C,x.....
sqldr -userid=用户/密码 -control=xx.ctl log=xx.log

外部表

Oracle的外部表可以使用一个文件直接映射作为一个真实的表,拥有联接现有表,排序甚至追加到现有表的功能,但不能添加索引

CREATE TABLE picone.test2  (id,username,bduss) ORGANIZATION EXTERNAL (TYPE ORACLE_DATADUMP DEFAULT DICTIONARY TEST LOCATION ('test.dmp')) AS SELECT id,username,bduss FROM picone.test;这样就可以把表卸载到外部.

备份

备份存储可分为映像副本(等同于cp文件)和备份集(Oracle的二进制压缩文件).

控制文件

查看控制文件路径:show parameter control_files;

导出当前使用的spfile文件:create pfile='PATH' from spfile;注意,这种方法需要当前实例是使用spfile启动的.

若提示error in identifying file '?/dbs/spfile@.org' ,unable to obtain file status.则是没有用spfile启动数据库,create spfile from pfile;即可

日志文件

显示当前使用的日志文件组:select group#,member,status from v$log;

查看每个日志文件:select * from v$logfile;

添加日志文件到组中alter database add logfile member 'PATH' to group 1;

归档日志

查看当前归档情况:archive log list;,在noarchive模式下不能使用rman

启用归档:alter database archivelog;

关闭归档:alter database noarchivelog;

快速恢复区

查看当前快速恢复区配置:show parameter recovery;

alter system set db_recovery_file_size=1G;
alter system set db_recovery_file=PATH;(需要先配置大小才能配置路径)

rman

启用自动备份控制文件:configure controlfile autobackup on;在添加表空间等操作时,会自动备份控制文件

backup as backupset incremental level 0 database plus archivelog section  size 50M;备份集,增量备份0等级,备份数据库+归档日志,每个备份文件大小50M

完全备份跟增量备份0等级一样,但只有0等级备份可以用于增量备份.差异备份是跟上次0等级备份的改变的备份,增量备份是上次增量备份的改变量.

启用快速增量备份(记录改变的量)alter database {enable|disable} block change tracking [using file 'PATH']

查看快速增量备份:视图 v$block_change_tracking v$backup_datafile

0 0