【网学网提醒】:网学会员为广大网友收集整理了,oralce学习资料总结,希望对大家有所帮助!
权限:
给用户上锁/解锁:
alteruserscgtcmpidentifiedbyaaaaccountlock/unlock;
createrollbacksegmentrbs01tablespacetbs01;//创建回滚段
select+fromdba_rollback_segs;
alterrollbacksegmentrbs01online;
注:创建系统回滚段之后才可以在某个表空间下创建表和插入数据;
grantselectonemptoscgtcmpwithgrantoption;
注:级联授权(连坐),对于系统权限不存在连坐的问题,只要有权限就可以从事该权限的业务
auditselectanytablebyscgtcmpbyaccess;
audituser;
auditlockonscgtcmp.employeebyaccesswhereversuccessful;
CREATEROLEsales_clerkIDENTIFIEDBYhouse;
CREATEROLEsales_managerIDENTIFIEDBYEXTERNALLY;
ALTERROLEsales_managerNOTIDENTIFIED;
GRANTsales_clerkTOscott;
GRANTsales_managerTOscottWITHADMINOPTION;
ALTERUSERscottDEFAULTROLEsales_clerk,sales_manager;
ALTERUSERscottDEFAULTROLEALL;
ALTERUSERscottDEFAULTROLEALLEXCEPTsales_clerk;
ALTERUSERscottDEFAULTROLENONE;
切换角色:
SETROLEsales_clerk;
SETROLEsales_clerkIDENTIFIEDBYddddddddd;
SETROLEALLEXCEPTsales_clerk;
SETROLENONE;
connect权限:createsession;
resource权限:createindex,createtable等;
select_catalog_role:查看数据字典;
修改字符集:
session、环境变量、初始化参数。
----------------------------->
NLS_LANGUAGE
NLS_DATE_FORMAT
NLS_SORT
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_CALENDAR
ENLS_LANGUAGE=
_.
createdatabase...charactersetnationalcharacterset.
ALTERSESSIONSETNLS_DATE_FORMAT='DD.MM.YYYY';
DBMA_SESSION.SET_NLS('NLS_DATE_FORMAT','''DD.MM.YYYY''');
oracle物理备份:
①冷备份
==>shutdownimmediate;
==>将数据文件和控制文件复制到备份目录。
==>删除某些数据、控制等文件。
==>alterdatabaseopen;
②热备份(归档模式)
==>archiveloglist;
altersystemsetlog_archive_start=truescope=spfile;//启用归档
shutdownimmediate;
startupmount;//打开控制文件不打开数据文件
alterdatabasearchivelog;//将数据库切换到归档模式
alterdatabaseopen;
==>altertablespacettbeginbackup;
altertablespacettendbackup;
altersystemarchivelogcurrent;
altersystemswitchlogfile;
altersystemswitchlogfile;
shutdownimmediate;
(删除表空间的数据文件)
startup;(报错)
select*fromv$recover_file;//查看那个文件出错
==>恢复:alterdatabasedatafile6offlinedrop;
alterdatabaseopen;
recoverdatafile6;(auto)
alterdatabasedatafile6online;
控制文件丢失:
==>alterdatabasebackupcontrolfiletotrace;(备份控制文件)
使用备份的控制文件创建控制文件。
日志文件丢失:
==>recoverdatabaseuntilcancel;
==>alterdatabaseopenrese
tlogs;
rman备份(简单):
setoracle_sid=orcl;
rmantarget/logd:/rman_log.txt;
关闭数据库:
shutdownimmediate;
startupmount;
showall;//显示rman默认设置
查看某一具体项参数的设置:
showbackupoptimization;
配置参数:
configurebackupoptimizationoff;
查看备份信息:
listbackupofdatabase;
列出指定表空间的备份信息:
listcopyoftablespace'system';
或
listbackupoftablespace'system';
列出指定数据文件的备份信息:
listbackupofdatafile'd:/datataspart04.ora';
或
listbackupofdatafile11;
删除陈旧备份:
deleteobsolete;
删除expired备份
deleteexpiredbackup;
删除expired副本
deleteexpiredcopy;
删除特定备份集
deletebackupset19;
删除特定备份片
deletebackuppiece‘d:backupDemo_19.bak’;
删除所有备份集
deletebackup;
删除特定映像副本
deletedatafilecopy‘d:backupDEmo_19.bak’;
删除所有映像副本
deletecopy;
在备份后删除输入对象
deletearchivelogalldeleteinput;
deletebackupset11format="d:/backup%u.bak"deleteinput;
rman命令学习:
1、切换服务器归档模式,如果已经是归档模式可跳过此步:
sqlplus/nolog
conn/assysdba;
shutdownimmediate;
startupmount;
alterdatabasearchivelog;(更改数据库为归档模式)
alterdatabaseopen;
altersystemarchivelogstart;(启用自动归档)
2、连接:
rmantarget=rman/rman@mydb(启动恢复管理器)
3、基本设置:
configuredefaultdevicetypetodisk;(设置自动备份设备为磁盘)
configuredevicetypediskparallelism2;(设置备份的并行级别,通道数)
configurechannel1devicetypediskformat'/backup1/backup_@U';(设置备份的文件格式,只适用于磁盘设备)
configurechannel2devicetypeformat'/backup2/backup_%U';(设置备份的文件格式,只适用于磁盘设备)
configurecontrolfileautobackupon;(打开控制文件与服务器参数文件的自动备份)
configurecontrolfileautobackupformatfordevicetypediskto'/backup1/ctl_%F';(设置控制文件与服务器参数文件自动备份的文件格式)
4、查看所有设置:
RMAN>showall;
5、查看数据库方案报表:
RMAN>reportschema;
6、备份全库:
backupdatabaseplusarchivelogdeleteinput;(备份全库及控制文件、服务器参数文件与所有的归档的重做日志,并删除旧的归档日志)
7、备份表空间:
backuptablespacesystemplusarchivelogdeleteinput;(备份指定表空间及归档的重做日志,并删除旧的归档日志)
8、备份归档日志:
backuparchivelogalldeleteinput;
9、复制数据文件:
copydatafile1to'/orcle/dbs/system.copy';
10、查看备份和文件复本:
listbackup;
11、验证备份:
validatebackupset3;
12、从自动备份中恢复服务器参数文件:
shutdownimmediat
e;
startupnomount;(启动实例)
restorespfiletopfile'/backup1/mydb.ora'fromautobackup;(从自动备份中恢复服务器参数文件)
13、从自动备份中恢复控制文件:
RMAN>shutdownimmediate;(立即关闭数据库)
RMAN>startupnomount;(启动实例)
RMAN>restorecontrolfileto'/backup1'fromautobackup;(从自动备份中恢复控制文件)
14、恢复和复原全数据库:
RMAN>shutdownimmediate;(立即关闭数据库)
RMAN>exit(退出)
%mv/oracle/dbs/tbs_12.f/oracle/dbs/tbs_12.bak(将数据文件重命名)
%mv/oracle/dbs/tbs_13.f/oracle/dbs/tbs_13.bak(将数据文件重命名)
%mv/oracle/dbs/tbs_14.f/oracle/dbs/tbs_14.bak(将数据文件重命名)
%mv/oracle/dbs/tbs_15.f/oracle/dbs/tbs_15.bak(将数据文件重命名)
%rmantarget=rman/rman@mydb(启动恢复管理器)
RMAN>startuppfile=/oracle/admin/mydb/pfile/initmydb.ora(指定初始化参数文件启动数据库)
RMAN>restoredatabase;(还原数据库)
RMAN>recoverdatabase;(恢复数据库)
RMAN>alterdatabaseopen;(打开数据库)
15、恢复和复原表空间:
RMAN>sql'altertablespaceusersofflineimmediate';(将表空间脱机)
RMAN>exit(退出恢复管理器)
%mv/oracle/dbs/users01.dbf/oracle/dbs/users01.bak(将表空间重命名)
%rmantarget=rman/rman@mydb(启动恢复管理器)
RMAN>restoretablespaceusers;(还原表空间)
RMAN>recovertablespaceusers;(恢复表空间)
RMAN>sql'altertablespaceusersonline';(将表空间联机)
16、增量备份与恢复:
第一天的增量基本备份:
RMAN>backupincrementallevel=0databaseplusarchivelogdeleteinput;
第二天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第三天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第四天的增量差异备份:
RMAN>backupincrementallevel=1databaseplusarchivelogdeleteinput;
第五天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第六天的增量差异备份:
RMAN>backupincrementallevel=2databaseplusarchivelogdeleteinput;
第七天的增量差异备份:
RMAN>backupincrementallevel=0databaseplusarchivelogdeleteinput;
增量恢复:
RMAN>shutdownimmediate;
RMAN>exit
%mv/oracle/dbs/tbs_12.f/oracle/dbs/tbs_12.bak
%mv/oracle/dbs/tbs_13.f/oracle/dbs/tbs_13.bak
%mv/oracle/dbs/tbs_14.f/oracle/dbs/tbs_14.bak
%mv/oracle/dbs/tbs_15.f/oracle/dbs/tbs_15.bak
showparameterdb_rec;//恢复目录
showparametersga_target;//初始化设置
showparametersga_max_size;//建议最大
createpublicdatabaselinkfrom_linkconnecttoscottidentifiedbyscottusing'(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.104)(PORT=1521))
)
(CONNECT_DATA=
(SERVICE_NAME=orcl)
)
)';
altertablespacenamecoalesce;
altertablenameenablerowmovement;
altertablenameshrinkspace;
altertableT_Unit_Historydeallocateunused;
以下的文章主要是介绍Oracle性能调整,以及回收相关的表空间碎片的几种方法,首先我们要将相关的表空间用compress=Y参数exp出来,在将其中表truncate后,将表imp进去。这是第一步,
2、使用
altertablespacenamecoalesce;手动收缩一次。
3、将表空间的pctincreace参改为大于0,让其自动收缩。一般改为1。
altertablespacenamestorage(pctincrease1);关于表空间pctincrease=1:
(1)不将pctincrease设为0,是因为SMON进程将只会定期将PCTINCREASE不等于0的表空间的空闲碎块合并。如果设为0,将阻止SMON合并空闲碎块合并,这时,必须手工使用ALTERTABLESPACEXXXCOALESCE;合并碎块。
(2)不将PCTINCREASE设为较大的数,仅仅用于防止新建的表使用大的PCTINCREASE,并造成空间使用的不可控。如果表空间中再也不用建新表,那么该参数只要不等于0,其他取值就没有任何影响了。
另外,PCTINCREASE与表空间的自动增长没有关系,表空间的自动增长是通过AUTOEXTENDON来控制的,并且它是纯粹线形增长的(即规定增长多少,就永远每次增长多少),不象表的PCTINCREASE一样会形成几何增长的可能。
以上的相关内容就是对Oracle性能如何调整以及如何回收表空间碎片的介绍,望你能有所收获。