Oracle如何实现手工建库

网友投稿 197 2024-01-03

Oracle如何实现手工建库

这篇文章主要为大家展示了“Oracle如何实现手工建库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何实现手工建库”这篇文章吧。

可参考官方文档操作

管理员指南

创建并配置数据库

使用建库语句创建数据库

 

1-14 为官方文档手工建库步骤,9为建库语句

步骤1:指定实例标识符(SID)

步骤2:确保设置了所需的环境变量

第3步:选择数据库管理员身份验证方法

第4步:创建初始化参数文件

步骤5 :(仅限Windows)创建一个实例

第6步:连接到实例

第7步:创建一个服务器参数文件

第8步:启动实例

第9步:发出CREATE DATABASE语句

第10步:创建附加的表空间

第11步:运行脚本来构建数据字典视图

步骤12 :(可选)运行脚本以安装其他选项

步骤13:备份数据库。

步骤14 :(可选)启用自动实例启动

1、创建必备的文件路径

下面介绍下这几个文件路径的作用。

adump:存放审计信息 

bdump:bdump目录存放的是数据库动行过程中的各个后台进程的跟踪信息,当中alert文件是警告文件,其文件名称为alert_book.log,当数据库出现问题时,首先就可以去查看此文件以找出原因,手工创建过程中出现的各种问题往往也可以通过查看这个文件找到原因。

cdump:数据库遇到异常时用于存放异常信息。 

create:不详 

pfile:存放初始化参数文件。

scripts:不详 

udump:放置sql trace之后的session的trace文件。 

(2) 在oradata文件夹下创建TESTDB文件夹 

(3)在flash_recovery_area文件夹下创建TESDB文件夹

[oracle@ENMOEDU oracle]$ cd /u01/app/oracle/

[oracle@ENMOEDU oracle]$ mkdir -p admin/TESTDB/audmp

[oracle@ENMOEDU oracle]$ mkdir -p flash_recovery_area

2、创建初始化参数文件pfile

方法一:从其他库拷贝一个pfile参数文件,修改内容和文件名为本次使用。见下initorcl.ora

orcl.__db_cache_size=855638016

orcl.__java_pool_size=16777216

orcl.__large_pool_size=16777216

orcl.__oracle_base=E:\app\Administrator#ORACLE_BASE set from environment

orcl.__pga_aggregate_target=1191182336

orcl.__sga_target=2248146944

orcl.__shared_io_pool_size=0

orcl.__shared_pool_size=1325400064

orcl.__streams_pool_size=0

*.audit_file_dest=E:\app\Administrator\admin\orcl\adump

*.audit_trail=db

*.compatible=11.2.0.0.0

*.control_files=E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL,E:\APP\ADMINISTRATOR\FLASH_RECOVERY_AREA\ORCL\CONTROL02.CTL#Restore Controlfile

*.db_block_size=8192

*.db_domain=

*.db_name=orcl

*.db_recovery_file_dest_size=4102029312

*.db_recovery_file_dest=

*.diagnostic_dest=E:\app\Administrator

*.dispatchers=(PROTOCOL=TCP) (SERVICE=orclXDB)

*.log_archive_dest=E:\log

*.log_archive_format=arch_%t_%s_%r.log

*.memory_target=3435134976

*.open_cursors=300

*.processes=150

*.remote_login_passwordfile=EXCLUSIVE

*.undo_tablespace=UNDOTBS1

方法二:根据安装软件自带init.ora来创建pfile文件并调整

我们根据Oracle安装软件$ORACLE_HOME/dbs

(E:\app\Administrator\product\11.2.0\dbhome_1\dbs)目录下自带的init.ora来定制我们需要的pfile。

(1)拷贝init.ora到“E:\app\Administrator\product\11.2.0\dbhome_1\database”路径下,并在更名为“initTESTDB.ora”。 

(2)编辑“initTESTDB.ora”文件。

[oracle@ENMOEDU dbs]$ vi initTESTDB.ora 

diagnostic_dest=/u01/app/oracle

db_name=TESTDB

memory_target=1G

processes = 150

audit_file_dest=/u01/app/oracle/admin/TESTDB/adump

audit_trail =db

db_block_size=8192

db_domain=

db_recovery_file_dest=/u01/app/oracle/flash_recovery_area

db_recovery_file_dest_size=2G

diagnostic_dest=/u01/app/oracle

open_cursors=300

remote_login_passwordfile=EXCLUSIVE

undo_tablespace=UNDOTBS1

control_files = (/u01/app/oracle/oradata/TESTDB/control01.ctl,/u01/app/oracle/oradata/TESTDB/control02.ctl)

compatible =11.2.0

基础模板如下:

db_name=ORCL

memory_target=1G

processes = 150

audit_file_dest=/admin/orcl/adump

audit_trail =db

db_block_size=8192

db_domain=

db_recovery_file_dest=/flash_recovery_area

db_recovery_file_dest_size=2G

diagnostic_dest=

dispatchers=(PROTOCOL=TCP) (SERVICE=ORCLXDB)

open_cursors=300

remote_login_passwordfile=EXCLUSIVE

undo_tablespace=UNDOTBS1

control_files = (ora_control1, ora_control2)

compatible =11.2.0

3、设置oracle启动的实例名称

set ORACLE_SID=TESTDB 

4、创建库实例

CMD命令行中输入命令:oradim -new -sid TESTDB

5、创建密码文件

Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令。

打开CMD命令,输入命令行: 

orapwd file=E:\app\SANMSUNG\product\11.2.0\dbhome_1\database\PWDTESTDB.ora password=oracle  entries=30

注意,entries参数指定数据库拥用DBA权限的用户的个数,该参数可由用户指定。

6、启动数据库到nomount状态

sqlplus / as sysdba

startup nomount

7、执行建库语句

以下语句可以拷贝到CMD命令行执行,也可以复制到文本文件中用@执行。 

CREATE DATABASE TESTDBCREATE DATABASE testdb

USER SYS IDENTIFIED BY oracle

USER SYSTEM IDENTIFIED BY oracle

LOGFILE GROUP 1 (E:\oracle\oradata\testdb\redo01.log) SIZE 100M,

GROUP 2 (E:\oracle\oradata\testdb\redo02.log) SIZE 100M,

GROUP 3 (E:\oracle\oradata\testdb\redo03.log) SIZE 100M

MAXLOGFILES 5

MAXLOGMEMBERS 5

MAXLOGHISTORY 1

MAXDATAFILES 100

MAXINSTANCES 1

CHARACER SET zhs16gbk

NATIONL CHARACTER SET AL16UTF16

EXTENT MANAGEMENT LOCAL  

DATAFIE E:\oracle\oradata\testdb\system01.dbf SIZE 500M REUSE

SYSUX DATAFILE E:\oracle\oradata\testdb\sysaux01dbf SIZE 500M REUSE

DEFAULT TABLESPACE users

      DATAFILE E:\oracle\oradata\testdb\users01.dbf

SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

DEFAULT TEMPORARY TABLESPACE temp

TEMPFILE E:\oracle\oradata\testdb\temp01.dbf

      SIZE 20M REUSE autoextend on maxsize unlimited  

UNDO TABLESPACE undotbs1

DATAFILE E:\oracle\oradata\testdb\undotbs01.dbf

      SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

7.1借助官方文档编写建库语句

查看官方文档参考:http://blog.csdn.net/huangyanlong/article/details/43925909

CREATE DATABASE mynewdb

USER SYS IDENTIFIED BY sys_password

   USER SYSTEM IDENTIFIED BY system_password

LOGFILE GROUP 1 (/u01/logs/my/redo01a.log,/u02/logs/my/redo01b.log) SIZE 100M BLOCKSIZE 512,

GROUP 2 (/u01/logs/my/redo02a.log,/u02/logs/my/redo02b.log) SIZE 100M BLOCKSIZE 512,

GROUP 3 (/u01/logs/my/redo03a.log,/u02/logs/my/redo03b.log) SIZE 100M BLOCKSIZE 512

   MAXLOGFILES 5

   MAXLOGMEMBERS 5

   MAXLOGHISTORY 1

   MAXDATAFILES 100

   CHARACTER SET AL32UTF8

NATIONAL CHARACTER SET AL16UTF16

   EXTENT MANAGEMENT LOCAL

DATAFILE /u01/app/oracle/oradata/mynewdb/system01.dbf SIZE 325M REUSE

SYSAUX DATAFILE /u01/app/oracle/oradata/mynewdb/sysaux01.dbf SIZE 325M REUSE

   DEFAULT TABLESPACE users

DATAFILE /u01/app/oracle/oradata/mynewdb/users01.dbf

SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED

   DEFAULT TEMPORARY TABLESPACE tempts1

TEMPFILE /u01/app/oracle/oradata/mynewdb/temp01.dbf

      SIZE 20M REUSE

   UNDO TABLESPACE undotbs

DATAFILE /u01/app/oracle/oradata/mynewdb/undotbs01.dbf

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

--依据实际修改脚本,删除掉一些没必要的设置

--将日志组成员进行多元化

--修改路径信息

CREATE DATABASE HYL

LOGFILE GROUP 1 (/u01/app/oracle/oradata/HYL/disk1/redo01a.log,

/u01/app/oracle/oradata/HYL/disk2/redo01b.log)

SIZE 100M BLOCKSIZE 512,

GROUP 2 (/u01/app/oracle/oradata/HYL/disk1/redo02a.log,

/u01/app/oracle/oradata/HYL/disk2/redo02b.log)

SIZE 100M BLOCKSIZE 512,          

GROUP 3 (/u01/app/oracle/oradata/HYL/disk1/redo03a.log,

/u01/app/oracle/oradata/HYL/disk2/redo03b.log)

SIZE 100M BLOCKSIZE 512  

CHARACTER SET zhs16gbk

   NATIONAL CHARACTER SET AL16UTF16  

EXTENT MANAGEMENT LOCAL

DATAFILE /u01/app/oracle/oradata/HYL/disk3/system01.dbf SIZE 325M REUSE

SYSAUX DATAFILE /u01/app/oracle/oradata/HYL/sysaux01.dbf SIZE 325M REUSE

DEFAULT TABLESPACE users

DATAFILE /u01/app/oracle/oradata/HYL/disk3/users01.dbf

      SIZE 500M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED 

DEFAULT TEMPORARY TABLESPACE tempts1

      TEMPFILE /u01/app/oracle/oradata/HYL/disk4/temp01.dbf

      SIZE 20M REUSE  

UNDO TABLESPACE undotbs

      DATAFILE /u01/app/oracle/oradata/HYL/disk5/undotbs01.dbf

SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;

--将以上脚本放在oracle目录下,然后执行

$cd /u01/app/oracle/

$vi createDB.sql

SQL> @/u01/app/oracle/createDB.sql

7.2设置数据文件和临时文件为自动扩展

(1)获得所有数据文件和临时文件信息

SQL> col name for a60

SQL> select file#,name from v$datafile union select file#,name from v$tempfile;

     FILE# NAME

---------- ------------------------------------------------------------

1 /u01/app/oracle/oradata/secooler/dfile/system01.dbf

         1 /u01/app/oracle/oradata/secooler/dfile/temp01.dbf

2 /u01/app/oracle/oradata/secooler/dfile/undotbs01.dbf

3 /u01/app/oracle/oradata/secooler/dfile/sysaux01.dbf

         4 /u01/app/oracle/oradata/secooler/dfile/tbs_1.dbf

(2)将其调整为自动扩展

SQL> alter database datafile 1 autoextend on;

SQL> alter database datafile 2 autoextend on;

SQL> alter database datafile 3 autoextend on;

SQL> alter database datafile 4 autoextend on;

SQL> alter database tempfile 1 autoextend on;

8、执行catalog脚步本创建数据字典

在CMD命令行下执行:

或SQL> @?/rdbms/admin/catalog.sql  

@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql

需约5分钟,作用:创建数据字典

9、执行catproc创建package包

在CMD命令行下执行:

或SQL> @?/rdbms/admin/catproc.sql

@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql

需约10分钟,跑完这两个脚本后库已经建完了,作用:创建存储过程和包

10、执行pupbld

在执行pupbld前,先将用户切换为system。 

SQL> connect system/oracle

或SQL> @?/sqlplus/admin/pupbld.sql 

SQL> E:\app\SANMSUNG\product\11.2.0\dbhome_1\sqlplus\admin\pupbld.sql

1分钟,以system用户 运行此脚本,作用:设置sqlplus的一些包,让其它用户可以登录sqlplus

11、由pfile创建spfile

spfile的创建需要dba权限。

SQL> con sys as sysdba

create spfile from pfile;

SQL> connect system/oracle

12、执行scott脚本创建scott模式

这个环节可以省去,当然如果需要练习环境则这个环节最好不要省去。 

在CMD命令行中输入:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql

13、把数据库打开到正常状态

重启数据库并验证是否建库成功。 

shutdown immediate

startup

select instance_name,status from v$instance;

以上是“Oracle如何实现手工建库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:PostgreSQL中ExecProcNode和ExecProcNodeFirst函数的实现逻辑是什么
下一篇:hash join构建位图的示例分析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~