oracle 10g 创建数据库(手工)
2015-09-19 13:09
661 查看
oracle 10g 创建数据库(手工)
第一:手工建库
手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库需要经过几个步骤,每一个步骤都非常关键。它包括:
1. 创建必要的相关目录
2. 创建初始化参数文件
3. 设置环境变量Oracle_sid
4. 创建实例
5. 创建口令文件
6. 启动数据库到nomount(实例)状态
7. 执行建库脚本
8. 执行catalog脚本创建数据字典
9. 执行catproc创建package包
10. 执行pupbld
11. 由初始化参数文件创建spfile文件
12. 执行scott脚本创建scott模式
13. 用命令测试数据库创建是否完成
14. 配置EM,使得能够通过浏览器管理和控制数据库
Oracle的安装路径:/u01/app/oracle/ 创建的数据库名称:ocpone
做完了以上的步骤之后就可以使用“SQL>alter database open;”
打开数据库正常的使用了。
实验系统平台:CentOS5.5 数据库系统版本:Oracle Database 10g
Oracle的安装路径:/u01/app/oracle/
创建的数据库名称:ocpone
#切换路径
[oracle@localhost orcl]$ cd /u01/app/oracle/oradata/orcl/
[oracle@localhost orcl]$ ls
control01.ctl example01.dbf redo03.log temp01.dbf
control02.ctl redo01.log sysaux01.dbf undotbs01.dbf
control03.ctl redo02.log system01.dbf users01.dbf
1、打开命令行工具,创建必要的相关目录
#创建相关目录
[oracle@localhost orcl]$
adump, bdump, dpdump, udump 应放在/u01/app/oracle/admin/"SID"/ 路径下
adump :审计信息
bdump :后台进程trace 和alert log ,就是说 alert_sid.log也存在这个目录中
cdump :core trace,一般是用来日志应用程序的 除非数据库出了问题 否则基本上不会有什么信息
dpdump:是存放一些登录信息的
pfile :初始化参数文件 initSID
udump :前台手动trace的 比如sql trace之后session的trace文件
mkdir /u01/app/oracle/admin/ocpone
mkdir /u01/app/oracle/admin/ocpone/adump
mkdir /u01/app/oracle/admin/ocpone/bdump
mkdir /u01/app/oracle/admin/ocpone/cdump
mkdir /u01/app/oracle/admin/ocpone/dpdump
mkdir /u01/app/oracle/admin/ocpone/udump
mkdir /u01/app/oracle/admin/ocpone/pfile
/u01/app/oracle/admin/ocpone目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。
最重要的两上子目录是bdump和udump目录,bdump目录存放的是数据库运行过程中的各个后台进程的跟踪信息,
当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,
手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。
datafile应放在/u01/app/oracle/oradata/"SID"/ 路径下
mkdir /u01/app/oracle/oradata/ocpone
/u01/app/oracle/oradata/ocpone目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。
或者用下面方法创建目录,先配置好环境变量,然后再创建所需目录。好像比较方便。
1.需要先修改好环境变量:
[oracle@localhost ~]$ vi .bash_profile
....
export PATH
umask 022
export ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_HOME
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH; export PATH
NLS_LANG='Simplified Chinese_china'
DB_HOME=/u01/app/oracle/oradata
......
2.创建
mkdir -p $ORACLE_BASE/admin/ocpone
cd $ORACLE_BASE/admin/ocpone
mkdir adump bdump cdump dpdump udump pfile
mkdir -p $DB_HOME/ocpone
2、创建初始化参数文件
数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此,初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。
可以拷贝现有的初始化参数文件并将其做适当的修改,没有必要用手工去一句一句地写出来,因为初始化参数文件的结构体系基本上都是一样的。在安装Oracle的时候,系统已经安装了一个名为orcl的启动数据库,于是可以从它那里得到一份初始化参数文件。
找到orcl的init.ora文件,拷贝后修改。
[oracle@localhost orcl]$ cd /u01/app/oracle/admin/orcl/pfile
[oracle@localhost pfile]$ ls
init.ora.814201534429
[oracle@localhost pfile]$ cat init.ora.814201534429
##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_file_multiblock_read_count=16
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# Database Identification
###########################################
db_domain=""
db_name=orcl
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=/u01/app/oracle/admin/orcl/bdump
core_dump_dest=/u01/app/oracle/admin/orcl/cdump
user_dump_dest=/u01/app/oracle/admin/orcl/udump
###########################################
# File Configuration
###########################################
control_files=("/u01/app/oracle/oradata/orcl/control01.ctl", "/u01/app/oracle/oradata/orcl/control02.ctl", "/u01/app/oracle/oradata/orcl/control03.ctl")
db_recovery_file_dest=/u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size=2147483648
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# SGA Memory
###########################################
sga_target=605028352
###########################################
# Security and Auditing
###########################################
audit_file_dest=/u01/app/oracle/admin/orcl/adump
remote_login_passwordfile=EXCLUSIVE
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=orclXDB)"
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=201326592
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1
[oracle@localhost pfile]$
#拷贝初始化参数文件,将init.ora.814201534429拷贝为initocpone.ora
cp /u01/app/oracle/admin/orcl/pfile/init.ora.814201534429 /u01/app/oracle/admin/ocpone/pfile/initocpone.ora
#
[oracle@localhost pfile]$ cp /u01/app/oracle/admin/orcl/pfile/init.ora.81420153429 /u01/app/oracle/admin/ocpone/pfile/initocpone.ora
[oracle@localhost pfile]$ cd /u01/app/oracle/admin/ocpone/pfile
[oracle@localhost pfile]$ ls
initocpone.ora
[oracle@localhost pfile]$ vi initocpone.ora
#修改实例名,和相应的路径
[oracle@localhost pfile]$ cat initocpone.ora
##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_file_multiblock_read_count=16
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# Database Identification
###########################################
db_domain=""
db_name=ocpone ——修改为当前数据库名称
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=/u01/app/oracle/admin/ocpone/bdump
core_dump_dest=/u01/app/oracle/admin/ocpone/cdump
user_dump_dest=/u01/app/oracle/admin/ocpone/udump
——修改了路径
###########################################
# File Configuration
###########################################
control_files=("/u01/app/oracle/oradata/ocpone/control01.ctl", "/u01/app/oracle/oradata/ocpone/control02.ctl", "/u01/app/oracle/oradata/ocpone/control03.ctl")
db_recovery_file_dest=/u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size=2147483648
——修改了control_files路径
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# SGA Memory
###########################################
sga_target=605028352
###########################################
# Security and Auditing
###########################################
audit_file_dest=/u01/app/oracle/admin/ocpone/adump
remote_login_passwordfile=EXCLUSIVE
——修改了路径
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=ocponeXDB)"
——orcl改成ocpone
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=201326592
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1
――注意此处的“UNDOTBS1”要和建库脚步本中对应
#创建pfile文件
[oracle@localhost create]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs/
[oracle@localhost dbs]$ ls
hc_orcl.dat init.ora orapwocpone spfileorcl.ora
initdw.ora lkORCL orapworcl
[oracle@localhost dbs]$ cat init.ora
[oracle@localhost dbs]$ strings spfileorcl.ora > initocpone.ora
[oracle@localhost dbs]$ vi initocpone.ora
#orcl全部改为ocpone
ocpone.__db_cache_size=423624704
ocpone.__java_pool_size=4194304
ocpone.__large_pool_size=4194304
ocpone.__shared_pool_size=167772160
ocpone.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ocpone/adump'
*.background_dump_dest='/u01/app/oracle/admin/ocpone/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/ocpone/control01.ctl','/u01/app/oracle/oradata/ocpone/control02.ctl','/u01/app/oracle/oradata/ocpone/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/ocpone/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
ocpone.__db_cache_size=423624704
ocpone.__java_pool_size=4194304
ocpone.__large_pool_size=4194304
ocpone.__shared_pool_size=167772160
ocpone.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ocpone/adump'
*.background_dump_dest='/u01/app/oracle/admin/ocpone/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/ocpone/control01.ctl','/u01/app/oracle/oradata/ocpone/control02.ctl','/u01/app/oracle/oradata/ocpone/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/ocpone/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ocpone'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ocponeXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=201326592
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=605028352
#不open没有办法重新创建undo 表空间,所以决定先用系统默认的undo表空间来启动,然后重建undo
#*.undo_management='AUTO'
#*.undo_tablespace='UNDOTBS1'
undo_management=manual
undo_tablespace='system'
*.user_dump_dest='/u01/app/oracle/admin/ocpone/udump'
3、打开命令行,设置环境变量oracle_sid
[oracle@localhost pfile]$ cd /
[oracle@localhost /]$ export ORACLE_SID=ocpone
[oracle@localhost /]$ echo $ORACLE_SID
ocpone
设置环境变量的目地是在默认的情况下,指定命令行中所操作的数据库实例是ocpone。
4.创建密码文件
[oracle@localhost oracle]$ cd $ORACLE_HOME/dbs
[oracle@localhost product]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs
[oracle@localhost dbs]$ ls
hc_orcl.dat initdw.ora init.ora lkORCL orapworcl spfileorcl.ora
#密码文件名:orapw&"SID"
[oracle@localhost dbs]$ orapwd file=orapwocpone password='密码'
[oracle@localhost dbs]$ ls
hc_orcl.dat init.ora orapwocpone spfileorcl.ora
initdw.ora lkORCL orapworcl
5.修改监听
[oracle@localhost oracle]$ cd $ORACLE_HOME/network/admin
或者
[oracle@localhost 10.2.0]$ cd /u01/app/oracle/product/10.2.0/db_1/network/admin/
[oracle@localhost admin]$ ls
listener.ora samples shrept.lst sqlnet.ora tnsnames.ora
[oracle@localhost admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
#复制已有的ORCL,然后直接修改SERVICE_NAME
#ocpone
OCPONE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ocpone)
)
)
"tnsnames.ora" 40L, 743C written
[oracle@localhost admin]$
#创建建库脚本:
[oracle@localhost ~]$ cd $ORACLE_BASE/admin/ocpone
[oracle@localhost ocpone]$ ls
adump cdump dbupm dpdump pfile udump
[oracle@localhost ocpone]$ mkdir create
[oracle@localhost ocpone]$ cd create/
[oracle@localhost create]$ ls
此处存放安装的日志和脚本
6. 创建实例(即后台控制服务)
[oracle@localhost admin]$ echo $ORACLE_SID
ocpone
[oracle@localhost admin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 15 22:10:58 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
//----------------------------------------------------------------------//
#出现问题,提示参数不对
SQL> conn / as sysdba
Connected to an idle instance.
SQL> spool $ORACLE_BASE/admin/ocpone/create/createdb
SP2-0606: Cannot create SPOOL file "/u01/app/oracle/admin/ocpone/create/createdb.lst"
SQL>
SQL> startup nomount
ORA-00444: background process "MMAN" failed while starting
ORA-07446: sdnfy: bad value '' for parameter .
SQL>
#经查/u01/app/oracle/product/10.2.0/db_1/dbs/下的initocpone.ora文件没有,补做
[oracle@localhost dbs]$ strings spfileorcl.ora > initocpone.ora
#查看
[oracle@localhost dbs]$ vi initocpone.ora
initocpone.ora 中的
background_dump_dest='/u01/app/oracle/admin/ocpone/bdump'
前面创建文件夹时创建错了,创建了一个dbupm文件夹,应该是bdump文件夹,重新补一个
[oracle@localhost ocpone]$ ls
adump cdump create dbupm dpdump pfile udump
[oracle@localhost ocpone]$ mkdir bdump
[oracle@localhost ocpone]$ ls
adump bdump cdump create dbupm dpdump pfile udump
//----------------------------------------------------------------------//
#启动到nomount状态
SQL> startup nomount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 176164652 bytes
Database Buffers 423624704 bytes
Redo Buffers 7163904 bytes
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
参考文档:
Linux 手工建建立oracle 数据库
http://blog.sina.com.cn/s/blog_8fa7b9f50101cntf.html
[oracle@localhost admin]$ echo $ORACLE_SID
ocpone
[oracle@localhost admin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 15 23:55:42 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> startup nomount
ORA-01031: insufficient privileges
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup nomount pfile='$ORACLE_HOME/dbs/initocpone.ora';
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 176164652 bytes
Database Buffers 423624704 bytes
Redo Buffers 7163904 bytes
#初始化参数:
PFILE: Initialization Parameter Files,初始化参数文件,是个文本文件,可以使用编辑器修改该文件的内容。
SPFILE: Server Parameter Files, 服务器参数文件,是二进制文件,不能直接编辑。
SPFILE命名规范:spfile&"SID".ora
#创建SPFILE文件,
SQL> create spfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/spfileocpone.ora' from pfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/initocpone.ora';
File created.
或
SQL> create spfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/spfileocpone.ora' from pfile = '$ORACLE_HOME/dbs/initocpone.ora';
#出现错误
create database ocpone
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
脚本在执行过程中 突然instance terminated ,于是执行shutdown immediate
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL>
#经查, 是由于数据库不open没有办法重新创建undo 表空间,所以决定先用系统默认的undo表空间来启动,然后重建undo
表空间,具体操作如下:
SQL> create pfile from spfile;
文件已创建。
修改pfile文件
#*.undo_management='AUTO'
#*.undo_tablespace='UNDOSTB1'
undo_management=manual
undo_tablespace='system'
关闭数据库,并且从目录$ORACLE_HOME/dbs/ 去掉 spfiletestct.ora文件
重新启动
SQL> create pfile from spfile;
File created.
SQL>
SQL> create spfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/spfileocpone.ora' from pfile = '$ORACLE_HOME/dbs/initocpone.ora';
File created.
#启动到nomount状态
SQL> startup nomount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 176164652 bytes
Database Buffers 423624704 bytes
Redo Buffers 7163904 bytes
#创建数据库
SQL> create database ocpone
2 maxinstances 8
3 maxlogfiles 16
4 maxlogmembers 3
5 maxloghistory 1
6 maxdatafiles 150
7 logfile group 1 '/u01/app/oracle/oradata/ocpone/redo01a.log'size 10M,
8 group 2 '/u01/app/oracle/oradata/ocpone/redo01b.log'size 10M,
9 group 3 '/u01/app/oracle/oradata/ocpone/redo01c.log'size 10M
10 datafile '/u01/app/oracle/oradata/ocpone/system01.dbf' size 100M
11 autoextend on next 10 extent management local
12 sysaux datafile '/u01/app/oracle/oradata/ocpone/sysaux01.dbf' size 30M
13 autoextend on next 10M
14 default temporary tablespace temp
15 tempfile '/u01/app/oracle/oradata/ocpone/temp01.dbf' size 10M autoextend on next 5M
16 character set ZHS16GBK
17 national character set AL16UTF16
18 user sys identified by oracle
19 user system identified by oracle
20 ;
Database created.
SQL>
#这里少了一段处理过程,忘记拷贝过程了。就简单描述一下吧。
参考内容:
问题:ora-01092 oracle instance terminated disconnection forced
http://blog.sina.com.cn/s/blog_55f7a12f0100oiwa.html
Linux 手工建建立oracle 数据库
http://blog.sina.com.cn/s/blog_8fa7b9f50101cntf.html
Linux环境下手工创建Oracle 10g数据库
http://www.linuxidc.com/Linux/2008-04/12317.htm
前面创建数据库因为没有办法先创建UNDO表空间,所以后面需要补一下,然后再修改参数文件。
#创建UNDO表空间
CREATE UNDO TABLESPACE undo01
DATAFILE '/u01/app/oracle/oradata/undo01.dbf'
SIZE 500M REUSE
autoextend on;
修改pfile文件
*.undo_management='AUTO'
*.undo_tablespace='undo01'
#undo_management=manual
#undo_tablespace='system'
关闭数据库,并且从目录$ORACLE_HOME/dbs/ 去掉 spfiletestct.ora文件
重新启动
启动数据库后检查一下。
如果启动时就失败了,就检查undo_tablespace的表空间名称是否设置正确。
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ echo $ORACLE_SID
[oracle@localhost ~]$ export ORACLE_SID=ocpone
[oracle@localhost ~]$ echo $ORACLE_SID
ocpone
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Sep 18 20:07:54 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 184553260 bytes
Database Buffers 415236096 bytes
Redo Buffers 7163904 bytes
#查看有关undo的参数
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDO01
#切换到mount状态
SQL> alter database mount;
Database altered.
#查看数据文件
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ocpone/system01.dbf
/u01/app/oracle/oradata/ocpone/sysaux01.dbf
/u01/app/oracle/oradata/ocpone/undo01.dbf
/u01/app/oracle/oradata/ocpone/tablespaceone01.dbf
#查看表空间
SQL> select name from v$tablespace;
NAME
------------------------------
SYSTEM
SYSAUX
TEMP
UNDO01
TABLESPACEONE
切换到OPEN状态
SQL> alter database open;
Database altered.
启动正常
SQL>
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
#接下来就是建立数据字典视图 [必须以sys用户执行一下命令 ]
SQL〉@$ORACLE_HOME/rdbms/admin/catalog.sql
............
PL/SQL procedure successfully completed.
SQL> select status from v$instance;
STATUS
------------
OPEN
#建好后sys和system用户都没有表空间
#重启数据库后发现错误,查看oracle日志
报错:
rrors in file /u01/app/oracle/admin/ocpone/udump/ocpone_ora_20956.trc:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
参考文档:
Oracle 9i,10g,11g各自alert日志的位置
http://www.blog.chinaunix.net/uid-26446098-id-3289813.html
//---------------------------------------------------------------------//
SQL> select * from v$version; (查看一下版本)
SQL> show parameter dump;(查看一下dump)
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /ora/OraHome/admin/oracle9i/bd
ump
core_dump_dest string /ora/OraHome/admin/oracle9i/cd
ump
max_dump_file_size string UNLIMITED
shadow_core_dump string partial
user_dump_dest string /ora/OraHome/admin/oracle9i/ud
ump
10g和9i的alert日志文件都在/ora/OraHome/admin/oracleXX/bdump中
//---------------------------------------------------------------------//
#oracle 10 linux系统上的日志位置:
/u01/app/oracle/admin/ocpone/bdump/alert_&"SID".log
#测试数据库的日志位置:
/u01/app/oracle/admin/ocpone/bdump/alert_ocpone.log
找到日志/u01/app/oracle/admin/ocpone/bdump/alert_ocpone.log
根据日志提示错误原因查找解决方法。
参考内容:
ORA-39700: database must be opened with UPGRADE option
http://iquicksandi.blog.163.com/blog/static/132285262201074103341411/
主要原因是升级以后数据字典的一些基表的内容修改了。
catalog.sql和catproc.sql这2个脚本需要在运行一下把数据字典视图在更新一下。
解决方法:使用startup upgrade启动。
[oracle@localhost /]$ sqlplus /nolog
SQL> connect / as sysdba
SQL>startup upgrade
#分别执行下面的脚本
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql;
SQL>@$ORACLE_HOME/rdbms/admin/catalog.sql
SQL>@$ORACLE_HOME/rdbms/admin/catproc.sql
Package body created.
PL/SQL procedure successfully completed.
手工创建Oracle数据库
http://www.linuxidc.com/Linux/2013-05/84927.htm
#也有文章说要执行pupbld.sql脚本
SQL>@$ORACLE_HOME/sqlplus/admin/pupbld.sql
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
#启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 184553260 bytes
Database Buffers 415236096 bytes
Redo Buffers 7163904 bytes
Database mounted.
Database opened.
SQL>
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
#启动监听
[oracle@localhost ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 18-SEP-2015 20:57:34
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 18-SEP-2015 20:57:37
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
创建EM控制器
Oracle OEM 重建
http://www.linuxidc.com/Linux/2011-09/43898.htm
如何重新配置Oracle的EM Database Control
http://itlab.idcquan.com/Oracle/install/741456.html
[oracle@localhost ~]$ emctl start EM Configuration issue
TZ set to US/Pacific
Unable to determine console port. /u01/app/oracle/product/10.2.0/db_1/sysman/j2ee/config/emd-web-site.xml not found. No such file or directory
[oracle@localhost ~]$
[oracle@localhost ~]$ emca -config dbcontrol db -repos recreate
STARTED EMCA at Sep 18, 2015 8:59:24 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database SID: ocpone
Listener port number: 1521
Password for SYS user:
Password for DBSNMP user:
Invalid username/password.
Password for DBSNMP user:
Invalid username/password.
Password for DBSNMP user:
#忘记密码了,应该说从没有设置过。退出重设DBSNMP的密码。
[oracle@localhost ~]$
#DNSNMP的密码不能与SYS相同。
SQL> alter user DBSNMP identified by '密码' account unlock;
User altered.
SQL>
#EM还要用SYSMAN用户,没有这个用户,只好新建一个
SQL> alter user SYSMAN identified by welcome3 account unlock;
alter user SYSMAN identified by welcome3 account unlock
*
ERROR at line 1:
ORA-01918: user 'SYSMAN' does not exist
SQL> create user SYSMAN
2 identified by welcome3
3 default tablespace SYSAUX
4 temporary tablespace temp
5 account unlock;
User created.
SQL>
#因为以前没有EM管理器,所以要创建新的EM。不是重建。
[oracle@localhost ~]$ emca -config dbcontrol db -repos create
STARTED EMCA at Sep 18, 2015 9:36:35 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database SID: ocpone
Listener port number: 1521
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional): localhost@ocpone.com
Outgoing Mail (SMTP) server for notifications (optional):
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ /u01/app/oracle/product/10.2.0/db_1
Database hostname ................ localhost.localdomain
Listener port number ................ 1521
Database SID ................ ocpone
Email address for notifications ............... localhost@ocpone.com
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: yes
Sep 18, 2015 9:37:12 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/ocpone/emca_2015-09-18_09-36-35-PM.log.
Sep 18, 2015 9:37:14 PM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Sep 18, 2015 9:42:09 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Sep 18, 2015 9:42:16 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Sep 18, 2015 9:43:56 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Sep 18, 2015 9:43:56 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is http://localhost.localdomain:5501/em <<<<<<<<<<<
Enterprise Manager configuration completed successfully
FINISHED EMCA at Sep 18, 2015 9:43:56 PM
[oracle@localhost ~]$
[oracle@localhost ~]$ emctl status dbconsole
TZ set to US/Pacific
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://localhost.localdomain:5501/em/console/aboutApplication
Oracle Enterprise Manager 10g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/10.2.0/db_1/localhost.localdomain_ocpone/sysman/log
[oracle@localhost ~]$
先设置ORACLE_SID环境变量后,启动EM console服务
emctl start dbconsole
先设置ORACLE_SID环境变量后,停止EM console服务
emctl stop dbconsole
先设置ORACLE_SID环境变量后,查看EM console服务的状态
emctl status dbconsole
——终于完成了。
第一:手工建库
手工建库比起使用DBCA建库来说,是比较麻烦的,但是如果我们学好了手工建库的话,就可以使我们更好地理解Oracle数据库的体系结构。手工建库需要经过几个步骤,每一个步骤都非常关键。它包括:
1. 创建必要的相关目录
2. 创建初始化参数文件
3. 设置环境变量Oracle_sid
4. 创建实例
5. 创建口令文件
6. 启动数据库到nomount(实例)状态
7. 执行建库脚本
8. 执行catalog脚本创建数据字典
9. 执行catproc创建package包
10. 执行pupbld
11. 由初始化参数文件创建spfile文件
12. 执行scott脚本创建scott模式
13. 用命令测试数据库创建是否完成
14. 配置EM,使得能够通过浏览器管理和控制数据库
Oracle的安装路径:/u01/app/oracle/ 创建的数据库名称:ocpone
做完了以上的步骤之后就可以使用“SQL>alter database open;”
打开数据库正常的使用了。
实验系统平台:CentOS5.5 数据库系统版本:Oracle Database 10g
Oracle的安装路径:/u01/app/oracle/
创建的数据库名称:ocpone
#切换路径
[oracle@localhost orcl]$ cd /u01/app/oracle/oradata/orcl/
[oracle@localhost orcl]$ ls
control01.ctl example01.dbf redo03.log temp01.dbf
control02.ctl redo01.log sysaux01.dbf undotbs01.dbf
control03.ctl redo02.log system01.dbf users01.dbf
1、打开命令行工具,创建必要的相关目录
#创建相关目录
[oracle@localhost orcl]$
adump, bdump, dpdump, udump 应放在/u01/app/oracle/admin/"SID"/ 路径下
adump :审计信息
bdump :后台进程trace 和alert log ,就是说 alert_sid.log也存在这个目录中
cdump :core trace,一般是用来日志应用程序的 除非数据库出了问题 否则基本上不会有什么信息
dpdump:是存放一些登录信息的
pfile :初始化参数文件 initSID
udump :前台手动trace的 比如sql trace之后session的trace文件
mkdir /u01/app/oracle/admin/ocpone
mkdir /u01/app/oracle/admin/ocpone/adump
mkdir /u01/app/oracle/admin/ocpone/bdump
mkdir /u01/app/oracle/admin/ocpone/cdump
mkdir /u01/app/oracle/admin/ocpone/dpdump
mkdir /u01/app/oracle/admin/ocpone/udump
mkdir /u01/app/oracle/admin/ocpone/pfile
/u01/app/oracle/admin/ocpone目录下的几个子目录主要用于存放数据库运行过程中的跟踪信息。
最重要的两上子目录是bdump和udump目录,bdump目录存放的是数据库运行过程中的各个后台进程的跟踪信息,
当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,
手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。Udump目录存放和特定会话相关的跟踪信息。
datafile应放在/u01/app/oracle/oradata/"SID"/ 路径下
mkdir /u01/app/oracle/oradata/ocpone
/u01/app/oracle/oradata/ocpone目录存放各种数据库文件,包括控制文件、数据文件、重做日志文件。
或者用下面方法创建目录,先配置好环境变量,然后再创建所需目录。好像比较方便。
1.需要先修改好环境变量:
[oracle@localhost ~]$ vi .bash_profile
....
export PATH
umask 022
export ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;
export ORACLE_HOME
export ORACLE_SID=orcl
export PATH=$ORACLE_HOME/bin:$PATH; export PATH
NLS_LANG='Simplified Chinese_china'
DB_HOME=/u01/app/oracle/oradata
......
2.创建
mkdir -p $ORACLE_BASE/admin/ocpone
cd $ORACLE_BASE/admin/ocpone
mkdir adump bdump cdump dpdump udump pfile
mkdir -p $DB_HOME/ocpone
2、创建初始化参数文件
数据库系统启动时须要用初始化参数文件的设置分配内存、启动必要的后台进程的。因此,初始化参数文件创建的是否正确、参数设置是否正确关系着整个建库的“命运”。
可以拷贝现有的初始化参数文件并将其做适当的修改,没有必要用手工去一句一句地写出来,因为初始化参数文件的结构体系基本上都是一样的。在安装Oracle的时候,系统已经安装了一个名为orcl的启动数据库,于是可以从它那里得到一份初始化参数文件。
找到orcl的init.ora文件,拷贝后修改。
[oracle@localhost orcl]$ cd /u01/app/oracle/admin/orcl/pfile
[oracle@localhost pfile]$ ls
init.ora.814201534429
[oracle@localhost pfile]$ cat init.ora.814201534429
##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_file_multiblock_read_count=16
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# Database Identification
###########################################
db_domain=""
db_name=orcl
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=/u01/app/oracle/admin/orcl/bdump
core_dump_dest=/u01/app/oracle/admin/orcl/cdump
user_dump_dest=/u01/app/oracle/admin/orcl/udump
###########################################
# File Configuration
###########################################
control_files=("/u01/app/oracle/oradata/orcl/control01.ctl", "/u01/app/oracle/oradata/orcl/control02.ctl", "/u01/app/oracle/oradata/orcl/control03.ctl")
db_recovery_file_dest=/u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size=2147483648
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# SGA Memory
###########################################
sga_target=605028352
###########################################
# Security and Auditing
###########################################
audit_file_dest=/u01/app/oracle/admin/orcl/adump
remote_login_passwordfile=EXCLUSIVE
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=orclXDB)"
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=201326592
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1
[oracle@localhost pfile]$
#拷贝初始化参数文件,将init.ora.814201534429拷贝为initocpone.ora
cp /u01/app/oracle/admin/orcl/pfile/init.ora.814201534429 /u01/app/oracle/admin/ocpone/pfile/initocpone.ora
#
[oracle@localhost pfile]$ cp /u01/app/oracle/admin/orcl/pfile/init.ora.81420153429 /u01/app/oracle/admin/ocpone/pfile/initocpone.ora
[oracle@localhost pfile]$ cd /u01/app/oracle/admin/ocpone/pfile
[oracle@localhost pfile]$ ls
initocpone.ora
[oracle@localhost pfile]$ vi initocpone.ora
#修改实例名,和相应的路径
[oracle@localhost pfile]$ cat initocpone.ora
##############################################################################
# Copyright (c) 1991, 2001, 2002 by Oracle Corporation
##############################################################################
###########################################
# Cache and I/O
###########################################
db_block_size=8192
db_file_multiblock_read_count=16
###########################################
# Cursors and Library Cache
###########################################
open_cursors=300
###########################################
# Database Identification
###########################################
db_domain=""
db_name=ocpone ——修改为当前数据库名称
###########################################
# Diagnostics and Statistics
###########################################
background_dump_dest=/u01/app/oracle/admin/ocpone/bdump
core_dump_dest=/u01/app/oracle/admin/ocpone/cdump
user_dump_dest=/u01/app/oracle/admin/ocpone/udump
——修改了路径
###########################################
# File Configuration
###########################################
control_files=("/u01/app/oracle/oradata/ocpone/control01.ctl", "/u01/app/oracle/oradata/ocpone/control02.ctl", "/u01/app/oracle/oradata/ocpone/control03.ctl")
db_recovery_file_dest=/u01/app/oracle/flash_recovery_area
db_recovery_file_dest_size=2147483648
——修改了control_files路径
###########################################
# Job Queues
###########################################
job_queue_processes=10
###########################################
# Miscellaneous
###########################################
compatible=10.2.0.1.0
###########################################
# Processes and Sessions
###########################################
processes=150
###########################################
# SGA Memory
###########################################
sga_target=605028352
###########################################
# Security and Auditing
###########################################
audit_file_dest=/u01/app/oracle/admin/ocpone/adump
remote_login_passwordfile=EXCLUSIVE
——修改了路径
###########################################
# Shared Server
###########################################
dispatchers="(PROTOCOL=TCP) (SERVICE=ocponeXDB)"
——orcl改成ocpone
###########################################
# Sort, Hash Joins, Bitmap Indexes
###########################################
pga_aggregate_target=201326592
###########################################
# System Managed Undo and Rollback Segments
###########################################
undo_management=AUTO
undo_tablespace=UNDOTBS1
――注意此处的“UNDOTBS1”要和建库脚步本中对应
#创建pfile文件
[oracle@localhost create]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs/
[oracle@localhost dbs]$ ls
hc_orcl.dat init.ora orapwocpone spfileorcl.ora
initdw.ora lkORCL orapworcl
[oracle@localhost dbs]$ cat init.ora
[oracle@localhost dbs]$ strings spfileorcl.ora > initocpone.ora
[oracle@localhost dbs]$ vi initocpone.ora
#orcl全部改为ocpone
ocpone.__db_cache_size=423624704
ocpone.__java_pool_size=4194304
ocpone.__large_pool_size=4194304
ocpone.__shared_pool_size=167772160
ocpone.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ocpone/adump'
*.background_dump_dest='/u01/app/oracle/admin/ocpone/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/ocpone/control01.ctl','/u01/app/oracle/oradata/ocpone/control02.ctl','/u01/app/oracle/oradata/ocpone/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/ocpone/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
ocpone.__db_cache_size=423624704
ocpone.__java_pool_size=4194304
ocpone.__large_pool_size=4194304
ocpone.__shared_pool_size=167772160
ocpone.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/ocpone/adump'
*.background_dump_dest='/u01/app/oracle/admin/ocpone/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/app/oracle/oradata/ocpone/control01.ctl','/u01/app/oracle/oradata/ocpone/control02.ctl','/u01/app/oracle/oradata/ocpone/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/ocpone/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='ocpone'
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ocponeXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=201326592
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=605028352
#不open没有办法重新创建undo 表空间,所以决定先用系统默认的undo表空间来启动,然后重建undo
#*.undo_management='AUTO'
#*.undo_tablespace='UNDOTBS1'
undo_management=manual
undo_tablespace='system'
*.user_dump_dest='/u01/app/oracle/admin/ocpone/udump'
3、打开命令行,设置环境变量oracle_sid
[oracle@localhost pfile]$ cd /
[oracle@localhost /]$ export ORACLE_SID=ocpone
[oracle@localhost /]$ echo $ORACLE_SID
ocpone
设置环境变量的目地是在默认的情况下,指定命令行中所操作的数据库实例是ocpone。
4.创建密码文件
[oracle@localhost oracle]$ cd $ORACLE_HOME/dbs
[oracle@localhost product]$ cd /u01/app/oracle/product/10.2.0/db_1/dbs
[oracle@localhost dbs]$ ls
hc_orcl.dat initdw.ora init.ora lkORCL orapworcl spfileorcl.ora
#密码文件名:orapw&"SID"
[oracle@localhost dbs]$ orapwd file=orapwocpone password='密码'
[oracle@localhost dbs]$ ls
hc_orcl.dat init.ora orapwocpone spfileorcl.ora
initdw.ora lkORCL orapworcl
5.修改监听
[oracle@localhost oracle]$ cd $ORACLE_HOME/network/admin
或者
[oracle@localhost 10.2.0]$ cd /u01/app/oracle/product/10.2.0/db_1/network/admin/
[oracle@localhost admin]$ ls
listener.ora samples shrept.lst sqlnet.ora tnsnames.ora
[oracle@localhost admin]$ vi tnsnames.ora
# tnsnames.ora Network Configuration File: /u01/app/oracle/product/10.2.0/db_1/network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
EXTPROC_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1))
)
(CONNECT_DATA =
(SID = PLSExtProc)
(PRESENTATION = RO)
)
)
#复制已有的ORCL,然后直接修改SERVICE_NAME
#ocpone
OCPONE =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost.localdomain)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ocpone)
)
)
"tnsnames.ora" 40L, 743C written
[oracle@localhost admin]$
#创建建库脚本:
[oracle@localhost ~]$ cd $ORACLE_BASE/admin/ocpone
[oracle@localhost ocpone]$ ls
adump cdump dbupm dpdump pfile udump
[oracle@localhost ocpone]$ mkdir create
[oracle@localhost ocpone]$ cd create/
[oracle@localhost create]$ ls
此处存放安装的日志和脚本
6. 创建实例(即后台控制服务)
[oracle@localhost admin]$ echo $ORACLE_SID
ocpone
[oracle@localhost admin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 15 22:10:58 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
//----------------------------------------------------------------------//
#出现问题,提示参数不对
SQL> conn / as sysdba
Connected to an idle instance.
SQL> spool $ORACLE_BASE/admin/ocpone/create/createdb
SP2-0606: Cannot create SPOOL file "/u01/app/oracle/admin/ocpone/create/createdb.lst"
SQL>
SQL> startup nomount
ORA-00444: background process "MMAN" failed while starting
ORA-07446: sdnfy: bad value '' for parameter .
SQL>
#经查/u01/app/oracle/product/10.2.0/db_1/dbs/下的initocpone.ora文件没有,补做
[oracle@localhost dbs]$ strings spfileorcl.ora > initocpone.ora
#查看
[oracle@localhost dbs]$ vi initocpone.ora
initocpone.ora 中的
background_dump_dest='/u01/app/oracle/admin/ocpone/bdump'
前面创建文件夹时创建错了,创建了一个dbupm文件夹,应该是bdump文件夹,重新补一个
[oracle@localhost ocpone]$ ls
adump cdump create dbupm dpdump pfile udump
[oracle@localhost ocpone]$ mkdir bdump
[oracle@localhost ocpone]$ ls
adump bdump cdump create dbupm dpdump pfile udump
//----------------------------------------------------------------------//
#启动到nomount状态
SQL> startup nomount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 176164652 bytes
Database Buffers 423624704 bytes
Redo Buffers 7163904 bytes
SQL> shutdown immediate
ORA-01109: database not open
Database dismounted.
ORACLE instance shut down.
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
参考文档:
Linux 手工建建立oracle 数据库
http://blog.sina.com.cn/s/blog_8fa7b9f50101cntf.html
[oracle@localhost admin]$ echo $ORACLE_SID
ocpone
[oracle@localhost admin]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Tue Sep 15 23:55:42 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> startup nomount
ORA-01031: insufficient privileges
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup nomount pfile='$ORACLE_HOME/dbs/initocpone.ora';
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 176164652 bytes
Database Buffers 423624704 bytes
Redo Buffers 7163904 bytes
#初始化参数:
PFILE: Initialization Parameter Files,初始化参数文件,是个文本文件,可以使用编辑器修改该文件的内容。
SPFILE: Server Parameter Files, 服务器参数文件,是二进制文件,不能直接编辑。
SPFILE命名规范:spfile&"SID".ora
#创建SPFILE文件,
SQL> create spfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/spfileocpone.ora' from pfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/initocpone.ora';
File created.
或
SQL> create spfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/spfileocpone.ora' from pfile = '$ORACLE_HOME/dbs/initocpone.ora';
#出现错误
create database ocpone
*
ERROR at line 1:
ORA-01092: ORACLE instance terminated. Disconnection forced
脚本在执行过程中 突然instance terminated ,于是执行shutdown immediate
SQL> shutdown immediate
ORA-24324: service handle not initialized
ORA-01041: internal error. hostdef extension doesn't exist
SQL>
#经查, 是由于数据库不open没有办法重新创建undo 表空间,所以决定先用系统默认的undo表空间来启动,然后重建undo
表空间,具体操作如下:
SQL> create pfile from spfile;
文件已创建。
修改pfile文件
#*.undo_management='AUTO'
#*.undo_tablespace='UNDOSTB1'
undo_management=manual
undo_tablespace='system'
关闭数据库,并且从目录$ORACLE_HOME/dbs/ 去掉 spfiletestct.ora文件
重新启动
SQL> create pfile from spfile;
File created.
SQL>
SQL> create spfile = '/u01/app/oracle/product/10.2.0/db_1/dbs/spfileocpone.ora' from pfile = '$ORACLE_HOME/dbs/initocpone.ora';
File created.
#启动到nomount状态
SQL> startup nomount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 176164652 bytes
Database Buffers 423624704 bytes
Redo Buffers 7163904 bytes
#创建数据库
SQL> create database ocpone
2 maxinstances 8
3 maxlogfiles 16
4 maxlogmembers 3
5 maxloghistory 1
6 maxdatafiles 150
7 logfile group 1 '/u01/app/oracle/oradata/ocpone/redo01a.log'size 10M,
8 group 2 '/u01/app/oracle/oradata/ocpone/redo01b.log'size 10M,
9 group 3 '/u01/app/oracle/oradata/ocpone/redo01c.log'size 10M
10 datafile '/u01/app/oracle/oradata/ocpone/system01.dbf' size 100M
11 autoextend on next 10 extent management local
12 sysaux datafile '/u01/app/oracle/oradata/ocpone/sysaux01.dbf' size 30M
13 autoextend on next 10M
14 default temporary tablespace temp
15 tempfile '/u01/app/oracle/oradata/ocpone/temp01.dbf' size 10M autoextend on next 5M
16 character set ZHS16GBK
17 national character set AL16UTF16
18 user sys identified by oracle
19 user system identified by oracle
20 ;
Database created.
SQL>
#这里少了一段处理过程,忘记拷贝过程了。就简单描述一下吧。
参考内容:
问题:ora-01092 oracle instance terminated disconnection forced
http://blog.sina.com.cn/s/blog_55f7a12f0100oiwa.html
Linux 手工建建立oracle 数据库
http://blog.sina.com.cn/s/blog_8fa7b9f50101cntf.html
Linux环境下手工创建Oracle 10g数据库
http://www.linuxidc.com/Linux/2008-04/12317.htm
前面创建数据库因为没有办法先创建UNDO表空间,所以后面需要补一下,然后再修改参数文件。
#创建UNDO表空间
CREATE UNDO TABLESPACE undo01
DATAFILE '/u01/app/oracle/oradata/undo01.dbf'
SIZE 500M REUSE
autoextend on;
修改pfile文件
*.undo_management='AUTO'
*.undo_tablespace='undo01'
#undo_management=manual
#undo_tablespace='system'
关闭数据库,并且从目录$ORACLE_HOME/dbs/ 去掉 spfiletestct.ora文件
重新启动
启动数据库后检查一下。
如果启动时就失败了,就检查undo_tablespace的表空间名称是否设置正确。
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ echo $ORACLE_SID
[oracle@localhost ~]$ export ORACLE_SID=ocpone
[oracle@localhost ~]$ echo $ORACLE_SID
ocpone
[oracle@localhost ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Sep 18 20:07:54 2015
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> connect / as sysdba
Connected to an idle instance.
SQL> startup nomount
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 184553260 bytes
Database Buffers 415236096 bytes
Redo Buffers 7163904 bytes
#查看有关undo的参数
SQL> show parameter undo
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
undo_management string AUTO
undo_retention integer 900
undo_tablespace string UNDO01
#切换到mount状态
SQL> alter database mount;
Database altered.
#查看数据文件
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/u01/app/oracle/oradata/ocpone/system01.dbf
/u01/app/oracle/oradata/ocpone/sysaux01.dbf
/u01/app/oracle/oradata/ocpone/undo01.dbf
/u01/app/oracle/oradata/ocpone/tablespaceone01.dbf
#查看表空间
SQL> select name from v$tablespace;
NAME
------------------------------
SYSTEM
SYSAUX
TEMP
UNDO01
TABLESPACEONE
切换到OPEN状态
SQL> alter database open;
Database altered.
启动正常
SQL>
SQL> select * from v$pwfile_users;
USERNAME SYSDB SYSOP
------------------------------ ----- -----
SYS TRUE TRUE
#接下来就是建立数据字典视图 [必须以sys用户执行一下命令 ]
SQL〉@$ORACLE_HOME/rdbms/admin/catalog.sql
............
PL/SQL procedure successfully completed.
SQL> select status from v$instance;
STATUS
------------
OPEN
#建好后sys和system用户都没有表空间
#重启数据库后发现错误,查看oracle日志
报错:
rrors in file /u01/app/oracle/admin/ocpone/udump/ocpone_ora_20956.trc:
ORA-00704: bootstrap process failure
ORA-39700: database must be opened with UPGRADE option
参考文档:
Oracle 9i,10g,11g各自alert日志的位置
http://www.blog.chinaunix.net/uid-26446098-id-3289813.html
//---------------------------------------------------------------------//
SQL> select * from v$version; (查看一下版本)
SQL> show parameter dump;(查看一下dump)
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
background_core_dump string partial
background_dump_dest string /ora/OraHome/admin/oracle9i/bd
ump
core_dump_dest string /ora/OraHome/admin/oracle9i/cd
ump
max_dump_file_size string UNLIMITED
shadow_core_dump string partial
user_dump_dest string /ora/OraHome/admin/oracle9i/ud
ump
10g和9i的alert日志文件都在/ora/OraHome/admin/oracleXX/bdump中
//---------------------------------------------------------------------//
#oracle 10 linux系统上的日志位置:
/u01/app/oracle/admin/ocpone/bdump/alert_&"SID".log
#测试数据库的日志位置:
/u01/app/oracle/admin/ocpone/bdump/alert_ocpone.log
找到日志/u01/app/oracle/admin/ocpone/bdump/alert_ocpone.log
根据日志提示错误原因查找解决方法。
参考内容:
ORA-39700: database must be opened with UPGRADE option
http://iquicksandi.blog.163.com/blog/static/132285262201074103341411/
主要原因是升级以后数据字典的一些基表的内容修改了。
catalog.sql和catproc.sql这2个脚本需要在运行一下把数据字典视图在更新一下。
解决方法:使用startup upgrade启动。
[oracle@localhost /]$ sqlplus /nolog
SQL> connect / as sysdba
SQL>startup upgrade
#分别执行下面的脚本
SQL>@$ORACLE_HOME/rdbms/admin/catupgrd.sql;
SQL>@$ORACLE_HOME/rdbms/admin/catalog.sql
SQL>@$ORACLE_HOME/rdbms/admin/catproc.sql
Package body created.
PL/SQL procedure successfully completed.
手工创建Oracle数据库
http://www.linuxidc.com/Linux/2013-05/84927.htm
#也有文章说要执行pupbld.sql脚本
SQL>@$ORACLE_HOME/sqlplus/admin/pupbld.sql
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
#启动数据库
SQL> startup
ORACLE instance started.
Total System Global Area 608174080 bytes
Fixed Size 1220820 bytes
Variable Size 184553260 bytes
Database Buffers 415236096 bytes
Redo Buffers 7163904 bytes
Database mounted.
Database opened.
SQL>
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options
#启动监听
[oracle@localhost ~]$ lsnrctl start
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 18-SEP-2015 20:57:34
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Starting /u01/app/oracle/product/10.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 10.2.0.1.0 - Production
System parameter file is /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Log messages written to /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 18-SEP-2015 20:57:37
Uptime 0 days 0 hr. 0 min. 0 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
The command completed successfully
创建EM控制器
Oracle OEM 重建
http://www.linuxidc.com/Linux/2011-09/43898.htm
如何重新配置Oracle的EM Database Control
http://itlab.idcquan.com/Oracle/install/741456.html
[oracle@localhost ~]$ emctl start EM Configuration issue
TZ set to US/Pacific
Unable to determine console port. /u01/app/oracle/product/10.2.0/db_1/sysman/j2ee/config/emd-web-site.xml not found. No such file or directory
[oracle@localhost ~]$
[oracle@localhost ~]$ emca -config dbcontrol db -repos recreate
STARTED EMCA at Sep 18, 2015 8:59:24 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database SID: ocpone
Listener port number: 1521
Password for SYS user:
Password for DBSNMP user:
Invalid username/password.
Password for DBSNMP user:
Invalid username/password.
Password for DBSNMP user:
#忘记密码了,应该说从没有设置过。退出重设DBSNMP的密码。
[oracle@localhost ~]$
#DNSNMP的密码不能与SYS相同。
SQL> alter user DBSNMP identified by '密码' account unlock;
User altered.
SQL>
#EM还要用SYSMAN用户,没有这个用户,只好新建一个
SQL> alter user SYSMAN identified by welcome3 account unlock;
alter user SYSMAN identified by welcome3 account unlock
*
ERROR at line 1:
ORA-01918: user 'SYSMAN' does not exist
SQL> create user SYSMAN
2 identified by welcome3
3 default tablespace SYSAUX
4 temporary tablespace temp
5 account unlock;
User created.
SQL>
#因为以前没有EM管理器,所以要创建新的EM。不是重建。
[oracle@localhost ~]$ emca -config dbcontrol db -repos create
STARTED EMCA at Sep 18, 2015 9:36:35 PM
EM Configuration Assistant, Version 10.2.0.1.0 Production
Copyright (c) 2003, 2005, Oracle. All rights reserved.
Enter the following information:
Database SID: ocpone
Listener port number: 1521
Password for SYS user:
Password for DBSNMP user:
Password for SYSMAN user:
Email address for notifications (optional): localhost@ocpone.com
Outgoing Mail (SMTP) server for notifications (optional):
-----------------------------------------------------------------
You have specified the following settings
Database ORACLE_HOME ................ /u01/app/oracle/product/10.2.0/db_1
Database hostname ................ localhost.localdomain
Listener port number ................ 1521
Database SID ................ ocpone
Email address for notifications ............... localhost@ocpone.com
Outgoing Mail (SMTP) server for notifications ...............
-----------------------------------------------------------------
Do you wish to continue? [yes(Y)/no(N)]: yes
Sep 18, 2015 9:37:12 PM oracle.sysman.emcp.EMConfig perform
INFO: This operation is being logged at /u01/app/oracle/product/10.2.0/db_1/cfgtoollogs/emca/ocpone/emca_2015-09-18_09-36-35-PM.log.
Sep 18, 2015 9:37:14 PM oracle.sysman.emcp.EMReposConfig createRepository
INFO: Creating the EM repository (this may take a while) ...
Sep 18, 2015 9:42:09 PM oracle.sysman.emcp.EMReposConfig invoke
INFO: Repository successfully created
Sep 18, 2015 9:42:16 PM oracle.sysman.emcp.util.DBControlUtil startOMS
INFO: Starting Database Control (this may take a while) ...
Sep 18, 2015 9:43:56 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: Database Control started successfully
Sep 18, 2015 9:43:56 PM oracle.sysman.emcp.EMDBPostConfig performConfiguration
INFO: >>>>>>>>>>> The Database Control URL is http://localhost.localdomain:5501/em <<<<<<<<<<<
Enterprise Manager configuration completed successfully
FINISHED EMCA at Sep 18, 2015 9:43:56 PM
[oracle@localhost ~]$
[oracle@localhost ~]$ emctl status dbconsole
TZ set to US/Pacific
Oracle Enterprise Manager 10g Database Control Release 10.2.0.1.0
Copyright (c) 1996, 2005 Oracle Corporation. All rights reserved.
http://localhost.localdomain:5501/em/console/aboutApplication
Oracle Enterprise Manager 10g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/10.2.0/db_1/localhost.localdomain_ocpone/sysman/log
[oracle@localhost ~]$
先设置ORACLE_SID环境变量后,启动EM console服务
emctl start dbconsole
先设置ORACLE_SID环境变量后,停止EM console服务
emctl stop dbconsole
先设置ORACLE_SID环境变量后,查看EM console服务的状态
emctl status dbconsole
——终于完成了。
相关文章推荐
- oracle环境配置与使用指南
- linux系统下设置oracle开机自动启动
- oracle 11g 基于磁盘的备份rman duplicate
- oracle 获取表结构信息的SQL
- [nQSError: 37001]Could not connect to the Oracle BI Server Instance
- ORACLE SQL性能优化系列
- Oracle卸载
- Oracle数据库的几个重点优化
- zx一篇让Java程序猿随时可以翻看的Oracle总结
- oracle--- to_char,to_date 函数
- mysql和oracle的一个汉字占几个字符
- oracle用户和权限
- oracle_10201_database_lin_ppc.cpio.gz 安装使用 on power
- ORACLE数据库性能优化之-->内存磁盘
- centos oracle 11g 自启动 服务
- Oracle Linux 6 下 Oracle RDBMS Server 11gR2 Preinstall RPM 包说明
- Oracle 游标疑问
- oracle基本信息
- do export method of oracle all database tables with dmp files.
- oracle恢复删除的数据