|
创建oracle数据库的时候,大多数情况我们都是用dbca,简单方便,比较自动化;今天我们将尝试手动地通过命令行的方式创建一个数据库,别有一番风味。oracle软件版本:10gR2操作系统版本:win xp sp3目标数据sid:t02(1)创建dump及参数文件用文件夹:D:\oracle\product\10.2.0\admin\t02D:\oracle\product\10.2.0\admin\t02\adumpD:\oracle\product\10.2.0\admin\t02\bdumpD:\oracle\product\10.2.0\admin\t02\cdumpD:\oracle\product\10.2.0\admin\t02\dpdumpD:\oracle\product\10.2.0\admin\t02\pfileD:\oracle\product\10.2.0\admin\t02\udump(2)创建datafile用文件夹:D:\oracle\product\10.2.0\oradata\t02(3)创建参数文件,可先copy一个其他库的,再在上面做修改,注意目录改对:D:\oracle\product\10.2.0\db_1\database\initt02.ora############################################################################### Copyright (c) 1991, 2001, 2002 by Oracle Corporation########################################################################################################################## NLS###########################################nls_language="AMERICAN"nls_territory="AMERICA"############################################ SGA Memory###########################################sga_target=290455552############################################ Job Queues###########################################job_queue_processes=10############################################ Shared Server###########################################dispatchers="(PROTOCOL=TCP) (SERVICE=t02XDB)"############################################ Miscellaneous###########################################compatible=10.2.0.1.0############################################ Security and Auditing###########################################audit_file_dest=D:\oracle\product\10.2.0/admin/t02/adumpremote_login_passwordfile=EXCLUSIVE############################################ Sort, Hash Joins, Bitmap Indexes###########################################pga_aggregate_target=96468992############################################ Database Identification###########################################db_domain=""db_name=t02############################################ File Configuration###########################################control_files=("D:\oracle\product\10.2.0/oradata/t02/\control01.ctl", "D:\oracle\product\10.2.0/oradata/t02/\control02.ctl", "D:\oracle\product\10.2.0/oradata/t02/\control03.ctl")db_recovery_file_dest=D:\oracle\product\10.2.0/flash_recovery_areadb_recovery_file_dest_size=2147483648############################################ Cursors and Library Cache###########################################open_cursors=300############################################ System Managed Undo and Rollback Segments###########################################undo_management=AUTOundo_tablespace=UNDOTBS1############################################ Diagnostics and Statistics###########################################background_dump_dest=D:\oracle\product\10.2.0/admin/t02/bdumpcore_dump_dest=D:\oracle\product\10.2.0/admin/t02/cdumpuser_dump_dest=D:\oracle\product\10.2.0/admin/t02/udump############################################ Processes and Sessions###########################################processes=150############################################ Cache and I/O###########################################db_block_size=8192db_file_multiblock_read_count=16(4)创建口令文件:orapwd file=D:\oracle\product\10.2.0\db_1\database\pwdt02.ora password=oracle entries=2(5)创建实例(会在windows系统注册一个服务):oradim -new -sid t02(6)启动数据库到nomount状态,需先设置oracle_sid:set oracle_sid=t02sqlplus / as sysdbastartup nomount(7)创建数据库:select status from v$instance;ed填入以下创建脚本内容,保存后输入正斜杠(/)回车执行:create database t02datafile 'D:\oracle\product\10.2.0\oradata\t02\system01.dbf' size 100M reuse autoextend on next 10M maxsize unlimitedextent management localsysaux datafile 'D:\oracle\product\10.2.0\oradata\t02\sysaux01.dbf'size 100M reuse autoextend on next 10M maxsize unlimiteddefault temporary tablespace temp tempfile 'D:\oracle\product\10.2.0\oradata\t02\temp01.dbf' size 100M reuse autoextend on next 10M maxsize unlimitedundo tablespace "UNDOTBS1" --请注意这里的undo表空间要和参数文件对应datafile 'D:\oracle\product\10.2.0\oradata\t02\undotbs01.dbf' size 100M reuse autoextend on next 10M maxsize unlimiteddefault tablespace users datafile 'D:\oracle\product\10.2.0\oradata\t02\users01.dbf' size 100M reuse autoextend on next 10M maxsize unlimitedlogfile group 1 ('D:\oracle\product\10.2.0\oradata\t02\redo01.log') size 10M, group 2 ('D:\oracle\product\10.2.0\oradata\t02\redo02.log') size 10M, group 3 ('D:\oracle\product\10.2.0\oradata\t02\redo03.log') size 10Mcharacter set al32utf8national character set al16utf16user sys identified by oracleuser system identified by oracle/至此数据库已经可以打开了,但是还缺少基本的数据字典(如:dba_objects、dba_tablespaces等)和基本的内置程序(如:dbms_output、dbms_session),接下来我们要创建这些对象。(8)创建数据字典:@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catalog.sql;(9)创建内置程序:@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\catproc.sql;(10)创建scott schema(scott需要使用users表空间):@D:\oracle\product\10.2.0\db_1\RDBMS\ADMIN\scott.sql;(11)编译product user profile(需要system用户去执行):conn system/oracle@D:\oracle\product\10.2.0\db_1\sqlplus\admin\pupbld.sql;(12)配置监听程序:D:\oracle\product\10.2.0\db_1\NETWORK\ADMINlistener.ora经过以上步骤,系统会自动在已有listener上增加一个端口(1522),如下:(其实仅有1521一个端口即可同时连接两个数据库。之所以有1521这条记录,是因为在创建测试库(t02)之前本机已有一个库t01)LISTENER =(DESCRIPTION_LIST =(DESCRIPTION =(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))(ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1522))))tnsnames.ora如果我们想用tns来连接,则还需在tnsnames.ora中追加如下配置:(如果在上步没有生成1522行,这里只需将1522改为1521即可)T02 =(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = PC1255-20110528)(PORT = 1522))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = t02)))(13)以scott用户验证:sqlplus scott/tiger@t02select * from dept;(14)创建Enterprise Manager(EM):emca -config dbcontrol db -repos createt0nsha(liaodunxia AT gmail DOT com)20110714@上海 |
|
|