最新ORACLE操作手册资料.docx
《最新ORACLE操作手册资料.docx》由会员分享,可在线阅读,更多相关《最新ORACLE操作手册资料.docx(63页珍藏版)》请在冰豆网上搜索。
最新ORACLE操作手册资料
DOC.NO.TIMESON-SM-2002-11-0001A
Normal
(公开)
本地电信业务计费帐务系统
ORACLE操作手册
Version1.0.0
2002.11.05
TIMESON
长沙天辰科技有限公司2000,2001,2002
AllRightsReserved
前言
为了加强计费系统数据库的操作安全及更有效的管理计费系统数据库,编写该操作手册。
在该手册若有错误及遗漏的地方还望各位读者不吝指出与谅解。
1.数据库的创建
以下仅为数据库创建的样例脚本,在实际系统中应根据数据库设计要与系统实际配置而改变参数:
1.1.以下为ORACLE启动初始文件initora.ora
#thissampaleinitfilewritenbywzy2002/11/15
db_name="jf"
instance_name=ora8
#service_names=ora
#db_files=1024
control_files=("/home/oracle/OraCtl/control01.ctl","/home/oracle/OraCtl/control02.ctl","/home/oracle/OraCtl/control03.ctl")
open_cursors=100
max_enabled_roles=50
db_file_multiblock_read_count=8
db_block_buffers=4096
shared_pool_size=52428800
large_pool_size=78643200
java_pool_size=20971520
log_checkpoint_interval=10000
log_checkpoint_timeout=1800
processes=115
parallel_max_servers=5
log_buffer=32768
max_dump_file_size=10240
global_names=true
#oracle_trace_collection_name=""
db_block_size=16384
#remote_login_passwordfile=exclusive
#os_authent_prefix=""
job_queue_processes=4
job_queue_interval=60
open_links=10
#large_pool_size=614400
java_pool_size=20971520
distributed_transactions=10
mts_dispatchers="(PROTOCOL=TCP)(PRE=oracle.aurora.server.SGiopServer)"
mts_dispatchers="(protocol=TCP)"
#compatible=8.1.0
sort_area_size=65536
sort_area_retained_size=65536
#log_archive_start=true
1.2.以下是建库脚本
#!
/bin/sh
ORACLE_SID=ora8
exportORACLE_SID
svrmgrl
connectinternal
startupnomountpfile=$ORACLE_HOME/dbs/initora.ora
CREATEDATABASE"app1"
controlfilereuse
maxdatafiles500
maxinstances8
maxlogfiles32
charactersetZHS16GBK
nationalcharactersetZHS16GBK
DATAFILE'/oradata/app1/system01.dbf'SIZE200M
logfilegroup1('/opt/oracle/oradata/app1/app1_redo01.log',
'/oradata/app1/app1_redo01.log')SIZE20M,
group2('/opt/oracle/oradata/app1/app1_redo02.log',
'/oradata/app1/app1_redo02.log')SIZE20M,
group3('/opt/oracle/oradata/app1/app1_redo03.log',
'/oradata/app1/app1_redo03.log')SIZE20M;
@/opt/oracle/product/8.1.7/rdbms/admin/catalog.sql;
CREATEROLLBACKSEGMENTr0TABLESPACESYSTEM
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTS20);
ALTERROLLBACKSEGMENTr0ONLINE;
REM************TABLESPACEFOROEM_REPOSITORY***************
CREATETABLESPACEOEM_REPOSITORYDATAFILE'/oradata/app1/oemrep01.dbf'SIZE5MREUSE
AUTOEXTENDONNEXT25MMAXSIZE80M
MINIMUMEXTENT128k
DEFAULTSTORAGE(INITIAL128kNEXT128kMINEXTENTS1MAXEXTENTSUNLIMITEDPCTINCREASE0);
REM**************TABLESPACEFORROLLBACK*****************
CREATETABLESPACERBSDATAFILE'/oradata/app1/rbs01.dbf'SIZE200MREUSE
DEFAULTSTORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDPCTINCREASE0);
REM**************TABLESPACEFORTEMPORARY*****************
CREATETABLESPACETEMPDATAFILE'/oradata/app1/temp01.dbf'SIZE200MREUSE
DEFAULTSTORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDPCTINCREASE0)TEMPORARY;
REM**************TABLESPACEFORUSER*********************
CREATETABLESPACEUSERSDATAFILE'/oradata/app1/users01.dbf'SIZE50MREUSE
DEFAULTSTORAGE(INITIAL128kNEXT128kMINEXTENTS1MAXEXTENTSUNLIMITEDPCTINCREASE0);
REM**************TABLESPACEFORINDEX*********************
CREATETABLESPACEINDXDATAFILE'/oradata/app1/indx01.dbf'SIZE50MREUSE
DEFAULTSTORAGE(INITIAL128kNEXT128kMINEXTENTS1MAXEXTENTSUNLIMITEDPCTINCREASE0);
REM****Creatingfourrollbacksegments**************addrollbacksegmentto20***
CREATEROLLBACKSEGMENTr01TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr02TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr03TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr04TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr05TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr06TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr07TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr08TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr09TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr10TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr11TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr12TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr13TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr14TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr15TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr16TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr17TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr18TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr19TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
CREATEROLLBACKSEGMENTr20TABLESPACERBS
STORAGE(INITIAL128kNEXT128kMINEXTENTS2MAXEXTENTSUNLIMITEDoptimal4096K);
ALTERROLLBACKSEGMENTr01ONLINE;
ALTERROLLBACKSEGMENTr02ONLINE;
ALTERROLLBACKSEGMENTr03ONLINE;
ALTERROLLBACKSEGMENTr04ONLINE;
ALTERROLLBACKSEGMENTr05ONLINE;
ALTERROLLBACKSEGMENTr06ONLINE;
ALTERROLLBACKSEGMENTr07ONLINE;
ALTERROLLBACKSEGMENTr08ONLINE;
ALTERROLLBACKSEGMENTr09ONLINE;
ALTERROLLBACKSEGMENTr10ONLINE;
ALTERROLLBACKSEGMENTr11ONLINE;
ALTERROLLBACKSEGMENTr12ONLINE;
ALTERROLLBACKSEGMENTr13ONLINE;
ALTERROLLBACKSEGMENTr14ONLINE;
ALTERROLLBACKSEGMENTr15ONLINE;
ALTERROLLBACKSEGMENTr16ONLINE;
ALTERROLLBACKSEGMENTr17ONLINE;
ALTERROLLBACKSEGMENTr18ONLINE;
ALTERROLLBACKSEGMENTr19ONLINE;
ALTERROLLBACKSEGMENTr20ONLINE;
ALTERROLLBACKSEGMENTr0OFFLINE;
REM****SYSandSYSTEMusers****************
alterusersystemporarytablespaceTEMP;
alterusersystemtemporarytablespaceTEMP;
@/opt/oracle/product/8.1.7/rdbms/admin/catproc.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/caths.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/otrcsvr.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catexp.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catdbsyn.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catdefer.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catrep.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/dbmspool.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catparr.sql;
@/opt/oracle/product/8.1.7/rdbms/admin/catblock.sql;
connectsystem/manager
@/opt/oracle/product/8.1.7/sqlplus/admin/pupbld.sql;
--createtheproduct_profileanduser_profile
--CATALOG.SQL,---加载数据库本身的数据字典视图
--CATPROC.SQL,---加载PL/SQL使用的PACKAGE
--CATEXP.SQL---加载EXPORT/IMPORT工具使用的数据字典
disconnect
spooloff
exit
在数据库建立完后,可用以下语句(也可以在建库脚本中直接增加)对对tablespace增加数据文件:
ALTER TABLESPACE"tablespace_name"ADDDATAFILE'data_file_path/data_file_name'SIZE
2.数据库基本操作
2.1.数据库的正常启动
正常启动数据库的选项是normal,这也是数据启动的缺省选项。
如果以这种方式启动则将打开一个现场(现场:
现场为一逻辑概念,是系统为数据库打开提供的一系列的必需资源),并把数据库装入,然后打开数据库供用户使用。
具体操作如下:
1.先进入SVRMGR管理器
$svrmgrl
SVRMGR>
2.再联入inernal用户
$connectinternal
3.在用startup命令启动(若不在启动文件所在目录进入的SVRMGR或启动文件名不是ORACLE缺省的文件名,则启动时应带启动目录与文件名)
SVRMGR>startuppfile=
2.2.安装启动与非安装启动
安装启动的选项是mount,表示只将数据库装入现场而不打开数据库;非安装启动的选项是nomount,表示只建立数据库现场而不装入数据库,当然也不打开数据库。
1.安装启动
SVRMGR>startup{pfile=}mount
该方式启动数据库的的用途一般为:
Ø为数据文件更名;
Ø增加、删除或改名事物日志文件;
Ø使事物日志归档模式选项有效或失效;
Ø进行完整数据库的恢复操作
2.非安装启动
SVRMGR>startup{pfile=}nomount
该方式启动数据库的用途一般为:
Ø创建一新的数据库
2.3.独占和共享启动
独占启动选项是exclusive,表示只允许一个例程使用该数据库;共享启动的参数是shared,表示允许多个例程并行使用该数据库,即将数据库装入多个现场。
1.共享启动
SVRMGR>startup{pfile=}exclusive
2.独占启动
SVRMGR>startup{pfile=}shared
2.4.约束启动
这种方式的选项是restrict,它启动数据库时装入并打开它,但此时的数据库只能为有特殊权限的数据库管理员使用,一般用户不能联入数据库。
1.约束启动
SVRMGR>startup{pfile=}restrict
一般来说当用户有createsession权限十可联入数据库,但对于restrict方式启动的数据库只有restrictedsession系统权限用户才允许联入。
若在restrict方式下改变数据库运行方式,则可用altersystem命令,如下:
SVRMGR>altersystemdisablerestrictedsession;
2.5.强制启动
在一些非正常情况下有可能在正常方式下启动数据库遇到麻烦,或在上次因不能正常关闭数据库(如:
用了参数abort)而导致不能正常启动数据库,则可考虑使用强制启动数据库,其参数为:
force.
1.强制启动
SVRMGR>startup{pfile=}force;
此时,除非数据库有重大系统错误,一般情况下数据库可以起来。
在应注意的是用此方式启动的数据库会上次非正常关闭数据导致的非正常数据丢掉,数据库启动后应及时的查看数据库的日志文件。
2.6.数据库关闭
1.正常关闭
SVRMGR>shutdownnormal;
这种方式下关闭数据库在关闭前检查所有的连接,并且发出命令后不允许再有新的连接,在等所有用户断开连接后关闭数据库。
在此方式下关闭的数据库下次启动时不需要任何恢复过程。
2.立即关闭
SVRMGR>shutdownimmediate;
这种方式下关闭数据库并不等待用户断开连接,而是由系统断开与用户的连接,然后关闭数据库。
3.异常关闭
SVRMGR>shutdownabort;
这种方式下关闭数据库系统不做任何的检查与回退操作而直接将数据库现场撤消。
2.7.PL/SQL基本程序的编写
ORACLE提供功能了功能强大的第三代编程语言PL/SQL。
在本小节主要介绍基本的存储过程、存储函数及触发器的编写。
2.7.1.SQL语言简介
2.7.1.1.SQL概述
SQL是一种面向数据库的