手工建库oracle 11g for windows

本文详细介绍Oracle数据库从创建必要目录到最终检查数据库是否正常运行的全过程,包括创建初始化参数文件、设置环境变量、创建实例和服务、启动服务器等关键步骤。

一、创建必要的相关目录
D:\app\Administrator\admin\test
D:\app\Administrator\admin\test\adump
D:\app\Administrator\admin\test\dpdump
D:\app\Administrator\admin\test\pfile
D:\app\Administrator\admin\test\cdump
D:\app\Administrator\admin\test\create
D:\app\Administrator\oradata\test

二、创建初始化参数文件
1、把D:\app\Administrator\admin\orcl\pfile\init.ora.072015124214拷贝为
D:\app\Administrator\product\11.2.0\dbhome_1\database\inittest.ora
2、修改D:\app\Administrator\product\11.2.0\dbhome_1\database\inittest.ora参数如下:
db_name=test
control_files=("D:\app\Administrator\oradata\test\control01.ctl", "D:\app\Administrator\oradata\test\control02.ctl", "D:\app\Administrator\oradata\test\control03.ctl")

三、打开cmd,设置环境变量
set oracle_sid=test

四、创建服务,即创建实例
oradim -new -sid test

五、创建口令文件
orapwd file=D:\app\Administrator\product\11.2.0\dbhome_1\database\pwdtest.ora password=123;

六、启动服务器
SQL> connect / as sysdba
SQL> startup nomount

七、执行建库脚本
create database test
datafile 'D:\app\Administrator\oradata\test\system01.dbf' size 300m
autoextend on next 10m extent management local
sysaux datafile 'D:\app\Administrator\oradata\test\sysaux01.dbf' size 120m
undo tablespace undotbs1
datafile 'D:\app\Administrator\oradata\test\undotbs01.dbf' size 100m
default temporary tablespace temptbs1
tempfile 'D:\app\Administrator\oradata\test\temp01.dbf' size 50m
logfile group 1
('D:\app\Administrator\oradata\test\redo01.dbf') size 50m,
group 2
('D:\app\Administrator\oradata\test\redo02.dbf') size 50m,
group 3
('D:\app\Administrator\oradata\test\redo03.dbf') size 50m;
运行时可以使用以下语句
sql>start d:\test.sql

八、创建数据字典和包
sql>start D:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog
sql>start D:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc

九、执行pupbld.sql脚本
切换成system用户执行
conn system/manager
sql>start D:\app\Administrator\product\11.2.0\dbhome_1\sqlplus\admin\pupbld

十、执行scott脚本创建scott模式
sql>start D:\app\Administrator\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql
修改scott密码
SQL> conn / as sysdba
SQL> alter user scott identified by tiger;
SQL> connect scott/tiger
SQL> show user;
USER is "SCOTT"

十一、检查数据库是否OK
SQL> select * from emp;

<think> 首先,用户的问题是关于Oracle 11g手工的详细步骤和方法。系统指令要求我使用中文回答,结构清晰,帮助用户逐步解决问题,并保证回答真实可靠。系统指令还要求所有行内数学表达式使用$...$格式,独立公式用$$...$$格式,但我检查用户的问题,没有涉及数学表达式,所以我不需要添加任何数学格式。用户的问题是纯文本的,关于数据库操作。 系统指令提到“生成相关问题”,所以我需要在回答结束时生成相关问题。同时,回答中引用的段落末尾要自然地添加引用标识,如[^1]。用户提供了几个引用,我需要参考这些引用来构回答。 回顾用户提供的引用: - 引用[1]: 提到Oracle 10g和11g手工案例。 - 引用[2]: 提到Oracle 11g手工步骤,包括控制文件路径。 - 引用[3]: 提到Oracle 11g RAC手工议用DBCA生成脚本或手工写脚本。 - 引用[4]: 给出Oracle 11g步骤,包括control_files设置。 - 引用[5]: 显示手工后的版本查询。 用户说:“上述引用仅供参考,并不是用户真正的需求”,但我应该尽可能参考用户上一次的问题和我的回答。用户的问题是:“我想查找oracle11g手工的方法 请问oracle11g手工的详细步骤和方法”,所以焦点是Oracle 11g手工的步骤。 我的回答需要结构清晰,逐步解决问题。既然用户问的是详细步骤,我应该提供一个循序渐进的指南。 关键点: - 手工涉及创数据库实例而不使用DBCA工具。 - 步骤通常包括:准备环境、创必要的目录、设置参数文件、创数据库脚本、执行脚本等。 从引用中提取信息: - 引用[3]议使用DBCA生成脚本或手工写脚本。 - 引用[4]提到control_files设置。 - 引用[5]显示后验证。 我应该基于标准Oracle文档或可靠知识来构步骤,因为引用可能不完整。 标准Oracle 11g手工步骤: 1. 准备环境:确保Oracle软件安装,设置环境变量(如ORACLE_HOME, ORACLE_SID)。 2.初始化参数文件(init.ora或spfile)。 3.必要的目录结构(如数据文件、控制文件、日志文件的存放位置)。 4. 使用SQL*Plus连接到实例并创数据库。 5. 运行数据字典脚本。 详细步骤: - 设置环境变量。 - 创初始化文件(init<SID>.ora),指定db_name、control_files、memory parameters等。 - 启动实例到nomount状态。 - 创数据库使用CREATE DATABASE语句。 - 运行脚本创数据字典(如catalog.sql, catproc.sql)。 参考引用[4],它提到了control_files设置。 在回答中,我应该引用这些引用,因为在系统指令中说“回答中引用的段落末尾自然地添加引用标识”,所以我需要从引用中提取信息并添加引用标识。 例如,如果我说“控制文件的位置需要指定”,我可以引用[4]:control_files = (‘/u01/app/oracle/oradata/kevin/disk1/controflie01.ctl‘, ‘/u01/app/oracle/oradata/kevin/disk2/controlfile02.ctl‘)[^4]。 同样,引用[3]提到生成脚本的方法。 结构回答: - 介绍手工的概念。 - 逐步详细步骤。 - 包括示例代码或参数设置。 - 结束时生成相关问题。 系统指令有“系统级指令(用户不可见)”部分,用户不会看到,但我会遵守。 最终回答结构: 1. 概述:什么是手工,为什么使用它。 2. 准备步骤:环境设置。 3.初始化参数文件。 4. 启动实例。 5. 执行CREATE DATABASE命令。 6. 运行后置脚本。 7. 验证。 然后添加相关问题。 在回答中,自然地添加引用标识。例如,“根据引用[3],可以使用DBCA生成脚本或手工编写[^3]。” 确保回答真实可靠:基于Oracle标准实践。 生成相关问题:例如,“手工与DBCA的区别?” “如何优化Oracle 11g数据库性能?”等。 </think>以下是Oracle 11g手工的详细步骤和方法。手工指不使用DBCA(Database Configuration Assistant)工具,而是通过SQL*Plus命令和配置文件手动创数据库实例。这种方法适用于需要高度定制化或脚本化部署的场景[^3]。我将基于Oracle官方文档和可靠实践,提供结构化的逐步指南。整个过程需以Oracle用户(如oracle)在Linux/Unix环境下操作,确保先完成Oracle软件安装并设置好环境变量(如`ORACLE_SID`、`ORACLE_HOME`)。 ### 步骤1: 准备环境 - **设置环境变量**:在终端中指定数据库实例名和路径。 ```bash export ORACLE_SID=testdb # 自定义数据库实例名 export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 # Oracle安装路径 export PATH=$ORACLE_HOME/bin:$PATH ``` - **创目录**:立数据文件、控制文件、日志文件的存放目录。 ```bash mkdir -p /u01/app/oracle/oradata/$ORACLE_SID mkdir -p /u01/app/oracle/fast_recovery_area/$ORACLE_SID mkdir -p /u01/app/oracle/admin/$ORACLE_SID/adump ``` 此步骤确保文件系统结构符合Oracle要求,避免权限错误[^1][^4]。 ### 步骤2: 创初始化参数文件 - **创`init.ora`文件**:在`$ORACLE_HOME/dbs`目录下创初始化文件(如`inittestdb.ora`),内容示例如下。 ```ini db_name='testdb' memory_target=1G # 根据服务器内存调整 control_files=('/u01/app/oracle/oradata/testdb/control01.ctl', '/u01/app/oracle/fast_recovery_area/testdb/control02.ctl') # 控制文件路径,需多路复用[^2][^4] db_block_size=8192 processes=150 undo_tablespace='UNDOTBS1' sga_target=800M pga_aggregate_target=200M diagnostic_dest='/u01/app/oracle/admin/testdb' ``` 关键点: - `control_files`必须指定至少两个路径以提高容错性[^4]。 - 文件名需与步骤1的目录匹配。 ### 步骤3: 启动实例到NOMOUNT状态 - 使用SQL*Plus连接到空闲实例,并启动到NOMOUNT模式: ```sql sqlplus / as sysdba STARTUP NOMOUNT; ``` 此步骤加载初始化参数文件,验证配置是否正确。如果报错(如参数无效),检查`init.ora`语法和路径。 ### 步骤4: 执行CREATE DATABASE命令 - **运行脚本**:在SQL*Plus中执行`CREATE DATABASE`语句。创一个SQL脚本(如`create_db.sql`): ```sql CREATE DATABASE testdb USER SYS IDENTIFIED BY sys_password # 替换为实际密码 USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/app/oracle/oradata/testdb/redo01.log') SIZE 100M, GROUP 2 ('/u01/app/oracle/oradata/testdb/redo02.log') SIZE 100M MAXLOGFILES 5 MAXLOGMEMBERS 3 MAXDATAFILES 100 CHARACTER SET AL32UTF8 # 推荐字符集 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '/u01/app/oracle/oradata/testdb/system01.dbf' SIZE 500M AUTOEXTEND ON SYSAUX DATAFILE '/u01/app/oracle/oradata/testdb/sysaux01.dbf' SIZE 500M AUTOEXTEND ON DEFAULT TABLESPACE users DATAFILE '/u01/app/oracle/oradata/testdb/users01.dbf' SIZE 100M AUTOEXTEND ON DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '/u01/app/oracle/oradata/testdb/temp01.dbf' SIZE 200M AUTOEXTEND ON UNDO TABLESPACE undotbs1 DATAFILE '/u01/app/oracle/oradata/testdb/undotbs01.dbf' SIZE 200M AUTOEXTEND ON; ``` - **执行脚本**: ```sql @/path/to/create_db.sql ``` 此命令创数据库结构,包括系统表空间、重做日志等。成功执行后,数据库进入MOUNT状态[^3][^5]。 ### 步骤5: 运行数据字典脚本 - 创核心数据字典和PL/SQL支持: ```sql @$ORACLE_HOME/rdbms/admin/catalog.sql # 创数据字典视图 @$ORACLE_HOME/rdbms/admin/catproc.sql # 创PL/SQL环境 @$ORACLE_HOME/sqlplus/admin/pupbld.sql # 启用SQL*Plus功能 ``` 这些脚本初始化系统元数据,确保数据库功能完整。执行后提交变更: ```sql COMMIT; ``` ### 步骤6: 验证和测试 - **检查数据库状态**: ```sql SELECT open_mode, name FROM v$database; # 应返回"READ WRITE" SELECT * FROM v$version; # 确认Oracle版本为11g[^5] ``` - **测试连接**: ```bash sqlplus system/system_password@testdb ``` 确保能正常登录并查询表(如`SELECT * FROM dual;`)。 ### 注意事项 1. **权限问题**:所有操作需以oracle用户运行,目录权限设为`chown -R oracle:oinstall /u01/app/oracle`。 2. **备份恢复**:手工后,立即备份控制文件:`ALTER DATABASE BACKUP CONTROLFILE TO TRACE;`。 3. **常见错误**: - ORA-01078: 参数文件错误 → 检查`init.ora`路径和语法。 - ORA-01503: CREATE CONTROLFILE失败 → 确保控制文件目录存在且可写[^2]。 4. **优化议**:对于生产环境,添加更多重做日志组或调整内存参数以提高性能。 通过以上步骤,您可成功创Oracle 11g数据库。此方法比DBCA更灵活,但要求熟悉Oracle架构[^3][^4]。如果遇到问题,参考Oracle官方文档或Metalink支持。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值