欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

浅析新建Oracle数据库的三种方法

程序员文章站 2022-10-13 20:53:55
1.通过运行oracle database configuration  assistant 创建、配置、或删除数据库(也可在命令行下输入dbca);2.用命令行...

1.通过运行oracle database configuration  assistant 创建、配置、或删除数据库(也可在命令行下输入dbca);
2.用命令行的方式建立数据库
3.通过运行自定义的批处理脚本(或create_oracle_sid.bat(create_oracle_sid.sql))来创建、配置、或删除数据库。

详述:
1.通过运行oracle database configuration assistant 创建、配置、或删除数据库;
建议不熟悉创建过程的dba使用该方法,只需要根据选项“下一步”进行配置,最后生成数据库的创建脚本(建议保留),或者直接创建数据库;
优点:gui方法使用方便;
缺点:不过创建过程有些慢;

2.用命令行的方式建立数据库

复制代码 代码如下:

connect / as sysdba
  startup pfile= 'c:oracleadmininit_testorcl.ora' nomount;
  create database testorcl datafile '/u02/oracle/testorcl/system01.dbf' size 100m
  logfile group1 ('/u01/oracle/testorcl/redo1a.log',
  '/u02/oracle/testorcl/redo1b.log') size 500k,
  group2 ('/u01/oracle/testorcl/redo1a.log',
  '/u02/oracle/testorcl/redo1b.log') size 500k
  character set zhs16cgb231280;

--将数据库直接从未建置状态转换到打开状态
  alter database open;

--删除数据库(dropping a database)
  spool c:drop_database.bat
  select 'del '||name 删除数据库相关数据文件 from v$datafile;
  select 'del '||member 删除数据重构日志文件 from v$logfile;
  spool off;


优点:可以熟悉创建指令,创建原理;
缺点:配置简单,要求熟记命令行指令;
 
3.通过运行自定义的批处理或sql脚本(create_oracle_sid.bat或create_oracle_sid.sql)来创建
复制代码 代码如下:

--create_oracle_sid.bat
  set oracle_sid= oracle_sid.
del  c:oracle8idatabasepwdoracle_sid.ora
  c:oracle8ibinoradim -new -sid oracle_sid. -intpwd oracle -startmode manual
  -pfile c:oracle8iadminoracle_sidpfileinit.ora
  c:oracle8ibinsvrmgrl @c:winntprofilesadministratorlboracle_sidrun.sql
  c:oracle8ibinsvrmgrl @c:winntprofilesadministratorlboracle_sidrun1.sql
  c:oracle8ibinoradim -edit -sid oracle_sid -startmode auto

--oracle_sidrun.sql
  spool c:oracle8iadminoracle_sidcreatecreatedb
  set echo on
  connect internal/oracle
  startup nomount pfile=c:oracle8iadminoracle_sidpfileinit.ora
  create database oracle_sid
  logfile 'c:oracle8ioradataoracle_sidredo01.log' size 1024k,
  'c:oracle8ioradataoracle_sidredo02.log' size 1024k
  maxlogfiles 32
  maxlogmembers 2
  maxloghistory 1
  datafile 'c:oracle8ioradataoracle_sidsystem01.dbf' size 50m reuse
  maxdatafiles 254
  maxinstances 1
  character set zht16big5
  national character set zht16big5;
  spool off

--oracle_sidrun1.sql
  spool c:oracle8iadminoracle_sidcreatecreatedb1
  set echo on
  connect internal/oracle
alter database datafile 'c:oracle8ioradataoracle_sidsystem01.dbf' autoextend on;
  create rollback segment sysrol tablespace "system" storage (initial  100k next 100k);
  alter rollback segment "sysrol" online;

linux平台下oracle的操作

下面对oracle的操作都是在linux平台下进行的!
1.su oracle
2.sqlplus /logon
3.connect test/test assysdba(test/test是oracle用户和密码)
4.startup
5.lsnrctl
首选启动数据库
su - oracle
sqlplus /nolog
conn /as sysdba
startup
然后启动监听:
进入/opt/oracle/product/9.2.0/bin/
lsnrctl start
运行shudown命令关闭数据库
[oracle@wing /oracle]$ sqlplus" / as sysdba" //以sysdba用户登陆数据库
sql> shutdown

启动oracle 9i 数据库
[oracle@wing bin]$ sqlplus " /as sysdba"
sql> startup

启动oracle 9i监听程序
oracle的监听程序主要是为客户端的连接提供接口
[oracle@wing bin]$ lsnrctl
lsnrctl> start

关闭oracle 9i监听程序
[oracle@wing bin]$ lsnrctl
lsnrctl> stop

先看看oracle_sid 环境变量设置是否正确。
9i:
$ sqlplus /nolog
sql> connect / as sysdba
sql> startup
$ lsnrctl start
8i:
$ svrmgrl
svrmgr> connect internal
svrmgr> startup
$ lsnrctl start
在哪里报错??
一般只要设置这2处就好了~
/etc/oratab
ora2:/oracle/app/oracle/product/8.1.7:y 
/etc/inittab
oralce:2:wait:/bin/su - oracle -c '/oracle/app/oracle/product/8.1.7/bin/lsnrctl start'
oracle:2:wait:/bin/su - oracle -c '/oracle/app/oracle/product/8.1.7/bin/dbstart'

启动步骤:
su - oracle
[oracle@websvr1 oracle]$ sqlplus /nolog
sql> connect / as sysdba
sql> startup
sql> quit
[oracle@websvr1 oracle]$ lsnrctl start
可用 [oracle@websvr1 oracle]$ lsnrctl status 查看监听是否已经启动

关闭步骤:
su - oracle
[oracle@websvr1 oracle]$ lsnrctl stop
[oracle@websvr1 oracle]$ sqlplus /nolog
sql> connect / as sysdba
sql> shutdown immediate
sql> quit