- 生肖
- 马
- 星座
- 天秤座
- 性别
- 女
- 积分
- 429
- 积分
- 1898
- 精华
- 11
- 阅读权限
- 150
- 注册时间
- 2013-6-6
- 最后登录
- 2017-4-11
- 帖子
- 366
- 生肖
- 马
- 星座
- 天秤座
- 性别
- 女
|
本帖最后由 小卢_铃 于 2013-10-4 19:47 编辑
ORACLE的数据库管理
<1>ORACLE数据库的体系结构
<2>ORACLE的应用程序的性能优化和调整
<3>ORACLE数据库的备份和恢复
<1>体系结构
物理结构 --- 在操作系统上可以看到的数据库的文件
逻辑结构 --- ORACLE内部来看 如何组成的
进程的结构 --- 进程有哪些 有什么作用
数据库的启动和关闭
<1>用服务中的service来启动和关闭数据库
<2>可以使用命令行来启动和关闭数据库
a)第一次启动必须用<1>来启动的
b)sqlplus /nolog 启动SQLPLUS不用提供用户
c)connect / as sysdba sysdba代表了sys的权限
/ 表示登录ORACLE数据库使用操作系统的用户
d)shutdown immediate 立即关闭
如果有别的用户连到数据库,自动断开连接,没有提交的事务自动回滚
c) startup 启动
SYS用户的密码 可以通过数据库来改
也可以通过操作系统的一个命令来改
ORAPWD file=pwdaccp.ora password=m123 entries=1
--把sys用户的密码改为m123
--pwdaccp.ora pwd密码 accp数据库的名字
重新启动ORACLE数据库后生效
<3>用企业管理器来启动和关闭
启动
关闭
ORACLE的物理文件
<1>数据文件-----存放数据
<2>控制文件----记录了数据库中其他文件的位置
数据库的创建实践
数据库的名字
镜像 最多可以有8个
拷贝一个控制文件 到目标磁盘改名字
在init.ora文件中引用这个文件,重启数据库
<3>初始化文件--- 数据库启动的时候用到的参数、位置D:\oracle\admin\accp\pfile下
D:\oracle\ora90\accp\admin\pfile
文件init.ora
每次启动ORACLE的时候读取该文件
调整ORACLE启动的内存????
show SGA 察看ORACLE所占用的内存
SGA的大小一般为物理内存的1/2
通过修改init.ora中的参数来调整内存
compatible=9.0.0 --版本兼容性
db_name=accp --数据库的名字
control_files=("D:\oracle\oradata\accp\CONTROL01.CTL", "D:\oracle\oradata\accp\CONTROL02.CTL", "D:\oracle\oradata\accp\CONTROL03.CTL") --控制文件的位置
单位:字节
java_pool_size=33554432改为10M --jVM使用的内存
large_pool_size=1048576 不变--恢复的内存
shared_pool_size=33554432 改为10M --PL/SQL 游标用的内存
db_cache_size=33554432 --数据缓冲区大小33M
SPFILEaccp.ora服务器端的参数文件 是 二进制文件 不能直接改 通过OEM(企业管理器)来改
如果你 想使用 init.ora来 启动 ????
startup pfile=D:\oracle\admin\accp\pfile\init.ora
用户 的 并发数量 150
processes=150 支持的终端是 150 * 2=300
游标的 支持 (PL/SQL中游标的使用数量)
open_cursors=300
<4>警告日志文件 -- 查看数据库运行中是否有错误的
D:\oracle\admin\accp\bdump下 的 accpALRT.log 需要经常查看,大小会逐渐变大
定期删除此文件,ORACLE会自动重建
<5>重做日志文件 存放对数据库的修改信息
(insert/delete/update语句会存在此文件中)二进制
日志文件重用的时候是覆盖原有的内容,而原有的内容不产生备份(非归档模式)
应把数据库改为工作在归档日志模式下(安全的)
archive log list 查看工作模式
archivelog 归档
noarchivelog 非归档
<6>归档日志文件
用于数据库恢复
逻辑结构--ORACLE如何构成的
一个库
<1>表空间
由表空间组成的(SYSTEM表空间是必须有的,数据字典放在其下)
create user test identified by t123;
--在SYSTEM这个表空间,不好
--先建立一个永久表空间
CREATE TABLESPACE TEST
LOGGING
DATAFILE 'D:\ORACLE\ORADATA\ACCP\TEST.ora' SIZE 5M AUTOEXTEND
ON NEXT 5M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL
-- 再建立一个临时 表空间
CREATE
TEMPORARY TABLESPACE MYTMP TEMPFILE
'D:\ORACLE\ORADATA\ACCP\MYTMP.ora' SIZE 5M EXTENT MANAGEMENT
LOCAL UNIFORM SIZE 1M
--建用户
create user test identified by t123
default tablespace test --指定永久表空间
temporary tablespace mytmp; --指定临时表空间
--授权
grant connect,resource to test;
--连接
connect test/t123;
create table t(xh number(2));
<2>段 (segment)
表,视图 ,索引
<3>区 (extent)
<4>数据库块 (block)
一般应设置为8K,数据库装好后不能改,只有重装才能改变
--应用中 提示 表空间已满 --- 是否数据文件已满 又不能扩展????
<例子>
1. 如何让ORACLE数据库工作在安全的模式下??
a) 工作在归档日志模式下,可以恢复
b) 删除用户组ORA_DBA 和下面的用户 --登陆必须提供用户名和密码
C)改所有默认用户的密码
2.如果一个ORACLE数据库什么密码都不知道,怎么来找到密码???
1) 检查connect / as sysdba是否还有效,有效
a) select user_name from dba_users;看用户
b) alter user scott identified by m123;
2)检查connect / as sysdba是否还有效,无效
a)orapwd file=pwd<数据库名字>.ora password=hello entries=1
b) 数据库重新启动
c) connect sys/hello as sysdba连接
d) select user_name from dba_users;看用户
f) alter user scott identified by m123;
3.数据库如果出现问题,看哪个文件来找到??
警告日志文件 alrtaccp.ora
文件逐渐变大 定期删除这个文件
ORACLE会自动重建
|
|