第一次手工建立数据,心情是格外的高兴!
我们要建立数据库名称为:WWW
创建数据数据的方式:
1.OUI
2.Oracle DBCA
3.手工创建。
创建的精简步骤(其中可以有很多的可选步骤就略过)如下:
1.设置环境变量:
ORACLE_HOME、ORACLE_SID、ORACLE_BASE、ORACLE_NLS33(Oracle字符集)
PATH、LD_LIBRARY_PATH (C环境的库位置)
最重要的就是ORACLE_SID
说明:
1.SID最长为12和DATABASE名称最长为8,SID和Database名称要一样,所以设置SID最长为8
2.建立数据库前,请把运行中的数据库关闭(如果你没有的话,就无所谓了)。
3.删除一个数据库,可以通过ODBC,也可以通过手动。
手动删除数据库:
总的来说就是删除三个地方,分别如下:
假如库名叫做:EXP
1.$ORACLE_BASE/admin/EXP
2.$ORACLE_HOME/dbs/initEXP.ora
.$ORACLE_HOME/dbs/spfileEXP.ora 这个目录比较多,但凡是含有SID名称的文件删除就是了
3.../oradata/EXP
以上就能把一个数据库完全删除掉。
2.生成一个Pfile文件,如下:
这个文件命名为initWWW.ora
WWW.__db_cache_size=188743680
WWW.__java_pool_size=4194304
WWW.__large_pool_size=4194304
WWW.__shared_pool_size=92274688
WWW.__streams_pool_size=0
audit_file_dest='/oracle/app/admin/WWW/adump'
background_dump_dest='/oracle/app/admin/WWW/bdump'
compatible='10.2.0.1.0'
control_files='/oradata/WWW/control01.ctl','/oradata/WWW/control02.ctl','/oradata/WWW/control03.ctl'
core_dump_dest='/oracle/app/admin/WWW/cdump'
db_block_size=8192
db_domain=''
db_file_multiblock_read_count=16
db_name='WWW'
db_recovery_file_dest='/oracle/app/flash_recovery_area'
db_recovery_file_dest_size=2147483648
dispatchers='(PROTOCOL=TCP) (SERVICE=WWWXDB)'
job_queue_processes=10
open_cursors=300
pga_aggregate_target=97517568
processes=150
remote_login_passwordfile='EXCLUSIVE'
sga_target=293601280
undo_management='AUTO'
undo_tablespace='UNDOTBS1'
user_dump_dest='/oracle/app/admin/WWW/udump'
3.生成一个密码文件:
$orapwd file=orapwdWWWpassword=oracle entries=10
此时就会在,$ORACLE_HOME/dbs/下面生成一个名为:orapwdWWW
4.创建SPFILE并启动实例:
SQL>create spfile from pfile;
SQL>startup nomount ;
前提条件:
要有一下目录:
/oracle/app/admin/WWW/adump
/oracle/app/admin/WWW/bdump
/oracle/app/admin/WWW/cdump
/oracle/app/admin/WWW/udump
/oradata/WWW/
5.创建库:
spool dbcreate.log;
CREATEDATABASE"WWW"
sysaux datafile '/oradata/WWW/sysaux.dbf'
size10M
AUTOEXTEND on
NEXT10M
MAXSIZE UNLIMITED
MAXDATAFILES 500
MAXINSTANCES 8
MAXLOGFILES 32
CHARACTERSET"UTF8"
NATIONALCHARACTERSETAL16UTF16
ARCHIVELOG
DATAFILE
'/oradata/WWW/system01.dbf'size300M
EXTENT MANAGEMENT LOCAL
DEFAULTTEMPORARYTABLESPACETEMPTEMPFILE'/oradata/WWW/tempts01.dbf'size100M extent managementlocal
UNDO TABLESPACE "UNDOTBS1"
DATAFILE '/oradata/WWW/undotbs01.dbf'size200M
LOGFILE
GROUP1 (
'/oradata/WWW/redo01a.rdo',
'/oradata/WWW/redo01b.rdo'
) size100M,
GROUP2 (
'/oradata/WWW/redo02a.rdo',
'/oradata/WWW/redo02b.rdo'
) size100M,
GROUP3 (
'/oradata/WWW/redo03a.rdo',
'/oradata/WWW/redo03b.rdo'
) size100M
;
spool off
当然前提条件:
1.initWWW.ora中的参数要与create1.sql的参数要统一不能有偏差!
将上面文件保存并改名为:
create1.sql
其中红色写的部分,是我出过错误的地方。加入后就能顺利通过。
spool 是生成一个日志。
执行:
SQL>@$ORACLE_HOME/dbs/create1.sql
6.执行系统脚本:
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/sqlplus/admin/pupbld.sql
其中就的?指的就是:$ORACLE_HOME
7.关闭并重启开启数据库。
SQL>shutdown immediate;
SQL>starup;