set semsys:seminfo_semopm=100
set semsys:seminfo_semmap=200
set semsys:seminfo_semmnu=250
set semsys:seminfo_semvmx=32767
set msgsys:msginfo_msgmni=200
set msgsys:msginfo_msgmap=200
set msgsys:msginfo_msgmax=65536
set msgsys:msginfo_msgmnb=655360
set msgsys:msginfo_msgssz=64
set msgsys:msginfo_msgtql=1000
set msgsys:msginfo_msgseg=16384
set rlim_fd_max=4096
set rlim_fd_cur=1024
参见solaris_7_8/system
注意:
一定要先重建好kernel后再安装,因为oracle安装时根据kernel动态连接程序,如果先安装oracle,即使随后正确调整kernel,也会带来许多问题,如oracle进程不能拉起,instance创建失败等。
在kernel参数中,对数据库运行影响最大的主要是SHMMAX,SEMMNS,SEMMNI,SEMMSL,SHMMAX取内存一半即可,SEMMNS理论上应等于SEMMNI*SEMMSL,实际取一个较大值即可。
SEMMNS: 信号量最大个数,有些系统可忽略,因为他与SEMMNI,SEMMSL有关。
2 创建
所有参见内容都在附件01_install_02_create_03_init/下。
以oracle用户进行操作,设定数据库实例名为oradb(长度建议不要超过8个字符)。
2.1 Oracle 8 & 8i
2.1.1 工具创建
Oracle 8
运行$ORACLE_HOME/bin/orainst(安装数据库时必须选中oracle installer),选择create database object,安装界面中选Oracle Enterprise Server(RDBMS)
mount point暂为$ORACLE_BASE,字符集为ZHS16CGB231280或ZHS16GBK,调整system,tools,users,rbs,temp,redolog等尺寸。
创建过程中会提示输入osdba,osoper的UNIX组,这是向instance表明此组的成员享有角色sysdba或sysoper的权限,从而用connect / as sysdba替换掉connect internal
Oracle 8i
进入X WINDOW,运行dbassist
2.1.2 手工创建
任何工具都有其局限性,熟练的数据库管理员可采用手工方法创建数据库,以增加对系统的灵活控制。
对于手工建库Oracle 8与Oracle 8i的区别主要是建立的数据字典和存储过程有些不同,Oracle8i的dbassistant可以生成建库脚本供以后使用。
取得/8i/initoradb.ora,编辑如db_name,control_file,dump_dest等参数,以符合实际情况。如不需要生成 remote_login_passwordfile,可在initoradb.ora中设remote_login_passwordfile= none;如需要,在initoradb.ora中设remote_login_passwordfile=exclusive,运行 orapwd file= password= 必须创建新生成文件所要用到的目录,如在配置文件中指定的bdump,cdump,udump等目录,以及数据文件存储目录。
将initoradb.ora转移到$ORACLE_BASE/admin/oradb/pfile/,并连接到$ORACLE_HOME/dbs/initoradb.ora。
ln -s $ORACLE_BASE/admin/oradb/pfile/initoradb.ora $ORACLE_HOME/dbs/initoradb.ora
取得8i/createdb.sh,编辑如pfile,数据文件目录等参数,以符合实际情况,并转移到$ORACLE_BASE/admin/oradb/create/下,执行。
相关系统表:
v$database
v$datafile(file#,ts#,name)
v$tablespace(ts#,name)
v$parameter(SQL>;show parameter)
v$sga(SQL>;show sga)
2.1.3 MTS(multi-threaded server)
Oracle8 使用两种配置模式:dedicated server(专用模式)和shared server(即multi-threaded server共享模式),缺省使用专用模式。在连接数不很大且保持长期连接的情况下,专用模式为每个连接设立一个专用oracle服务进程,以保持较高的性能和稳定性。而当连接数上升到非常高的数目且不保持长期连接时,数据库管理开销增大,并且占用大量系统资源,给操作系统形成带来极大的压力。在这种情况下,共享模式更为有利,它通过缓冲池和预先设定数目的server提供服务,每个连接不再有专用的oracle服务进程,每次SQL操作由分配器(dispatcher)确定oracle服务进程。
multi-thread仅表示分配器展开的多个服务流程,并非操作系统意义上的多线程
配置:
¢ initoradb.ora
加入
mts_dispatchers = "(address=(protocol=TCP))(dispatchers=10)" #初始分配器数量
mts_max_dispatchers = 15 #最大分配器数量
mts_servers = 50 #初始服务进程数量
mts_max_servers = 80 #最大服务进程数量
mts_service = oradb3 #MTS方式下对外提供的数据库服务,非service_name
表明instance能够提供MTS服务,不意味着取消dedicated方式
¢ listener.ora
应删除所有SID_LIST,SID_LIST的存在决定LISTENER以dedicated还是shared方式启动oracle连接。如 SID_LIST存在,LISTENER不再接受instance的登记,以dedicated方式启动oracle连接; 如SID_LIST不存在, LISTENER启动时不为任何instance服务,由instance来登记MTS service,以shared方式启动oracle连接
¢ client
MTS 在client端配置颇为怪诞,在tnsnames.ora中的host一定要写数据库server的名字,而且必须作全名解析,似乎server端接收到client端请求后会将主机字符串返回,应此client端必须能够解析,否则会报出诸如"database service not exist" 的错误
tnsnames.ora
dbserver.soar.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST= dbserver)(PORT = 1521))
)
(CONNECT_DATA =(SERVICE_NAME = oradb))
)
/etc/hosts
10.0.0.1 dbserver.soar.com dbserver
启动:先起LISTENER,后起instance
以下步骤均在数据库open状态下,由system用户完成
2.1.4 调整临时表空间
alter tablespace temp temporary; #Oracle8的orainst没有将temp的缺省值permanent改为temporary,这样用户在temp上暂存的数据均为永久对象,很快将temp空间耗完。Oracle8i已修正。
SQL>;alter tablespace temp default storage (initial 128k next 128k maxextents 5000 pctincrease 0);
SQL查询操作如group by,order by,distinct,join等需要在临时段上展开数据,须充分考虑临时段的大小。
如果实例启动参数指定hash_join_enabled=true(缺省为true),当oracle选择以hash join方式进行表与表的联接, oracle根据查询操作的实际情况计算出hash_multiblock_io_count,此参数从属于session,平时显示为0,即 hash join一次I/O读写需要的连续数据空间。这样当此参数大于临时段的next扩展块时,hash join操作会中断。如果预知联接表的规模比较巨大,可使用alter tablespace temp default storage(next …)将next值设为较大值,待全部操作完成后,再恢复正常。
2.1.5 调整回滚表空间
先将建库工具缺省设定的若干个回滚段删除
SQL>;alter rollback segment r01 offline;
SQL>;drop rollback segment r01;
根据实际需要创建回滚段(如r01-r10),供联机处理和批处理使用
SQL>;create rollback segment r01 storage(initial 128k next 128k maxextents 5000 optimal 5M) tablespace rbs;[@more@]
set semsys:seminfo_semmap=200
set semsys:seminfo_semmnu=250
set semsys:seminfo_semvmx=32767
set msgsys:msginfo_msgmni=200
set msgsys:msginfo_msgmap=200
set msgsys:msginfo_msgmax=65536
set msgsys:msginfo_msgmnb=655360
set msgsys:msginfo_msgssz=64
set msgsys:msginfo_msgtql=1000
set msgsys:msginfo_msgseg=16384
set rlim_fd_max=4096
set rlim_fd_cur=1024
参见solaris_7_8/system
注意:
一定要先重建好kernel后再安装,因为oracle安装时根据kernel动态连接程序,如果先安装oracle,即使随后正确调整kernel,也会带来许多问题,如oracle进程不能拉起,instance创建失败等。
在kernel参数中,对数据库运行影响最大的主要是SHMMAX,SEMMNS,SEMMNI,SEMMSL,SHMMAX取内存一半即可,SEMMNS理论上应等于SEMMNI*SEMMSL,实际取一个较大值即可。
SEMMNS: 信号量最大个数,有些系统可忽略,因为他与SEMMNI,SEMMSL有关。
2 创建
所有参见内容都在附件01_install_02_create_03_init/下。
以oracle用户进行操作,设定数据库实例名为oradb(长度建议不要超过8个字符)。
2.1 Oracle 8 & 8i
2.1.1 工具创建
Oracle 8
运行$ORACLE_HOME/bin/orainst(安装数据库时必须选中oracle installer),选择create database object,安装界面中选Oracle Enterprise Server(RDBMS)
mount point暂为$ORACLE_BASE,字符集为ZHS16CGB231280或ZHS16GBK,调整system,tools,users,rbs,temp,redolog等尺寸。
创建过程中会提示输入osdba,osoper的UNIX组,这是向instance表明此组的成员享有角色sysdba或sysoper的权限,从而用connect / as sysdba替换掉connect internal
Oracle 8i
进入X WINDOW,运行dbassist
2.1.2 手工创建
任何工具都有其局限性,熟练的数据库管理员可采用手工方法创建数据库,以增加对系统的灵活控制。
对于手工建库Oracle 8与Oracle 8i的区别主要是建立的数据字典和存储过程有些不同,Oracle8i的dbassistant可以生成建库脚本供以后使用。
取得/8i/initoradb.ora,编辑如db_name,control_file,dump_dest等参数,以符合实际情况。如不需要生成 remote_login_passwordfile,可在initoradb.ora中设remote_login_passwordfile= none;如需要,在initoradb.ora中设remote_login_passwordfile=exclusive,运行 orapwd file= password= 必须创建新生成文件所要用到的目录,如在配置文件中指定的bdump,cdump,udump等目录,以及数据文件存储目录。
将initoradb.ora转移到$ORACLE_BASE/admin/oradb/pfile/,并连接到$ORACLE_HOME/dbs/initoradb.ora。
ln -s $ORACLE_BASE/admin/oradb/pfile/initoradb.ora $ORACLE_HOME/dbs/initoradb.ora
取得8i/createdb.sh,编辑如pfile,数据文件目录等参数,以符合实际情况,并转移到$ORACLE_BASE/admin/oradb/create/下,执行。
相关系统表:
v$database
v$datafile(file#,ts#,name)
v$tablespace(ts#,name)
v$parameter(SQL>;show parameter)
v$sga(SQL>;show sga)
2.1.3 MTS(multi-threaded server)
Oracle8 使用两种配置模式:dedicated server(专用模式)和shared server(即multi-threaded server共享模式),缺省使用专用模式。在连接数不很大且保持长期连接的情况下,专用模式为每个连接设立一个专用oracle服务进程,以保持较高的性能和稳定性。而当连接数上升到非常高的数目且不保持长期连接时,数据库管理开销增大,并且占用大量系统资源,给操作系统形成带来极大的压力。在这种情况下,共享模式更为有利,它通过缓冲池和预先设定数目的server提供服务,每个连接不再有专用的oracle服务进程,每次SQL操作由分配器(dispatcher)确定oracle服务进程。
multi-thread仅表示分配器展开的多个服务流程,并非操作系统意义上的多线程
配置:
¢ initoradb.ora
加入
mts_dispatchers = "(address=(protocol=TCP))(dispatchers=10)" #初始分配器数量
mts_max_dispatchers = 15 #最大分配器数量
mts_servers = 50 #初始服务进程数量
mts_max_servers = 80 #最大服务进程数量
mts_service = oradb3 #MTS方式下对外提供的数据库服务,非service_name
表明instance能够提供MTS服务,不意味着取消dedicated方式
¢ listener.ora
应删除所有SID_LIST,SID_LIST的存在决定LISTENER以dedicated还是shared方式启动oracle连接。如 SID_LIST存在,LISTENER不再接受instance的登记,以dedicated方式启动oracle连接; 如SID_LIST不存在, LISTENER启动时不为任何instance服务,由instance来登记MTS service,以shared方式启动oracle连接
¢ client
MTS 在client端配置颇为怪诞,在tnsnames.ora中的host一定要写数据库server的名字,而且必须作全名解析,似乎server端接收到client端请求后会将主机字符串返回,应此client端必须能够解析,否则会报出诸如"database service not exist" 的错误
tnsnames.ora
dbserver.soar.com =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS=(PROTOCOL=TCP)(HOST= dbserver)(PORT = 1521))
)
(CONNECT_DATA =(SERVICE_NAME = oradb))
)
/etc/hosts
10.0.0.1 dbserver.soar.com dbserver
启动:先起LISTENER,后起instance
以下步骤均在数据库open状态下,由system用户完成
2.1.4 调整临时表空间
alter tablespace temp temporary; #Oracle8的orainst没有将temp的缺省值permanent改为temporary,这样用户在temp上暂存的数据均为永久对象,很快将temp空间耗完。Oracle8i已修正。
SQL>;alter tablespace temp default storage (initial 128k next 128k maxextents 5000 pctincrease 0);
SQL查询操作如group by,order by,distinct,join等需要在临时段上展开数据,须充分考虑临时段的大小。
如果实例启动参数指定hash_join_enabled=true(缺省为true),当oracle选择以hash join方式进行表与表的联接, oracle根据查询操作的实际情况计算出hash_multiblock_io_count,此参数从属于session,平时显示为0,即 hash join一次I/O读写需要的连续数据空间。这样当此参数大于临时段的next扩展块时,hash join操作会中断。如果预知联接表的规模比较巨大,可使用alter tablespace temp default storage(next …)将next值设为较大值,待全部操作完成后,再恢复正常。
2.1.5 调整回滚表空间
先将建库工具缺省设定的若干个回滚段删除
SQL>;alter rollback segment r01 offline;
SQL>;drop rollback segment r01;
根据实际需要创建回滚段(如r01-r10),供联机处理和批处理使用
SQL>;create rollback segment r01 storage(initial 128k next 128k maxextents 5000 optimal 5M) tablespace rbs;[@more@]
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8227599/viewspace-933015/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8227599/viewspace-933015/