本文档主要使用分步骤的命令来创建Oracle数据库,而不是用Oracle的默认安装或者DBCA,意在详细了解Oracle数据库的文件体系(针对建库)以及相关的命令解释。
安装受到安装直接首先要明确一些信息:
ORACLE_HOME:C:/oracle/product/10.2.0/db_1
DATABASE NAME、实例名以及ORACLE_SID:全部都是orcl
SYS和SYSTEM等用户的密码:oracle
创建输入数据库orcl的配置文件夹 bdump :存放的是数据库动行过程中的各个后台进程的跟踪信息,后台进程trace 和alert log , 就是说 alert_sid.log也存在这个目录中 cdump :主要是oracle的内核转储记录存放位置 pfile :初始化参数文件 initSID udump:存放和特定会话相关的跟踪信息,前台手动trace的比如sql trace之后session的trace文件 创建数据库orcl存放相关数据文件、日志文件、控制文件的文件夹 /oradata/ora 创建ORACLE_HOME/flash_recovery_area/ORCL/ONLINELOG
数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。
该文件拷贝一个已有的文件稍加修改即可。
将该文件拷贝到C:/oracle/product/10.2.0/db_1/database里面取名initORCL.ora。
该文件路径也不一定非要放到这里,也可以是其他地方,默认是这个地方,不过如果放到其他地方在启动实例时需要添加相关的文件路径即可。
里面的相关的文件dest路径与前面的创建的文件夹路径应该保持一致。
aq_tm_processes=0 audit_file_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/ADUMP background_dump_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/BDUMP //版本 compatible=10.2.0.1.0 //控制文件 control_files=C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL01.CTL, C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL02.CTL, C:/ORACLE/PRODUCT/10.2.0/ORADATA/ORCL/CONTROL03.CTL core_dump_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/CDUMP //默认数据库块大小 db_block_size=8192 db_domain="" db_file_multiblock_read_count=16 //数据库名 db_name=orcl db_recovery_file_dest_size=2147483648 db_recovery_file_dest=C:/oracle/product/10.2.0/flash_recovery_area dispatchers="(PROTOCOL=TCP) (SERVICE=orclXDB)" job_queue_processes=10 open_cursors=300 pga_aggregate_target=96468992 processes=150 remote_login_passwordfile=EXCLUSIVE resource_manager_plan="" sga_target=289406976 undo_management=AUTO undo_retention=900 //所有的相关信息前后必须一致 undo_tablespace=UNDOTBS1 user_dump_dest=C:/ORACLE/PRODUCT/10.2.0/ADMIN/ORCL/UDUMP
使环境变量对应数据库的相关实例。
使用oradim创建新实例,实例名与数据库名一致,直接输入oradim回车有相关命令的帮助。
创建完实例之后我们就可以在服务列表中看到Oracle的服务了,但是如果使用sqlplus连接上去是连接的空闲实例。
orapwd是创建口令文件的工肯程序各称,file参数指定口令文件所在的目录和文件名称,password参数指定sys用户的口令,entries参数指定数据库拥用DBA权限的用户的个数。详细参考orapwd回车查看相关帮助。
该路径必须是在ORACLE_HOME/database/文件夹下。
大家都知道数据库启动有三个状态,Nomount状态(启动实例),mount状态(打开控制文件),Open状态(打开数据库),因为现在还没有创建控制文件和数据文件,现在进行启动实例阶段来创建相关的文件,看到在启动实例出现错误,那是一开始我创建文件时没有创建ORACLE_HOME/flash_recovery_area,因为在初始化参数时有一个
db_recovery_file_dest=C:/oracle/product/10.2.0/flash_recovery_area,所以没有找到报错,添加上即可。
如果前面第二步的路径变化了,在启动实例时需要添加startup nomount pfile=路径即可
//创建库 create database orcl //系统数据文件 datafile 'C:/oracle/product/10.2.0/oradata/orcl/system01.dbf' size 300M reuse autoextend on next 10240K maxsize unlimited extent management local //系统附属表 sysaux datafile 'C:/oracle/product/10.2.0/oradata/orcl/sysaux01.dbf' size 120M reuse autoextend on next 10240K maxsize unlimited //临时表文件 default temporary tablespace temp tempfile 'C:/oracle/product/10.2.0/oradata/orcl/temp01.dbf' size 20M reuse autoextend on next 640K maxsize unlimited //回滚文件-与前面的文件名一致 undo tablespace "UNDOTBS1" datafile 'C:/oracle/product/10.2.0/oradata/orcl/undotbs01.dbf' size 200M reuse autoextend on next 5120K maxsize unlimited //重读日志文件 logfile group 1 ('C:/oracle/product/10.2.0/oradata/orcl/redo01.log') size 10240K, group 2 ('C:/oracle/product/10.2.0/oradata/orcl/redo02.log') size 10240K, group 3 ('C:/oracle/product/10.2.0/oradata/orcl/redo03.log') size 10240K
在执行该文件如果出现以上错误,修改session 的字符集。在执行该建库SQL的文件时,尽量检查好SQL文件。
执行库SQL我们看到相关的数据文件、控制文件、重读日志文件都创建好了。
该步执行时间比较长,主要是创建相关的字典表,比如我们经常遇到的dba_users、dba_tablespaces等表。
该脚本创建相对于系统基表的视图和系统动态性能视图以及他们的同义词。该脚本又同时运行创建其他对象的脚本,主要有:
基本PL/SQL环境,包括PL/SQL的声明: - 数据类型 - 预定义例外 - 内建的过程和函数 - SQL操作等 审计 导入/导出 SQL*Loader 安装选项
该脚本主要用于建立PL/SQL功能的使用环境。此外,还创建几个PL/SQL包用于扩展RDBMS功能。该脚本同时还为下面的一些RDBMS功能创建另外的一些包和视图:
警告(Alerts) 管道(Pipes) 日志分析(LogMiner) 大对象(Large objects) 对象(Objects) 高级队列(Advanced queuing) 复制选项( Replication option) 其他的一些内建包和选项(Other built-ins and options)
有时出于安全考虑需要禁止一些业务系统的数据库用户执行sqlplus命令,方法很简单:在运行命令之前,将这些命令限制到一个由 SQL*Plus 引用的“特殊位置”。 此特殊位置是SYSTEM 模式中一个名为PRODUCT_USER_PROFILE 的表。 如果该表不存在,则您在每次启动 SQL*Plus 时将获得一个类似“Product User Profile Not Loaded”这样的警告。
为了创建这个表,需要运行pupbld.sql脚本。通常,这个脚本在$ORACLE_HOME/sqlplus/admin 路径中运行,具体的位置由系统决定。记住用system用户执行:
spfile是存储初始参数的文件,oracle中有大约200多个初始参数,都存在这里,还有一种叫pfile的文件也是存储初始参数的文件,两者的区别是,spfile是server端维护的,pfile是客户端维护的,spfile只能通过系统更改,pfile 可以使用文本文件打开后手工修改。
创建这一步需要使用sys用户,因为刚才连接的是system用户,需要连接到sys用户,然后在使用过程中如果出现上面的错误,需要先关闭一下数据库再重新启动即可。
为什么要创建spfile文件,因为原来在9i之前有pfile文件都在用户客户端,而且文本可以直接打开,每个客户端就可以修改,这样势必在启动时读取该配置文件带来了问题,所以Oracle引入了spfile放在服务器端,而且是二进制的文件,在启动实例时,先读取spfile文件,如果没有再读取initSID.ora,如果再没有读取pfile文件。
执行完毕之后我们就可以使用scott用户及其相关数据了。
关于Scott的由来可以参考:
http://blog.csdn.net/wh62592855/archive/2009/10/22/4712063.aspx
顺便了解一下Oracle的历史。
该步骤也是一样,用户可以使用netca创建,也可以将已有的配置文件修改后放到
C:/oracle/product/10.2.0/db_1/NETWORK/ADMIN下面即可。
配置完后就可以启动数据库了。
在执行相关命令后,会提示你输入相关的信息比如SID,端口号等,而且该步骤等待时间比较长。
参考文档:http://hi.baidu.com/sammyhxm/blog/item/e27ec111695118cda6ef3f09.html
该文档为作者在学习ArcGIS的一些笔记(自己学习、ArcGIS帮助、网络资源、高手请教相结合),难免有一些表达不全面或者理解有出入的,还请各位多多指教!
http://www.gisall.com/index.php?uid-121719 :欢迎访问GIS博客
http://blog.csdn.net/linghe301:欢迎访问GIS博客
或者在百度文科上搜索:linghe301
By Lish