一般都是使用dbca建库的,但是练习使用手工建库,可以让我们更深入了解Oracle数据库创建过程所做的详细工作,让我们可以更深刻理解Oracle数据库的文件结构。好了话不多说了,现在开始吧!
创建数据库首先要确定要创建的数据库的ORACLE_SID名称,并设置环境变量ORACLE_SID,具体细节不过多介绍,过程会忽略细节
1、设置ORACLE_SID并创建数据库相应的目录:
export ORACLE_SID=macx
mkdir $ORACLE_BASE/admin/macx/{a,b,c,u}dump -pv
mkdir /u02/macx
2、initSID.ora放到$ORACLE_HOME/dbs目录下:
macx.__db_cache_size=188743680
macx.__java_pool_size=4194304
macx.__large_pool_size=4194304
macx.__shared_pool_size=79691776
macx.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/macx/adump'
*.background_dump_dest='/u01/app/oracle/admin/macx/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u02/macx/control01.ctl','/u02/macx/control02.ctl','/u02/macx/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/macx/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='macx'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=94371840
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=285212672
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/macx/udump'
3、Create Database Statemet语句,对表空间和路径及大小做适当修改:
这个复杂的数据库创建语句是参照Oracle 10G R2的联机文档,并作修改的,突然发现文档中也存在一些问题,但是下面的语句是没问题。
CREATE DATABASE macx
USER SYS IDENTIFIED BY oracle
USER SYSTEM IDENTIFIED BY oracle
LOGFILE GROUP 1 ('/u02/macx/redo01.log') SIZE 100M,
GROUP 2 ('/u02/macx/redo02.log') SIZE 100M,
GROUP 3 ('/u02/macx/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/u02/macx/system01.dbf' SIZE 325M REUSE
EXTENT MANAGEMENT LOCAL
SYSAUX DATAFILE '/u02/macx/sysaux01.dbf' SIZE 325M REUSE
DEFAULT TABLESPACE adv datafile '/u02/macx/adv01.dbf' size 100m
extent management local
DEFAULT TEMPORARY TABLESPACE tempts1
TEMPFILE '/u02/macx/temp01.dbf'
SIZE 20M REUSE
UNDO TABLESPACE undotbs1
DATAFILE '/u02/macx/undotbs01.dbf'
SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
4、建库语句执行后,执行创建数据字段、PL/SQL存储过程的及SQLPLUS相关脚本
@?/rdbms/admin/catalog.sql -- 创建数据字段信息
@?/rdbms/admin/catproc.sql -- 创建系统PL/SQL对象
@?/sqlplus/admin/pupbld.sql -- 创建于SQLPLUS相关的对象
5、创建密码文件:
要是进行远程使用SYSDBA身份管理数据库时,需要创建密码文件。
orapwd file=orapwmacx password=oracle entries=30
6、创建spfile:
既然spfile有很多优点,当然不能不用啊!
create spfile from pfile;
7、对数据库做全库备份:
建完库,一般要习惯性的对其做个全备!
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS;
CONFIGURE BACKUP OPTIMIZATION ON;
CONFIGURE CONTROLFILE AUTOBACKUP ON;
CONFIGURE DEVICE TYPE DISK PARALLELISM 2 BACKUP TYPE TO COMPRESSED BACKUPSET;
run {
allocate channel c1 device type disk;
allocate channel c2 device type disk;
allocate channel c3 device type disk;
backup full database format '/u02/rman/macx_%d_%T_%u.dbf';
backup archivelog all format '/u02/rman/macx_%d_%T_%u.arch' delete all input;
backup current controlfile format '/u02/rman/macx_%d_%U.ctl';
backup spfile format '/u02/rman/macx_spfile_%d_%T_%u.spfile';
sql 'alter system switch logfile';
release channel c1;
release channel c2;
release channel c3;
}
看似手工建库挺繁琐的,但是参照联机文档,并没有大的问题,一开始尝试手工建库时,老师报各种莫名的错误,但是要明白学习知识,研习技术总是要经历三个境界,至于那三个境界:
第一境界:
“
昨夜西风凋碧树,独上高楼,望尽天涯路。”(晏殊《蝶恋花》)
解析:第一境界以西风刮得绿树落叶凋谢,表示当前形势相当恶劣,而也只有他能爬上高楼,居高临下高瞻远瞩,看到远方看到天尽头,看到别人看不到的地方。说明他能排除干扰,不为暂时的烟雾所迷惑。他能看到形势发展的主要方向,能抓住斗争的主要矛盾。这是能取得成功的基础。这一境界是立志、是下决心,只有具备了这个条件才会有第二、第三境界。
第二境界:
“
衣带渐宽终不悔,为伊消得人憔悴。”(柳永《蝶恋花》)
解析:第二境界概括了一种锲而不舍的坚毅性格和执着态度。描述了如何为此下决心而努力奋斗。人 瘦了、憔悴了,但仍“终不悔”。就是说尽管遇到各式各样的困难,还要坚持奋斗,继续前进,为了事业一切在所不惜。在这个世界上干什么都没有平坦大道,要敢 于创新,也要善于等待。这是执着地追求,忘我地奋斗。
第三境界:
“
众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”(辛弃疾《青玉案》)
解析:第三境界是指在经过多次周折,经过多年的磨练之后,就会逐渐成熟起来,别人看不到的东西他能明察秋毫,别人不理解的事物他能豁然领悟贯通。这时他在事业上就会有创造性的独特的贡献。这是功到事成。这是用血汗浇灌出来的鲜花,是用毕生精力铸造的大厦。