Oracle DBA之手动地通过命令行的方式创建一个数据库

创建oracle数据库的时候,大多数情况我们都是用dbca,简单方便,比较自动化; 今天我们将尝试手动地通过命令行的方式创建一个数据库,别有一番风味。 oracle软件版本:10gR2 操作系统版本:win xp sp3 目标数据sid:t02 (1)创建dump及参数文件用文件夹: D:\oracle\product\10.2.0\admin\t02 D:\oracle\product\10.2.0\admin\t02\adump D:\oracle\product\10.2.0\admin\t02\bdump D:\oracle\product\10.2.0\admin\t02\cdump D:\oracle\product\10.2.0\admin\t02\dpdump D:\oracle\product\10.2.0\admin\t02\pfile D:\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/adump remote_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_area db_recovery_file_dest_size=2147483648 ########################################### # Cursors and Library Cache ########################################### open_cursors=300 ########################################### # System Managed Undo and Rollback Segments ########################################### undo_management=AUTO undo_tablespace=UNDOTBS1 ########################################### # Diagnostics and Statistics ########################################### background_dump_dest=D:\oracle\product\10.2.0/admin/t02/bdump core_dump_dest=D:\oracle\product\10.2.0/admin/t02/cdump user_dump_dest=D:\oracle\product\10.2.0/admin/t02/udump ########################################### # Processes and Sessions ########################################### processes=150 ########################################### # Cache and I/O ########################################### db_block_size=8192 db_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=t02 sqlplus / as sysdba startup nomount (7)创建数据库: select status from v$instance; ed 填入以下创建脚本内容,保存后输入正斜杠(/)回车执行: create database t02 datafile 'D:\oracle\product\10.2.0\oradata\t02\system01.dbf' size 100M reuse autoextend on next 10M maxsize unlimited extent management local sysaux datafile 'D:\oracle\product\10.2.0\oradata\t02\sysaux01.dbf' size 100M reuse autoextend on next 10M maxsize unlimited default temporary tablespace temp tempfile 'D:\oracle\product\10.2.0\oradata\t02\temp01.dbf' size 100M reuse autoextend on next 10M maxsize unlimited undo tablespace "UNDOTBS1" --请注意这里的undo表空间要和参数文件对应 datafile 'D:\oracle\product\10.2.0\oradata\t02\undotbs01.dbf' size 100M reuse autoextend on next 10M maxsize unlimited default tablespace users datafile 'D:\oracle\product\10.2.0\oradata\t02\users01.dbf' size 100M reuse autoextend on next 10M maxsize unlimited logfile 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 10M character set al32utf8 national character set al16utf16 user sys identified by oracle user 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\ADMIN listener.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@t02 select * from dept; (14)创建Enterprise Manager(EM): emca -config dbcontrol db -repos create t0nsha(liaodunxia AT gmail DOT com) 20110714@上海
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值