`
- 浏览:
79452 次
- 性别:
- 来自:
广州
-
如何在LINUX环境中创建Oracle9i 数据库
一 创建数据库的步骤
创建一个可使用的数据库共需要六步来完成:其中三步用于创建数据库,其余三步用于设置数据库,让它可以使用。
1) 设置操作系统环境变量 ORACLE_HOME、ORACLE_SID、PATH 和 LD_LIBRARY_PATH。
2) 编辑/创建 initsid.ora 参数文件。
3) 在 SQL*Plus 中执行 CREATE DATABASE 命令。
4) 运行所需的 catalog.sql 和 catproc.sql 脚本。
5) 运行 pupbld.sql 脚本。
6) 创建用户数据的表空间以及数据库所需的任何其它表空间
二 设置环境
在创建数据库之前,必须配置 UNIX 环境,并且必须已安装了 Oracle9i Server。
必须设置四个环境变量:ORACLE_HOME、ORACLE_SID、PATH、LD_LIBRARY_PATH。
ORACLE_HOME 是安装 Oracle9i Server 的顶级目录的完整路径。ORACLE_HOME 目录应该由安装 Oracle9i Server 的人员提供,通常是 UNIX 管理员或 DBA。
ORACLE_SID 是给数据库例程分配的、可由用户定义的名称。操作系统使用 ORACLE_SID(系统标识符)来区分在同一台计算机上运行的各个数据库例程。
PATH 指定操作系统查找可执行程序(如 SQL*Plus)时要搜索的路径。Oracle9i 可执行程序位于 $ORACLE_HOME/bin 目录下,需要添加到 PATH 变量中。
LD_LIBRARY_PATH 定义所需库文件的存储目录。
示例
Bourne 或 Korn shell:
$ ORACLE_HOME=/u01/oracle9i/product/9.0.1; export ORACLE_HOME
$ ORACLE_SID=testdb; export ORACLE_SID
$ PATH=/usr/bin:/usr/ccs/bin:$ORACLE_HOME/bin; export PATH
$ LD_LIBRARY_PATH=/usr/lib:$ORACLE_HOME/lib; export LD_LIBRARY_PATH
C shell:
% setenv ORACLE_HOME /u01/oracle9i/product/9.0.1
% setenv ORACLE_SID testdb
% setenv PATH $PATH:$ORACLE_HOME/bin
% setenv LD_LIBRARY_PATH /usr/lib:$ORACLE_HOME/lib
三 编辑/创建 initsid.ora
每次数据库启动时,都会读取 initsid.ora 文件(可由用户配置的文本文件)。该文件中的参数将对数据库设置进行初始化。initsid.ora 文件中的参数设置不仅在启动时影响数据库,而且还影响数据库的创建方式。在创建数据库之前,必须先配置 initsid.ora 文件。
在安装 Oracle9i Server 时,就会将一个示例 init.ora 文件存放在 $ORACLE_HOME/dbs 中。将该文件作为备份文件保存,不要修改该文件;创建该文件的一个副本,并包含 ORACLE_SID 的名称。
示例
$ cd $ORACLE_HOME/dbs
$ cp init.ora inittestdb.ora
示例 init.ora 文件中有很多注释,这些注释包含有关参数设置的建议。
initsid.ora 中的参数不需要按顺序列出,如果多次列出某个参数,则使用该参数的最后一个设置。Oracle9i Reference 中建议将参数按字母顺序列出以免重复。
应该对某些参数进行配置,其中包括 db_name、control_files、background_dump_dest、user_dump_dest、core_dump_dest 和 undo_management。
将参数 background_dump_dest、user_dump_dest 和 core_dump_dest 设置为存放跟踪文件的完整路径位置:
• core_dump_dest 包含数据库生成的核心转储
• user_dump_dest 包含用户跟踪文件
• background_dump_dest 包含后台进程的跟踪文件和 alert.log。
db_name 是数据库的名称,其用途与 ORACLE_SID 不同。ORACLE_SID 是用于指定数据库例程的名称。db_name 和 ORACLE_SID 在多数情况下是相同的,但这并不是必需的。initsid.ora 中的 db_name 必须与创建数据库时 CREATE DATABASE 命令中使用的数据库名称相同(区分大小写)。
control_files 初始化参数为数据库指定每个控制文件的完整路径和文件名。在创建数据库时,它指定必须创建的控制文件。
undo_management 初始化参数确定是由 Oracle 服务器自动处理还原数据,还是由 DBA 手动处理还原数据。在初始化文件中将 undo_management 设置为 AUTO。
附录 A 结尾附有一个示例 inittestdb.ora 文件。
四 创建数据库
在设置环境并配置 initsid.ora 后,就可以创建数据库了。Oracle 数据库是通过执行 CREATE DATABASE 命令创建的。CREATE DATABASE 命令指定了日志文件的数量和位置、SYSTEM 表空间、UNDO 表空间和 TEMP 表空间的位置和大小,以及数据库使用的字符集(这并不是一个详尽的列表)。
可使用 Oracle 实用程序 SQL*Plus 创建数据库。UNIX 的 SQL*Plus 可执行程序是 sqlplus。
在创建数据库时,Oracle9i 服务器仅识别 SYS 用户和 SYSDBA 角色。要创建数据库,必须以用户 SYS 和角色 SYSDBA 的身份连接到 SQL*Plus。可以使用以下两种方法之一完成该操作。
1.如果连接 SQL*Plus 的 UNIX 用户是管理员组的成员(在 Oracle9i Server 安装期间定义),则使用以下语法:
$ sqlplus '/ as sysdba '
或者
$ sqlplus /nolog
SQL> connect / as sysdba
2. 如果连接 SQL*Plus 的 UNIX 用户不是管理员组的成员,则管理员必须创建数据库的口令文件,并且必须使用在口令文件中给 SYS 分配的口令。以下语法假定在口令文件中给 SYS 分配的口令是 oracle。
$ sqlplus 'sys/change_on_install as sysdba'
或者
$ sqlplus /nolog
SQL> connect sys/change_on_install as sysbda
创建和执行 SQL 语句的步骤是:
1.创建一个包含 CREATE DATABASE 命令的 SQL 脚本。(附录 A 的结尾附有一个创建数据库的示例脚本。)
2.使用上面所示的两种方法之一,以 SYS AS SYSDBA 的身份连接到 SQL*Plus。
3.在 NOMOUNT 模式下启动数据库。
4.执行 SQL 脚本。
示例
% sqlplus 'sys/change_on_install as sysdba'
SQL> startup nomount
ORACLE instance started.
Total System Global Area 21790532 bytes
Fixed Size 278340 bytes
Variable Size 16777216 bytes
Database Buffers 4194304 bytes
Redo Buffers 540672 bytes
SQL> @crdbtestdb.sql
SQL> CREATE DATABASE testdb
2 LOGFILE
3 GROUP 1 ('$HOME/ORADATA/testdb/redolog_testdb_01.rdo') SIZE 10M,
4 GROUP 2 ('$HOME/ORADATA/testdb/redolog_testdb_02.rdo') SIZE 10M
5 DATAFILE '$HOME/ORADATA/testdb/system_01_testdb.dbf' SIZE 100M
6 AUTOEXTEND ON NEXT 5M MAXSIZE 150M
7 DEFAULT TEMPORARY TABLESPACE temp
8 TEMPFILE '$HOME/ORADATA/testdb/temp_testdb_01.dbf' SIZE 15M
9 AUTOEXTEND ON NEXT 5M MAXSIZE 30M
10 CHARACTER SET WE8ISO8859P1
11 NATIONAL CHARACTER SET AL16UTF16
12 ;
Statement processed.
五 运行脚本
必须在创建数据库之后运行脚本 catalog.sql 和 catproc.sql,这两个脚本位于 $ORACLE_HOME/rdbms/admin 目录中。catalog.sql 脚本用于创建数据字典视图;catproc.sql 用于创建使用 PL/SQL 所需的程序包和过程。
必须以 SYS 的身份运行这两个脚本。在创建脚本之前,确保数据库已打开。
示例
% sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
在系统不忙的时候,运行这两个脚本总共需要 35 到 65 分钟。
在运行这些脚本后,验证对象是否有效。以下查询可返回所有无效的对象。
SQL> SELECT owner,object_name,object_type
2 FROM dba_objects
3 WHERE status = 'INVALID'
4 ORDER BY owner,object_type,object_name;
运行 pupbld.sql
pupbld.sql 脚本用于创建 “产品用户配置文件” (Product User Profile) 表以及相关的过程,该脚本位于 $ORACLE_HOME/sqlplus/admin 目录中。运行此脚本还可在每次用户连接到 SQL*Plus 时防止生成警告消息。必须以用户 SYSTEM 的身份运行此脚本。
$ sqlplus system/manager
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql
创建表空间
创建安装所需的其它表空间。
在数据库的安装过程中,通常创建以下表空间:
• users 用户数据
• tools 用户 SYSTEM 创建的对象(可选)
应该创建这两个表空间。
示例
SQL> create tablespace USERS
2 datafile '$HOME/ORADATA/testdb/users_testdb_01.dbf' SIZE 25M
3 PERMANENT
4 EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K
5 SEGMENT SPACE MANAGEMENT auto;
六 小结
• 设置 ORACLE_HOME、 ORACLE_SID、PATH 和 LD_LIBRARY_PATH。
• 编辑 initsid.ora。
• 执行 CREATE DATABASE 命令。
• 运行 catalog.sql 和 catproc.sql 脚本。
• 运行 pupbld.sql 脚本。
• 创建数据库所需的表空间。
•
示例 inittestdb.ora
background_dump_dest=$HOME/ADMIN/BDUMP
compatible=9.0.0
control_files=$HOME/ORADATA/testdb/ctrl_01_sid.ctl
core_dump_dest=$HOME/ADMIN/CDUMP
db_block_size=4096
db_cache_size=4M
db_domain=world
db_name=testdb
global_names=TRUE
instance_name=testdb
max_dump_file_size=10240
remote_login_passwordfile=exclusive
service_names=testdb
shared_pool_size=8M
undo_management=AUTO
user_dump_dest=$HOME/ADMIN/UDUMP
创建数据库的示例脚本
CREATE DATABASE testdb
LOGFILE
GROUP 1 ('$HOME/ORADATA/testdb/redolog_testdb_01.rdo') SIZE 10M,
GROUP 2 ('$HOME/ORADATA/testdb/redolog_testdb_01.rdo') SIZE 10M
DATAFILE '$HOME/ORADATA/testdb/system_testdb_01.dbf' SIZE 100M
AUTOEXTEND ON NEXT 5M MAXSIZE 150M
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '$HOME/ORADATA/testdb/temp_testdb_01.dbf' SIZE 15M
AUTOEXTEND ON NEXT 5M MAXSIZE 30M
CHARACTER SET ZHS16CGB231280
NATIONAL CHARACTER SET AL16UTF16
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在Linux服务器上安装Oracle数据库不是件容易的事情,经过一次次的失败后,终于搞定在Linux服务器上安装Oracle9i数据库,现将经验总结成文档,希望对大家有所帮助。解决运行dbca出错问题
使用Database Configuration Assistant (DBCA)来创建新的Oracle9i数据库是推荐的方法。首先,你需要以具有相应权限的用户(如"oracle")登录到Linux系统,然后运行dbca命令启动DBCA工具。DBCA提供了友好的图形界面,...
4. **Oracle9i数据库安装**: - **数据库服务器安装**:安装过程中,你需要遵循Oracle的安装向导,选择适当的安装类型(如“Server”或“Custom”),指定安装路径(如/ora9和/oradata),并配置数据库实例和监听器...
Oracle 9i数据库在Linux AS4上的安装是一个复杂的过程,涉及到多步骤的系统配置和环境设置。以下将详细解析这个过程: 1. **创建Oracle安装用户组和用户**: 在Linux环境中,为了安全和管理方便,Oracle数据库的...
在《Oracle9i数据库管理实务讲座》中,何致億详细介绍了如何在Linux环境下安装Oracle9i Enterprise Edition数据库系统。由于Oracle9i在Linux平台上的官方支持主要集中在SuSE Linux 7.1和7.2版本,因此教程以SuSE ...
在Linux操作系统下管理和优化Oracle9i数据库中的SQL语句是一项重要的技术任务,尤其对于数据库管理员而言。本篇文章主要探讨了如何在这样的环境下跟踪、发现和优化SQL语句,以提高系统性能并解决潜在的问题。 首先...
【正文】 在Linux环境下安装Oracle 9i是一项技术性较强的工作,涉及到多个步骤和依赖项的检查与安装。本文将详细解析如何在Linux AS...通过细心的准备和准确的操作,可以成功地在Linux AS4上搭建Oracle 9i数据库环境。
在Linux操作系统上运行超大型Oracle9i数据库需要考虑到操作系统的稳定性和效率。Linux以其开源、稳定和高性能的特点,成为了许多大型数据库系统的首选平台。文章中提到的64位Linux AS4操作系统提供了对大内存和多...
1. **Oracle9i的安装与配置**:在开始学习Oracle9i数据库管理前,首先需要了解如何在不同的操作系统平台上进行安装,包括Windows、Linux和Unix等。安装过程中涉及的组件有Oracle Database Server、Oracle ...
【Oracle 9i在Linux下的安装】是一篇关于在Linux环境下安装Oracle 9i企业版的教程,由美商甲骨文公司台湾分公司的特约顾问何致億撰写。Oracle 9i作为Oracle公司的一项重要产品,具有广泛的功能和应用,其复杂性和...
总结,手动创建Oracle9i数据库是一个复杂而细致的过程,涉及多个环节的精心配置与操作。从环境变量的设定、口令文件与初始化参数文件的创建,到数据库的最终创建与启动,每一步都需谨慎处理,以确保数据库的稳定性和...
在Linux系统中安装Oracle 9i数据库是一项技术性较强的任务,尤其对于初学者而言。以下是一份详尽的安装步骤指南,基于Redhat Linux Enterprise 4操作系统和Oracle 9.2.4数据库版本。 首先,确保你的系统满足最低...
Oracle 9i 在Linux平台上是完全支持的,这表明它可以跨操作系统平台运行,而不仅仅是局限于特定的操作系统。数据库、数据库管理系统(DBMS)和数据库系统之间的区别在于: - **数据库**(Database):是存储数据的...
总之,在Linux上安装Oracle Database 9i涉及创建用户和组、配置系统环境、安装兼容性软件、调整内核参数,以及一系列的数据库初始化和配置工作。每个步骤都需要仔细操作,以确保数据库的稳定运行和高效性能。
Oracle 9i数据库设计涉及多个方面,包括数据库环境配置、数据库设计原则以及关键参数的配置。以下是这些领域的详细说明: 1. **数据库环境配置**: - **作业系统环境**:Oracle 9i推荐使用Linux作为中小型数据库...
- [ship_9204_linux_disk1.cpio.gz](http://download.oracle.com/otn/linux/oracle9i/9204/ship_9204_linux_disk1.cpio.gz) - [ship_9204_linux_disk2.cpio.gz]...
在Linux环境下安装Oracle 9i是一项技术性强且需要细心操作的任务。Oracle数据库是企业级的数据库管理系统,广泛应用于各种业务场景。在Linux上部署Oracle 9i,除了基础的安装程序,还需要配合特定的补丁包来确保系统...