ktplink/guest123--无线密码
课程 | 电脑所需最小内存 | 电脑所需硬盘要求 |
OCP | 4G | 最小30G |
OCM | 12G | 要有SSD硬盘 |
(11g,这里的g是指grid,快要出12c了,这里的c是cloud)
ppt1-ppt4
本节开始使用virture_box
11gocp_oel5u4 :oracle/oracle root/root
本节实现先卸载oracle 11g,然后重新安装oracle 11g,并实现可以用https://ip:1158/em/console/logon页面打开
安装方法:
DB 11gR1之前版本
1、create user
2、knernel parameter
3、unzip
4、runInstaller
DB 11gR2版本
1、grid
2、DB
安装grid对往rac迁移比较方便
1、RAC:raw(已成为过去),cluster file system(CFS,ex,ocfs2,gfs2,AIX:gfs),ASM
cluster file system(CFS,ex,ocfs2,gfs2,AIX:gfs,Symantec storage Fundation),ASM
2、11gR2:ASM:DiskGroup-〉ACFS(CFS,Resize online)
---------------注意,与10g不同
开启数据库
srvctl start database -d testdb
关闭数据库
srvctl stop database -d testdb -o immediate/abort(默认为immediate)
--------以下是下午实验内容
start x--打开图形界面
lsnrctl start --开启监听
sqlplus / as sysdba
startup
emctl start dbconsole --启动控制台
然后在ie中打开:
https://192.168.56.10:1158/em/
emctl stop dbconsole --关闭控制台
sqlplus / as sysdba --以sysdba登录
shutdown immediate -关闭数据库
lsnrctl stop --关闭监听
su - 以root用户登录
---以下是卸载oracle 11g
rm -rf /u01/app/oracle/* /u01/app/oraInventory
rm -rf /etc/oraInst.loc /etc/oratab /etc/oracle /etc/ora_save_* /var/tmp/.oracle
rm -f /usr/local/bin/dbhome /usr/local/bin/oraenv /usr/local/bin/coraenv
rm -rf /tmp/OraInstall* /tmp/.oracle
reboot --重启
startx ---打开图形界面
-------------------------------------------------------
sqlplus / as sysdba
alter profile default limit
password_life_time unlimited
password_grace_time unlimited
password_reuse_time unlimited
password_reuse_max unlimited
failed_login_attempts 10
password_lock_time unlimited
password_verify_function null;
alter user scott identified by tiger account unlock;
alter user hr identified by hr account unlock;
alter user sh identified by sh account unlock;
create pfile from spfile;
host ls -l
select table_name from user_tables order by table_name;
exit
---建一个shell文件
#!/bin/sh
sqlplus /nolog <<EOF
conn scott/tiger
select table_name from user_tables order by table_name;
exit
EOF
----执行
sh script.sh
---down库
emctl stop dbconsole --关闭控制台
sqlplus / as sysdba
shutdown immediate
exit
lsnrctl stop
---操作系统关机
su -
poweroff
================以下是copy课件里的笔记===================================
PGA一个占用15MB内存,注意控制并发防止内存占用过大。
Shared pool存放sql信息,节省sql校验占用的CPU资源。对性能很关键
Database buffer cache存放数据信息
Redo log buffer 存放日志信息
Large pool存放导入导出和备份恢复等I/O数据。以及XA跨库内容。
Java pool存放java相关数据以及队列信息。安装时不可关闭,至少留15M。
Streams pool安装时不可关闭,至少留15M。
Keep池和recycle池,和database buffer cache一样,独立出来是为了将条目PIN在内存中,将条目放在KEEP或recycle池中,不会被从cache中移除。
Oracle在windows上的性能不及sqlserver,因为在Windows上只启动一个oracle进程,然后调用windows线程,效率很低。
重要进程
Update delete 一旦commit即写入数据文件。
DBWn
LGWR 4个触发条件commit
1/3满
DBWn进程写入磁盘之前
每隔三秒
CKPT 校验数据一致性,通过control file和每个数据文件头信息。
SMON 实例启动时执行恢复
清理临时进程;
PMON 用户进程失效时进行进程恢复(清除database buffer cache,释放用户进程占用的资源)
监视进程闲置超时(设置timeout时执行超时判定)
在监听器中动态注册数据库服务;
Password file只记录dba密码,普通用户密码只记录在数据库中;
Oracle数据块默认8K,必须是OS数据库整数倍,windows默认4K(一次读取8K,产生2次I/O)
安装后无法修改的项目:语言包,中文要选上
./runInstaller –silent –responsefile <filename>主要用于没有安装XWINDOW等无法打开图形化界面的情况。
建库
中国只会使用2种, ZSK16GBK 和 UTF8
字符集错误只能通过导入导出数据重建库
Global database name和SID,在集群中用global database name来区分相同的SID
Linux系统SID区分大小写
管理员 sys system dbsnmp sysman,修改密码不要忘记后2个
参数文件
至少需要4个参数:CONTROL_FILES,DB_BLOCK_SIZE,PROCESSES(默认150太少,oracle自有进程就需占用30个左右),UNDO_TABLESPACE;
DB_FILE_MULTIBLOCK_READ_COUNT,设置每次读取必须读取的块数(但如果只读1个字节也需要读取那么多数据块),数据仓库设较大,OLTP较小。
DB_FILES 最多的数据文件数。从I/O角度说多个小文件比单个大文件效率高,但是文件过多CHECKPOINT每次检查数据文件完整性的开销变大,性能可能反而会下降。
Startup
Nomount 只分配内存和起进程
Mount 校验控制文件,挂载数据文件
Open 检查一致性如需要进行回滚
Startup force=shutdown abort + startup
ASM
ASM只能兼容以下版本的ORACLE,升级数据库需要首先升级ASM。
卸载ORACLE
rm -rf /u01/app/oracle/* /u01/app/oraInventory
rm -rf /etc/oraInst.loc /etc/oratab /etc/oracle /etc/ora_save_* /var/tmp/.oracle
rm -f /usr/local/bin/dbhome /usr/local/bin/oraenv /usr/local/bin/coraenv
rm -rf /tmp/OraInstall* /tmp/.oracle
安装ORACLE
安装oracle software
Netca创建监听
Dbca创建数据库
关闭数据库
emctl stop dbconsole
shutdown immediate;
lsnrctl stop
网络
Listener端口通常不用默认端口,一般改为10000以上端口。
数据库和客户端在同一台服务器上时,可以使用IPC协议,而不使用tcp回路,效率更高。
HA模式下,两个节点分别设置不同的端口,如果同时使用同一端口,在故障漂移时,服务漂移会有数分钟的延迟,因为PMON注册listener需要时间。
监听可以做冗余
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = edrsr12p1.us.oracle.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = edrsr12p1.us.oracle.com)(PORT = 1522))
(LOAD_BALANCE = yes)
(FAILOVER = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
在主备方式下的冗余
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = edrsr12p2.us.oracle.com)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = edrsr12p1.us.oracle.com)(PORT = 1521))
(LOAD_BALANCE = yes)
(FAILOVER = yes)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
首先连接备用库edrsr12p2,在连不上的情况下连接主库edrsr12p1,两台服务器并非RAC。
集群数据库会增加I/O,不适合数据仓库服务器。
Tnsname中名称后最好跟主机名或IP地址,以防止误操作。
独占模式
PC服务器2000-3000独立进程
小型机8000-9000独立进程
共享模式
节约内存,连接高于3000的话。考虑并发数,并发20的话可以考虑开22个dispatcher,稍微大一点。
只有在独占模式遇到内存瓶颈时候才改为共享模式,因为共享模式将用户进程数据存放到了SGA中,对实例性能有影响。大型数据库通常配大内存,以满足独占模式需要,来换取数据库性能。
共享模式有连接池,如果中间件无连接池,可以在共享模式下使用连接池,连接池开在哪里负载就在哪里。
Dblink适用百万级数据库,千万级以上需要使用流等方式连接。
7. 数据存储
行和列都没有顺序
Pctfree 85
Pctused 20
两个参数配合使用,数据块中数据高于85%,则块被标记为满,无法再写入数据。只有当数据被删除到20%以下,该块才能重新标记为FREE进入freelist进行插入行操作。这个特性是为行今后进行扩展而预留空间,使扩展的内容可以存放在同一块中不产生碎片而保证I/O性能。
由DBA的基本知识知道,pctfree参数是控制freelist un-links的(即将块由freelists中移除)。设置 pctfree=10 意味着每个块都保留10%的空间用作行扩展。pctused参数是控制freelist re-links的。设置 pctused=40意味着只有在块的使用低于40%时才会回到表格的freelists中。
许多新手对于一个块重新回到freelists后的处理都有些误解。其实,一旦由于一个删除的操作而令块被重新加入到freelist中,它将会 一直保留在freelist中即使空间的使用超过了60%,只有在到达pctfree时才会将数据块由freelist中移走。
经常进行update的表将会产生严重的链式行问题,类似操作系统的碎片问题,需要定期整理来确保性能。
定额扩展表空间的情况下,如果值设置的太大,在进行空间申请时会造成操作延迟。
8.用户安全
Em默认通过Dbsnmp用户连接,修改此用户密码前要先在EM中的监视配置中修改密码,否则EM连不上。
Oracle创建用户至少要提供用户名和密码
创建用户密码时候勾选EXPIRE PASSWORD NOW选项,首次登录时候会提示修改密码,可以设置一个简单密码交给用户,让用户第一时间修改。
Dba用户密码存放在password file,其他用户存放在表中。
11G开始,密码区分大小写
系统权限-基于系统维护
对象权限-基于对象
不要grant all,会赋予创建索引的权限,索引应该由DBA创建。
系统权限不支持叠带回收
赋予系统权限时千万不可使用ADMIN OPTION,否则权限会失控。
对象权限支持叠带回收
Resource角色可以满足绝大多数开发权限,但是缺少create view,通常建库以后立刻grant create view to resource供开发使用。
角色不支持叠带,即ROLE A包含ROLE B,则ROLE B不能再包含ROLE A
Role可以设置密码,oracle独有。
概要文件
一个用户只能有一个概要文件,一个概要文件可以赋予多个用户。
O7_DICTIONARY_ACCESSIBILITY=FALSE (首字母为字母o)
关闭用户查看用户字典,默认FALSE
REMOTE_OS_AUTHENT=FALSE
默认为TRUE,建议修改,另外创建DBA,而不使用SYS。
11.审计
通常存放为DB EXTENDED
审计有问题时候才开,一般不开,影响性能。
普通审计无法记录原值,
基于值的审计可以记录原值。
颗粒度审计可以定制审计的列和值
以上三种审计默认都不审计DBA用户,修改AUDIT_SYS_OPERATIONS为TRUE记录DBA用户。