ocp第五、六天

来源:互联网 发布:拍电影的软件 编辑:程序博客网 时间:2024/04/30 06:53

ktplink/guest123--无线密码

 

课程电脑所需最小内存电脑所需硬盘要求OCP4G最小30GOCM12G要有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在内存中,将条目放在KEEPrecycle池中,不会被从cache中移除。

 

Oraclewindows上的性能不及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,产生2I/O

 

安装后无法修改的项目:语言包,中文要选上

 

./runInstaller –silent –responsefile <filename>主要用于没有安装XWINDOW等无法打开图形化界面的情况。

 

建库

中国只会使用2种, ZSK16GBK 和 UTF8

字符集错误只能通过导入导出数据重建库

Global database nameSID,在集群中用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的话可以考虑开22dispatcher,稍微大一点。

只有在独占模式遇到内存瓶颈时候才改为共享模式,因为共享模式将用户进程数据存放到了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用户。