这篇文章主要为大家展示了“Oracle如何实现手工建库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle如何实现手工建库”这篇文章吧。
管理员指南
创建并配置数据库
使用建库语句创建数据库
1-14 为官方文档手工建库步骤,9为建库语句
步骤1:指定实例标识符(SID)
步骤2:确保设置了所需的环境变量
第3步:选择数据库管理员身份验证方法
第4步:创建初始化参数文件
步骤5 :(仅限Windows)创建一个实例
第6步:连接到实例
第7步:创建一个服务器参数文件
第8步:启动实例
第9步:发出CREATE DATABASE语句
第10步:创建附加的表空间
第11步:运行脚本来构建数据字典视图
步骤12 :(可选)运行脚本以安装其他选项
步骤13:备份数据库。
步骤14 :(可选)启用自动实例启动
下面介绍下这几个文件路径的作用。
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
方法一:从其他库拷贝一个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'
set ORACLE_SID=TESTDB
CMD命令行中输入命令:oradim -new -sid TESTDB
Oracle的口令文件的作用是存放所有以sysdba或者sysoper权限连接数据库的用户的口令。
打开CMD命令,输入命令行:
orapwd
file=E:\app\SANMSUNG\product\11.2.0\dbhome_1\database\PWDTESTDB.ora
password=oracle entries=30
注意,entries参数指定数据库拥用DBA权限的用户的个数,该参数可由用户指定。
sqlplus / as sysdba
startup nomount
以下语句可以拷贝到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;
查看官方文档参考: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
(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;
在CMD命令行下执行:
或SQL> @?/rdbms/admin/catalog.sql
@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catalog.sql
需约5分钟,作用:创建数据字典
在CMD命令行下执行:
或SQL> @?/rdbms/admin/catproc.sql
@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\catproc.sql
需约10分钟,跑完这两个脚本后库已经建完了,作用:创建存储过程和包
在执行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
spfile的创建需要dba权限。
SQL> con sys as sysdba
create spfile from pfile;
SQL> connect system/oracle
这个环节可以省去,当然如果需要练习环境则这个环节最好不要省去。
在CMD命令行中输入:@E:\app\SANMSUNG\product\11.2.0\dbhome_1\RDBMS\ADMIN\scott.sql
重启数据库并验证是否建库成功。
shutdown immediate
startup
select instance_name,status from v$instance;
以上是“Oracle如何实现手工建库”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。