如何手动创建oracle数据库

如题所述

在LINUX平台上手动创建数据库(oracle 10g)(在一个oracle服务器上启动两个实例)
1.首先设置要创建的ORACLE的SID,如果在.bash_profile文件里设置里该变量,就不用设置了。
$echo $ORACEL_SID
mdy
如果没有设置,就手动设置,如果一个服务器上要运行多个ORACLE实例,也需要手动设置。
export ORACLE_SID=gcm
2. 创建需要的诊断目录,这些目录都是ORACLE进程遇到错误或用户手动TRACE时需要的。
mkdir -p $ORACLE_BASE/admin/gcm/adump
mkdir -p $ORACLE_BASE/admin/gcm/bdump
mkdir -p $ORACLE_BASE/admin/gcm/cdump
mkdir -p $ORACLE_BASE/admin/gcm/udump
mkdir -p $ORACLE_BASE/admin/gcm/pfile
创建oracle的数据文件目录
mkdir -p $ORACLE_BASE/oradata/gcm
3. 创建ORACLE的参数文件$ORACLE_HOME/dbs/initgcm.ora 内容如下:
aq_tm_processes=0
audit_file_dest=/oracle/admin/gcm/adump
background_dump_dest=/oracle/admin/gcm/bdump
compatible=10.2.0.1.0
control_files=/oracle/oradata/gcm/control01.ctl, /oracle/oradata/gcm/control02.ctl, /oracle/oradata/gcm/control03.ctl
core_dump_dest=/oracle/admin/gcm/cdump
db_block_size=8192
db_domain=""
db_file_multiblock_read_count=16
db_name=gcm
instance_name=gcm
dispatchers="(PROTOCOL=TCP) (SERVICE=gcmXDB)"
job_queue_processes=10
nls_length_semantics=BYTE
open_cursors=300
pga_aggregate_target=94371840
processes=150
remote_login_passwordfile=EXCLUSIVE
resource_manager_plan=""
sessions=170
sga_target=285212672
undo_management=AUTO
undo_retention=900
undo_tablespace=UNDOTBS1
user_dump_dest=/oracle/admin/gcm/udump
4.创建密码文件
orapwd file=$ORACLE_HOME/dbs/orapwgcm password=admin entries=5 force=y
5.创建oracle的建库脚本 createdb.sql,内容如下:
create database gcm
MAXINSTANCES 1
MAXLOGHISTORY 1
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXDATAFILES 100
DATAFILE
'/oracle/oradata/gcm/system01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited extent management local
sysaux datafile
'/oracle/oradata/gcm/sysaux01.dbf' size 100m reuse autoextend on next 1m maxsize unlimited
default temporary tablespace TEMP tempfile
'/oracle/oradata/gcm/temp01.dbf' size 20m reuse autoextend on next 640k maxsize unlimited
undo tablespace UNDOTBS1 datafile
'/oracle/oradata/gcm/undo01.dbf' size 20m reuse autoextend on next 5M maxsize unlimited
logfile
GROUP 1 ('/oracle/oradata/gcm/redo1.dbf') size 10m,
GROUP 2 ('/oracle/oradata/gcm/redo2.dbf') size 10m,
GROUP 3 ('/oracle/oradata/gcm/redo3.dbf') size 10m
CHARACTER SET ZHS16GBK
NATIONAL CHARACTER SET AL16UTF16
;
6.数据库创建完成后,再创建ORACLE的数据字典。
SQL>@/oracle/product/10g/rdbms/admin/catalog.sql
SQL>@/oracle/product/10g/rdbms/admin/catproc.sql
SQL>@/oracle/product/10g/rdbms/admin/catexp.sql
到此ORACLE手动创建过程就完成了
7.创建(新)用户:
create user gcm identified by onewavegcm;
username:新用户名的用户名
password: 新用户的密码
也可以不创建新用户,而仍然用以前的用户,如:继续利用scott用户
8.创建表空间:
create tablespace gcm datafile 'd:\data.dbf' size 300m;
tablespacename:表空间的名字
d:\data.dbf':表空间的存储位置
xxx表空间的大小,m单位为兆(M)
9.将空间分配给用户:
alter user gcm default tablespace gcm;
将名字为tablespacename的表空间分配给username
10.给用户授权:
grant connect,resource,dba to gcm;
11.然后再以楼主自己创建的用户登录,登录之后创建表即可。
conn username/password;
创建表用create table.

SELECT host_name, instance_name, version FROM v$instance;
select distinct username from v$session ;
imp gcm/onewavegcm file=gcmtable.dmp full=y
12.修改监听配置文件listener.ora
gcm =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC))
)
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 219.141.133.x)(PORT = 1522))
)
)
)
SID_LIST_gcm =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = gcm)
(ORACLE_HOME = /oracle/product/10g)
(SID_NAME = gcm)
)
)
13.启动实例
su oracle
export ORACLE_SID=boss
sqlplus>startup
exit
su oracle
export ORACLE_SID=gcm
sqlplus / as sysdba
>startup
14.启动监听
su oracle
#lsnrctl start #listener1
#lsnrctl start gcm #listener2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-25
手动创建oracle10g数据库
以创建名为“MYNEWDB”为例
1. 创建必须的文件和文件夹
(1)在D:\oracle\product\10.2.0\admin下建MYNEWDB文件夹
在D:\oracle\product\10.2.0\admin\MYNEWDB下建adump,bdump,cdump,udump文件夹
(2)在D:\oracle\product\10.2.0\oradata下建MYNEWDB文件夹
(3)在D:\oracle\product\10.2.0\db_1\database下建initMYNEWDB.ora文件,内容如下
MYNEWDB.__db_cache_size=356515840
MYNEWDB.__java_pool_size=4194304
MYNEWDB.__large_pool_size=4194304
MYNEWDB.__shared_pool_size=209715200
MYNEWDB.__streams_pool_size=0
*.audit_file_dest='D:\oracle\product\10.2.0/admin/MYNEWDB/adump'
*.background_dump_dest='D:\oracle\product\10.2.0/admin/MYNEWDB/bdump'
*.compatible='10.2.0.1.0'
*.control_files='D:\oracle\product\10.2.0/oradata/MYNEWDB/\control01.ctl','D:\oracle\product\10.2.0/oradata/MYNEWDB/\control02.ctl','D:\oracle\product\10.2.0/oradata/MYNEWDB/\control03.ctl'
*.core_dump_dest='D:\oracle\product\10.2.0/admin/MYNEWDB/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='MYNEWDB'
*.db_recovery_file_dest='D:\oracle\product\10.2.0/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=MYNEWDBXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=192937984
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=579862528
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='D:\oracle\product\10.2.0/admin/MYNEWDB/udump'
2.建议设置下ORACLE_HOME=D:\oracle\product\10.2.0\db_1,因为下面在执行创建数据库时会自动执行$ORACLE_HOME\rdbms\admin\sql.bsq的脚本,不设怕找不到
3. 创建实例
选择“程序-->运行”,输入“cmd”命令,打开DOS界面
(1)将环境变量ORACLE_SID设置为“MYNEWDB”
C:\SET ORACLE_SID=MYNEWDB
(2)利用ORADIM命令创建MYNEWDB数据库
C:\ORADIM -NEW -SID MYNEWDB -INTPWD MYNEWDB -STARTMODE MANUAL -PFILE D:\oracle\product\10.2.0\db_1\database
注意:ORADMIN是Oracle提供的一个对实例进行管理的工具,可以创建、修改、删除、启动和关闭一个
4、连接并启动实例
1. C:\sqlplus /nolog
2. SQL>connect sys/mynewdb as sysdba;
3. SQL>startup nomount;
5、使用create database 语句创建数据库
1. SQL> create database MYNEWDB
2. maxlogfiles 10
3. maxlogmembers 5
4. maxdatafiles 20
5. maxloghistory 200
6. maxinstances 5
7. logfile
8. group 1 'D:\oracle\product\10.2.0\oradata\mynewdb\redo01.log' size 10m,
9. group 2 'D:\oracle\product\10.2.0\oradata\mynewdb\redo02.log' size 10m,
10. group 3 'D:\oracle\product\10.2.0\oradata\mynewdb\redo03.log' size 10m
11. datafile 'D:\oracle\product\10.2.0\oradata\mynewdb\system01.dbf' size 100m
12. sysaux datafile 'D:\oracle\product\10.2.0\oradata\mynewdb\sysaux01.dbf' size 50m
13. undo tablespace UNDOTBS1
14. datafile 'D:\oracle\product\10.2.0\oradata\mynewdb\undo01.dbf' size 40m
15. default temporary tablespace temp
16. tempfile 'D:\oracle\product\10.2.0\oradata\mynewdb\temp01.dbf' size 20m
17. extent management local uniform size 128k
18. character set ZHS16GBK
19. national character set AL16UTF16
注意:sysaux是创建10g数据库时必须的,创建9i可以不要
UNDOTBS1这个名字不能改成其他的,否则报错
在执行create database 语句的同时,自动执行$ORACLE_HOME\rdbms\admin\sql.bsq脚本,创建SYSTEM表空间和SYSTEM回退段、建立SYS和SYSTEM账号、建立数据字典基础表、建立数据字典索引、创建预定义角色等。
6、创建附加的表空间(未验证)
用create database语句创建的数据库中只有SYSTEM、UNDOTBS和TEMPTBS三个表空间,还需要创建其他
一些额外的表空间
1. SQL>create tablespace users
2. datafile 'd:\oracle\oradata\mynewdb\users01.dbf' size 100M
3. reuse autoextend on next 1280K maxsize unlitited
4. extend management local;
5. SQL>create tablespace index
6. datafile 'd:\oracle\oradata\mynewdb\index01.dbf' size 100M
7. reuse autoextend on next 1280K maxsize unlimited
extend management local;
8、运行脚本创建数据字典视图
执行两个脚本语句:
----用于创建数据字典视图,包括V$动态性能视图和它们的同义词,同时将授予PUBLIC角色对这些同义
词的访问权限
1. SQL>@D:\oracle\product\10.2.0\db_1\rdbms\admin\catalog.sql;
----用于建立对PL/SQL程序设计的支持
1. SQL>@D:\oracle\product\10.2.0\db_1\rdbms\admin\catproc.sql;
9、创建服务器初始化参数文件
1. SQL>create spfile from file='d:\oracle\product\10.2.0\db_1\database\initMYNEWDB.ora';(未验证)
执行该语句将在$ORACLE_HOME\database 目录下创建名为spfileMYNEWDB.ora的服务器初始化参数文件
需要重启数据库
1. SQL>shutdown immediate;
2. SQL>connect sys/mynewdb as sysdba;
SQL>startup ;
最后注意的地方:因为我在创建数据库的时候没有提示我输入sys和system密码,所以下面我们还需要修改sys密码(就当忘设了),方法如下:
sqlplus /nolog;
connect / as sysdba
alter user sys identified by 新密码;
alter user system identified by 新密码;本回答被提问者和网友采纳
相似回答