1)use DBCA create/configure/del/manage DB
the usage of templates of dbca: 创建好数据库模板后,下次用DBCA时会出现以前创建的模板!
Sys,system都是在创建数据库时自动创建,并被赋予了DBA角色(记住,sysdba,sysper是权限,dba是角色),它们的初始密码分别是change_on_install和manager。
----------------------------------------------------------------------------
Ora-12560错误原因(更多地出现在windows主机上):
一台host上安装了多个DB,但连接时没有指定,可用set oracle_sid=***
----------------------------------------------------------------------------
Oracle OEM: 为DBA提供了一个集中管理多个oracle数据库节点的图形工具。
创建OEM的步骤:
1) 在客户端利用Enterprise Manager Configuration Assitant创建repository资料档案库(创建过程中会让你在server端指定新建一个用户,一个OEM_reposity表空间)。
2) 在客户端主机上,启动相关服务(ManagementServer,Agent)
3) 在客户端启动OEM控制台
以sysman/oem_temp用户登陆(sysman用户是默认存在于客户端的图形化工具里的,系统此时会提醒你修改sysman密码。
说明:也可以选择独立启动进入OEM,用这种方法就不需要上面的步骤。但此时的OEM的功能会少很多。
4)连接server端数据库,输入你在创建数据库时新建的用户名及密码或以sys用户登陆。
说明:建好OEM后又修改了sys密码,可能需要重建repository。
3。管理oracle实例
spfile,pfile的互相创建
spfile是二进制文件,oracle推荐,RMAN已把spfile纳入备份体系中。
create spfile from pfile(若该命令不能运行,证明instance由spfile启动)
修改静态参数时,又想从spfile启动,可以:
1) shutdown db
2) edit pfile
3) create spfile from pfile
4) startup
应经常同步pfile和spfile
(动态)修改spfile的参数
alter system set undo_tablespace=undo2
(不加scope表示就是both,默认也是both,如果只想在memory or spfile两者中选其一,就需要在scope里说明.
ALTER SYSTEM RESET undo_suppress_errors SCOPE=BOTH SID=’*’;删除或重设参数
Order of precedence:
spfileSID.ora> Default SPFILE> initSID.ora> Default PFILE
DB启动的3个步骤
1) nomount( 读spfile/pfile,初始化SGA)
2) mount(读控制文件)
3) open(读控制文件描述的各个文件并检查一致性)
session:一个用户的连接
transaction:事务,一次修改或select。
Alert_SID.log(对应background_dump_dest)实例的监控调试文件
User Trace Files(对应USER_DUMP_DEST),大小由MAX_DUMP_FILE_SIZE
Enabling or Disabling User Tracing
• 会话级:
ALTER SESSION SET SQL_TRACE = TRUE
dbms_system.SET_SQL_TRACE_IN_SESSION
•事例级 在参数文件里设置:SQL_TRACE = TRUE
加深(有价值的)文章: pfile和spfile文件(by eygle)
加入一个日志组
alter database add logfile group 3 ('opt/oracle/log6.rdo' size 10M);
向日志组中加入一个成员
alter database add logfile member '/opt /oracle/log6b.rdo' to group 3;
删除日志组:当前日志组不能删;活动的日志组不能删;非归档的日志组不能删
alter database drop logfile group 3;
删除日志组中的某个成员,但每个组的最后一个成员不能被删除 ???????
alter databse drop logfile member '/opt/oracle/log6.rdo';
4---alter database rename file '/6.rdo' to '/6a.rdo';
5---alter database open
清除在线日志
alter database clear logfile '/opt/oracle/ora_log_file6.rdo';
alter database clear logfile group 3;
清除非归档日志
alter database clear unarchived logfile group 3;
归档模式到非归档模式的互换
1---startup mount;
2---alter database noarchivelog/archivelog;
3---alter database open
achive log start;---启动自动归档
alter system archive all;--手工归档所有日志文件
archive log list;
alter system archive log start;--启动自动存档
show parameter log_archive;
LOGMINOR的使用
v$log;
v$log_history;
能看出已归档的redo log seq.
v$archived_log;
v$logfile;
从v$Log重要列:
ARC : redo log是否被归档
STATUS: current / inactive/ active/
First_time: 记录该redo log记录数据库第一次修改的时间
8.管理表空间和数据文件
Locally managed tablespace:空闲extent的管理放在本地表空间里,位图用于记录空闲extent,位图的值0,1对应free or used,每个bit对应一个extent。优点:由于空闲extent的管理放在本地表空间里,因而减少了对数据字典的竞争,空间的分配和回收也不会产生系统undo段。由于采用标准大小,无需愈合!默认的,分配的空间按标准大小来划分。
手工分配表空间段的分区(extent)大小
alter table kong.test12 allocate extent(size 1m datafile '/opt/oradata/undo102.dbf');
alter table kong.test12 deallocate unused; ---释放表中没有用到的分区
show parameter db;
alter system set db_8k_cache_size=10m; ---配置8k块的内存空间块参数。
碎片率: 临时表空间碎片率最大,undo表空间次之
数据对象所占用的字节数
select sum(bytes) from dba_extents where onwer='kong' and segment_name ='test';