OS
[root@T_life_db etc]# uname -a
Linux T_life_db 2.6.18-238.el5 #1 SMP Sun Dec 19 14:22:44 EST 2010 x86_64 x86_64 x86_64 GNU/Linux
1创建新用户组
创建用户组oracle和dba
查看要创建的用户组是否存在
[root@T_life_db home]# less /etc/group
确定不存在,创建之
[root@T_life_db home]# groupadd oracle
[root@T_life_db home]# groupadd dba
2创建新用户
创建用户oracle
查看要创建的用户是否存在
[root@T_life_db oracle]# grep bash /etc/passwd
确定不存在,创建、分配组并初始化密码
[root@T_life_db home]# useradd oracle -g oracle -G dba
[root@T_life_db home]# passwd oracle
修改oracle软件卷和数据卷owner
[root@T_life_db home]#chown oracle:dba /oracle
[root@T_life_db home]#chown oracle:dba /oradata
3安装oracle10g软件
从另一同平台主机拷贝oracle软件tar包到软件卷。
本次通过SSH的ftp工具拷贝。
解tar包完成软件安装
[oracle@T_life_db ~]$tar xvf product.tar
4手动创建DB
4.1创建环境变量文件
创建环境变量文件prof_lifetest并加载,文件内容如下
PATH=/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/oracle/bin
export PATH
#Oracle DB 10g Environment
export ORACLE_SID=lifetest
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/db10gr2
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export ORA_NLS10=$ORACLE_HOME/nls/data
export LIBPATH=$ORACLE_HOME/lib32:$ORACLE_HOME/lib32:$ORACLE_HOME/ctx/lib
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$ORACLE_HOME/lib32:/usr/lib:/lib
export CLASSPATH=$ORACLE_HOME/product/jlib:$ORACLE_HOME/jlib:$ORACLE_HOME/jre
export PATH=$PATH:$ORACLE_HOME/bin
export ORACLE_DOC=$ORACLE_HOME
export TMP=/tmp
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'
export EDITOR=vi
export AIXTHREAD_SCOPE=S
set -o vi
umask 022
4.2创建dump目录
[oracle@T_life_db oracle]$ mkdir admin
[oracle@T_life_db oracle]$ cd admin
[oracle@T_life_db admin]$ mkdir lifetest
[oracle@T_life_db admin]$ cd lifetest
[oracle@T_life_db lifetest]$ mkdir -p adump bdump cdump udump
4.3创建数据文件目录
[oracle@T_life_db oradata]$ mkdir lifetest
4.4创建pfile
创建文件$ORACLE_HOME/dbs/initlifetest.ora 内容如下:
*._gby_hash_aggregation_enabled=false
*.aq_tm_processes=0
*.background_dump_dest='/oracle/admin/lifetest/bdump'
*.compatible='10.2.0.1.0'
*.control_files=/oradata/lifetest/control01.ctl,/oradata/lifetest/control02.ctl, /oradata/lifetest/control03.ctl
*.core_dump_dest='/oracle/admin/lifetest/cdump'
*.cursor_sharing='EXACT'
*.db_block_size=8192
*.db_domain='CCIC'
*.db_file_multiblock_read_count=16
*.db_files=1000
*.db_name='lifetest'
*.fast_start_mttr_target=300
*.global_names=TRUE
*.instance_name='lifetest'
*.job_queue_processes=10
*.log_buffer=1048576
*.NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'
*.open_cursors=800
*.OS_AUTHENT_PREFIX=''
*.pga_aggregate_target=200000000
*.processes=300
*.query_rewrite_enabled='FALSE'
*.remote_login_passwordfile='EXCLUSIVE'
*.remote_os_authent=FALSE
*.sessions=150
*.session_cached_cursors=100
*.session_max_open_files=20
*.sga_max_size=800000000
*.shared_pool_size=107497472
*.star_transformation_enabled='FALSE'
*.timed_statistics=TRUE
*.undo_management='AUTO'
*.undo_retention=10800
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/oracle/admin/lifetest/udump'
4.5创建密码文件
orapwd file=orapwlifetest password=oracle entries=5 force=y
4.6启动数据库
SQL>startup nomount
本次发生一些错误,详述如下。
错误1
现象
ORA-00600: internal error code, arguments: [keltnfy-ldmInit], [46], [1], [], [], [], [], []
原因
查询metalink得到问题原因,是由于获得主机信息时有错误。详见下面链接
https://support.oracle.com/CSP/ui/flash.html#tab=KBHome(page=KBHome&id=()),(page=KBNavigator&id=(from=BOOKMARK&bmDocID=336447.1&bmDocDsrc=KB&bmDocType=PROBLEM&bmDocTitle=Startup%20Database%20Produces%20Ora-00600:%20%5BKeltnfy-Ldminit%5D&viewingMode=1143))
处理
修改hosts文件.
$ more /etc/hosts
127.0.0.1 lifedbtest localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
增加一行。
10.0.13.198 T_life_db
确认通过hostname可以ping通。
[oracle@T_life_db dbs]$ ping T_life_db
PING T_life_db (10.0.13.198) 56(84) bytes of data.
64 bytes from T_life_db (10.0.13.198): icmp_seq=1 ttl=64 time=0.019 ms
64 bytes from T_life_db (10.0.13.198): icmp_seq=2 ttl=64 time=0.013 ms
错误2
现象
SQL> startup nomount
ORA-00371: not enough shared pool memory, should be atleast 107497472 bytes
原因
shared pool memory不足
处理
在pfile中添加一行
*.shared_pool_size=107497472
4.7创建建库脚本
建库脚本create_lifetest.sql,内容如下:
create database lifetest
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 16
MAXLOGMEMBERS 5
MAXDATAFILES 1000
DATAFILE
'/oradata/lifetest/system01.dbf' size 200m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/oradata/lifetest/sysaux01.dbf' size 200m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/oradata/lifetest/temp01.dbf' size 200m reuse autoextend on next 1m maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/oradata/lifetest/undo01.dbf' size 200m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/oradata/lifetest/redo1.dbf') size 256m,
GROUP 2 ('/oradata/lifetest/redo2.dbf') size 256m,
GROUP 3 ('/oradata/lifetest/redo3.dbf') size 256m
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;
4.8执行建库脚本
SQL> @create_lifetest.sql
Database created.
耗时大约几分钟。时间随创建文件的大小变化。注意建库脚本要在nomount状态下运行。本次运行出现一些错误,详述如下。
错误1
现象
alert log显示
CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE
'/oradata/lifetest/undo01.dbf' size 200m reuse autoextend on next 5M maxsize unlimited

ORA-30012 signalled during: CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE
'/oradata/lifetest/undo01.dbf' size 200m reuse autoextend on next 5M maxsize unlimited
...
Tue Mar 8 11:57:54 2011
Errors in file /oracle/admin/lifetest/udump/lifetest_ora_16414.trc:
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'UNDODBS1' does not exist or of wrong type
Tue Mar 8 11:57:54 2011
Errors in file /oracle/admin/lifetest/udump/lifetest_ora_16414.trc:
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 5792
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'UNDODBS1' does not exist or of wrong type
Error 1519 happened during db open, shutting down database
USER: terminating instance due to error 1519
Instance terminated by USER, pid = 16414
ORA-1092 signalled during: create database lifetest
lifetest_ora_16414.trc 显示
*** 2011-03-08 11:57:48.166
*** SERVICE NAME:() 2011-03-08 11:57:48.166
*** SESSION ID:(323.3) 2011-03-08 11:57:48.166
kccsga_update_ckpt: num_1 = 1, num_2 = 0, num_3 = 0, lbn_2 = 0, lbn_3 = 0
Control file created with size 864 blocks
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'UNDODBS1' does not exist or of wrong type
Offending statement at line 5792
CREATE UNDO TABLESPACE UNDOTBS1 DATAFILE
'/oradata/lifetest/undo01.dbf' size 200m reuse autoextend on next 5M maxsize unlimited
ORA-01501: CREATE DATABASE failed
ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 5792
ORA-00604: error occurred at recursive SQL level 1
ORA-30012: undo tablespace 'UNDODBS1' does not exist or of wrong type
原因
建库脚本和pfile中对undo表空间的描述不一致。
pfile中
*.undo_tablespace='UNDODBS1'
建库脚本中
undo tablespace UNDOTBS1 datafile
处理
修改pfile同建库脚本一致。关闭数据库并重启到nomount。
错误2
现象
再次执行建库脚本
SQL> @create_lifetest.sql
create database lifetest
*
ERROR at line 1:
ORA-01501: CREATE DATABASE failed
ORA-00200: control file could not be created
ORA-00202: control file: '/oradata/lifetest/control01.ctl'
ORA-27038: created file already exists
Additional information: 1

SQL> @create_lifetest.sql
create database lifetest
*
ERROR at line 1:
ORA-01501: CREATE DATABASE failed
ORA-00301: error in adding log file '/oradata/lifetest/redo1.dbf' - file cannot
be created
ORA-27038: created file already exists
Additional information: 1
原因
上次建库失败时的遗留的controlfile,redo log没有清除
处理
[oracle@T_life_db lifetest]$ rm *.ctl
[oracle@T_life_db lifetest]$ rm redo*
4.9创建数据字典
数据库创建完成后,v$动态视图可以使用,DBA_XXX等视图还不可用。
再运行脚本创建ORACLE的数据字典。建议spool输出脚本运行结果,便于排查错误。
SQL>@?/rdbms/admin/catalog.sql
SQL>@?/rdbms/admin/catproc.sql
SQL>@?/rdbms/admin/catexp.sql
这3个脚本的执行时间均需要几分钟。
到此手动创建DB过程完成。
5配置监听和tns
5.1listener.ora中增加配置
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = lifetest)
(ORACLE_HOME = /oracle/product/db10gr2)
)
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = T_life_db)(PORT = 1521))
)
)
启动监听
[oracle@T_life_db admin]$ lsnrctl start
5.2tnsnames.ora中增加配置
lifetest =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.0.13.198)(PORT = 1521))
)
(CONNECT_DATA =
(SID = lifetest)
)
)
远程登录验证无误。

转载于:https://blog.51cto.com/liujia/780734

Linux环境手动创建oracle10g数据库实践相关推荐

  1. linux环境手动编译安装Nginx实践过程 附异常解决

    linux环境手动编译安装Nginx实践过程 附异常解决 参考文章: (1)linux环境手动编译安装Nginx实践过程 附异常解决 (2)https://www.cnblogs.com/david9 ...

  2. linux 创建一个数据库,Linux下手动创建一个数据库

    这是自己手动创建一个Oracle数据库的过程. 在Linux下虽然通过dbca也可以创建数据库,但是在某些环境下却是不能使用图形环境,如数据库服务器在机房,并且开放的端口有限制,或者需要批量创建数据库 ...

  3. oracle 手动注册服务器,linux下手动创建Oracle数据库

    在linux平台上手动创建数据库(Oracle 10g),安装Oracle软件后,用手动创建数据库可以锻炼自己能力并能够了解数据库创建的全过程,步骤如下: 1.创建Oracle的SID,如果在linu ...

  4. linux环境下创建postgis数据库,Linux下安装Postgis数据库

    三.部署数据库: 都放到 /mapbar/app 下面 1. 安装postgres + postgis: [pgsql安装] tar -zxvf postgresql-8.2.23.tar.gz cd ...

  5. linux环境下创建postgis数据库,linux下搭建postgresql、postgis、pg_pathman环境步骤详解...

    操作系统:centOS6.6 安装postgreSQL9.6.2 安装命令: ./postgresql-9.6.3-2-linux-x64.run 之后按照图形界面操作安装,语言选择zh_CN UTF ...

  6. 【Linux】手把手教你在 Linux 环境下部署 Oracle 数据库!

    来源:公众号[杰哥的IT之旅] 作者:三笠 相信大家第一次接触 Oracle 数据库时,大多数是在 windows 环境下安装,方便快捷,基本上可以说是一直下一步就能顺利安装成功.然而企业级的数据库, ...

  7. oracle创建数据库后干什么,手动创建Oracle数据库之前因后果

    对于许多数据库管理员来说,Oracle究竟是不是一个难以管理和驾驭的怪兽级数据库,会不会让他们管理生涯饱受折磨?当看到其命令行界面时,很多人会问这么一个问题. 如果你想通过一个应用程序操控使用这个数据 ...

  8. oracle为什么要创建数据库,手动创建Oracle数据库之前因后果

    对于许多数据库管理员来说,究 竟是不是一个难以管理和驾驭的怪兽级数据库,会不会让他们管理生涯饱受折磨?当看到其命令行界面时,很多人会问这么一个问题.如果你想通过一个应用程序操 控使用这个数据库,那么你 ...

  9. 1.手动创建Oracle数据库

    毕业了,整理下本科期间自己记的笔记. 这个是之前上Oracle数据库的课的时候老师交给我们的任务,每个人都必须按照步骤手动创建数据库 手动创建Oracle数据库的步骤如下: 1.设置数据库名称和实例名 ...

最新文章

  1. 0715PHP基础:文件操作
  2. ISATAP隧道技术及实践
  3. cass有坐标文件生成里程文件_怎样用CASS生成里程文件,带桩号的
  4. Android-源码剖析CountDownTimer(倒计时类)
  5. Java程序员面试时要注意的一些问题
  6. 每个Java开发人员应拥有的持久断点
  7. 【题解】Luogu P2347 砝码称重
  8. _一文让你透彻理解Linux的SOCKET编程(含实例解析)
  9. 读高性能网站建设指南
  10. Python2.7.3 学习——准备开发环境
  11. 关于冒泡、快排、二分排序算法分析
  12. Bi系统 :poli部署
  13. 七牛云智能日志管理平台的应用与设计
  14. 微信小程序分享和转发朋友圈功能
  15. ppt图片特效 c语言实现,用了这么久的PPT,才知道PPT可以一键生成特效图片!太好看了...
  16. 判断闰年和平年的程序
  17. 数据库服务器使用的RAID存储架构初步介绍
  18. android 11源码OTA升级封装及U盘检测
  19. su组件在什么窗口,【答疑】草图大师Sketchup组件窗口快捷键是什么呢? - 羽兔网问答...
  20. 行业:美团将在快手开放平台上线美团小程序

热门文章

  1. 理解Java枚举类型
  2. 使用Python的http.server实现一个简易的Web Api对外提供HanLP拼音转换服务
  3. ACID、数据库隔离级别
  4. 二逼平横树——线段树套平衡树
  5. Cannot add or update a child row:
  6. [Noip模拟赛] Polygon
  7. 复原所有面板设置+剪切板
  8. HDU ACM 1162 Eddy's picture
  9. Google Calendar API练习
  10. python怎么连接mysql数据库_python如何连接mysql数据库