oracle(创建数据库对象)
时间:2021-07-01 10:21:17
帮助过:6人阅读
--创建数据库
2 --1.SYSDBA系统权限
3 startup:
--启动数据库。
4 shutdown:
--关闭数据库。
5 alter database[mount]|[open]|[backup]|[character set]:
--修改数据库到加载状态、打开状态,备份数据库,修改数据库字符集。
6 create database:
--创建数据库。
7 drop database:
--删除数据库。
8 create spfile:
--创建服务器初始化参数文件。
9 alter database archivelog:
--修改数据库的归档模式。
10 alter database recover:
--恢复数据库(完全恢复或者不完全恢复)。
11 --具有restricted session权限,可以在受限状态下连接数据库。
12 --2.SYSOPER系统权限
13 startup:
--启动数据库。
14 shutdown:
--关闭数据库。
15 create spfile:
--创建服务器初始化参数文件。
16 alter database[mount]|[open]|[backup]:
--修改数据库到加载状态、打开状态,备份数据库。
17 alter database archivelog:
--修改数据库的归档模式。
18 alter database recover:
--恢复数据库(只能进行完全恢复,不能进行不完全恢复)。
19 --具有restricted session权限,可以在受限状态下连接数据库。
20 --dba是一个角色
21 --%ORACLE_HOME%NETWORK\ADMIN\sqlnet.ora,
22 sqlnet.authentication_services
=(nts)
--不用密码认证
23 sqlnet.authentication_services
=none
--用密码认证
24 orapwd
file=
25 filename
--在Windows系统中口令文件默认名称为PWD<SID>.ora,默认存放位置为%ORACLE_HOME%\database
26 [password=password]--设置SYS用户口令。如果没有设定,执行时系统提示设置SYS用户口令。
27 [entries=numusers]--设定口令文件中可以保存的具有SYSDBA或SYSOPER权限的用户最大数量。
28 [force=y|n]--明如果指定的口令文件已经存在,是否覆盖。值为Y,则覆盖
29 [ignorecase=y|n]--指定存储在口令文件中的SYS用户口令是否对大小写敏感。
30 GRANT SYSDBA
TO oe;
--
31 select * from v$pwfile_users;
32 revoke sysdba
from oe;
--删除用户
33 --手动创建数据库
34 create database database_name
35 [user sys identified by password]--设置sys用户口令
36 [user system idnetified by password]--设置system用户口令
37 [controlfile reuse]--按初始化参数文件中的control_files的值创建控制文件
38 [maxinstances integer]--指定允许同时装载和打开的数据库实例个数
39 [maxdatafiles integer]--设置控制文件中允许创建最多数据文件数量
40 [maxloghistory integer]--可以自动归档的最大日志文件的数量,仅适用于RAC环境
41 [maxlogfiles integer]--数据库中最大日志文件的数量
42 [maxlogmembers integer]--设置每个日志文件组中最大成员日志文件数量
43 [archivelog|noarchivelog]--设置新建数据库处于归档模式
44 [force logging]--数据库中所有的变化信息(除了临时表空间)都写入日志文件
45 [character set charset]--设置数据库字符集
46 [national character set charset]--设置国家字符集
47 [set time_zone=time_zone_region]--设置数据库时区
48 [set default smallfile|--设置默认创建的表空间为小文件表空间
49 bigfile tablespace]--设置默认创建的表空间为大文件表空间
50 --设置重做日志文件
51 [logfile[[group integer](
‘filename1‘[,…])
[size integer[k|m|g|t][reuse]]],…]
52 --设置 system 表空间
53 [extent management local]--设置system表空间采用本地管理方式
54 [datafile ‘filename‘
55 [size integer[k|m][reuse]]
56 [autoextend off
57 [
58 on
59 [
60 next integer[k|m]
61 maxsize unlimited
|[integer[k|m|g|t]]
62 ]
63 ]
64 ],…]
65 --设置 sysaux 表空间
66 [sysaux datafile ‘filename‘[size integer[k|m|g|t][reuse]]
[autoextend off
67 [on[next integer[k|m]maxsize
[unlimited|integer[k|m|g|t]]]]],…]
--为sysaux表空间创建数据文件
68 --设置数据库默认表空间
69 [default tablespace default_tablespace_name]--为数据库创建并指定默认表空间
70 [datafile ‘filename‘ [size integer[k|m][reuse]]
[autoextend off--为system表空间创建数据文件
71 [on[next integer[k|m]maxsize unlimited
|[integer[k|m|g|t]]]]],…]
72 [extent management dictionary|[local[autoallocate|[uniform size
73 integer[k|m|g|t]]]]]
74 --设置数据库默认临时表空间
75 [default temporary tablespace default_temp_tablespace_name]--为数据库创建并指定默认临时表空间
76 [tempfile ‘filename‘ [size integer[k|m|g|t][reuse]]
[autoextend off
77 [on[next integer[k|m|g|t]maxsize unlimited
|[integer[k|m|g|t]]]]],…]
78 [extent management[dictionary|[local uniform size integer[k|m|g|t]]]]
79 --设置数据库撤销表空间
80 [undo tablespace undo_tablespace_name]--为数据库创建并指定默认撤销表空间
81 [datafile ‘filename‘ [size integer[k|m|g|t][resuse]]
[autoextend off
82 [on[next integer[k|m|g|t]maxsize unlimited
|[integer[k|m|g|t]]]]],…]
83 ---------------------------------------------------------------------------------------------------------
84 --手动创建数据库实例
85 --1.确定数据库名称与数据库实例名称
86 --数据库名称(db_name),数据库实例名称(instance_name)。
87 --2.保证必需的环境变量的设置
88 --将ORACLE_HOME\bin路径信息写入PATH环境变量等。
89 --SET ORACLE_SID=MYNEWDB
90 --3.确定数据库管理员的认证方式
91 --操作系统认证方式,口令文件认证方式
92 orapwd
--创建口令文件
93 file=d:\app\administrator\product\
11.2.
0\dbhome_1\
database\pwdmynewdb.ora
94 password
=mynewdb entries
=10
95 --4.创建文本初始化参数文件
96 %ORACLE_HOME
%\
database\init<SID>.ora
97 --其内容为:
98 #设置全局数据库名
99 db_domain
=‘‘
100 db_name=‘MYNEWDB‘
101 #设置快速恢复区
102 db_recovery_file_dest
=‘d:\app\Administrator\flash_recovery_area‘
103 db_recovery_file_dest_size
=2G
104 #设置控制文件
105 control_files
=(
106 ‘D:\app\Administrator\oradata\mynewdb\control01.ctl‘,
107 ‘D:\app\Administrator\oradata\mynewdb\control02.ctl‘,
108 ‘D:\app\Administrator\oradata\mynewdb\control03.ctl‘)
109 #设置标准数据块大小
110 db_block_size
=8192
111 #设置内存管理
112 memory_target
=1G
113 #设置最大进程数
114 processes
=150
115 #设置撤销空间管理
116 undo_management
=AUTO
117 undo_tablespace
=UNDOTBS
118 #设置兼容性
119 compatible
=‘11.2.0‘
120 #设置共享服务器
121 dispatchers
=‘(PROTOCOL=TCP)(SERVICE=MYNEWDBXDB)‘
122 #设置安全与审计
123 audit_file_dest
=‘D:\app\Administrator\admin\mynewdb\adump‘
124 audit_trail
=‘db‘
125 #口令文件管理
126 remote_login_passwordfile
=EXCLUSIVE
127 #设置游标
128 open_cursors
=300
129 #设置诊断与跟踪信息
130 diagnostic_dest
=‘D:\app\Administrator‘
131 #设置作业队列
132 job_queue_processes
=10
133 --注意 初始化参数文件中所涉及的目录需要预先手动创建。
134 --5.创建数据库实例
135 oradim
-new
-sid sid
--表示新建一个数据库实例。SID,设置新建数据库实例的名称
136 [-syspwd password]--设置SYS用户口令。
137 [-startmode manual|auto]--设置数据库实例的启动模式。如果设置为AUTO,
138 --创建实例后将启动实例、加载数据库,由于此时数据库还不存在,
139 --将导致错误。因此,应设置此参数为MANUAL。
140 [
141 [-pfile pfile]--指定数据库实例启动时使用文本初始化参数文件。
142 |spfile
--指定数据库启动时使用服务器初始化参数文件。
143 ]
--
144 [-shutmode normal|immediate|abort]--设置数据库实例关闭方式。
145 --例
146 c:\>oradim
-new
-sid mynewdb
-startmode manual
147 --6.连接到数据库实例
148 C:\>SQLPLUS
/NOLOG
149 SQL>CONNECT sys
/mynewdb
AS SYSDBA
150 --其中,mynewdb是保存在口令文件中的SYS用户的口令。
151 --7.创建服务器初始化参数文件
152 SQL>
CREATE SPFILE
FROM PFILE;
--为MYNEWDB数据库创建服务器初始化参数文件
153 --(建议用户使用数据库服务器初始化参数文件(spfile),
154 --而不是使用文本初始化参数文件(pfile))
155 --8.启动数据库实例
156 SQL
>startup nomount
157 --9.执行CREATE DATABASE语句
158 --10.创建附加的表空间
159 --11.运行脚本创建数据字典视图
160 --在手动创建数据库时,需要手动运行脚本创建数据字典视图与同义词、创建PL/SQL包,
161 --以及提供对SQL*Plus工具的支持。
162 SQL>CONNECT sys
/mynewdb
AS SYSDBA
163 SQL>
@D:\app\Administrator\product\
11.2.
0\dbhome_1\RDBMS\ADMIN\catalog.sql;
164 SQL>
@D:\app\Administrator\product\
11.2.
0\dbhome_1\RDBMS\ADMIN\catproc.sql;
165 SQL>CONNECT system
/mynewdb
166 SQL>
@D:\app\Administrator\product\
11.2.
0\dbhome_1\sqlplus\admin\pupbld.sql
167 --12.运行脚本安装其他组件
168 --13.备份数据库
169 --14.修改数据库实例的启动模式
170 oradim
-edit
-sid sid
171 [-startmode auto|manual]
172 [-srvcstart system|demand]
173 [-pfile file|-spfile]
174 [-shutmode normal|immediate|abort]
175 [-syspwd password]
176 -------------------------------------------------------------------------------------------------------------
177 --创建表空间
178 create
179 [bigfile|smallfile]--指定要创建大文件表空间,还是小文件表空间。如不指定,则由数据库属性DEFAULT_TBS_TYPE指定,默认为SMALLFILE。
180 [temporary|undo]tablespace tbs_name
--指定要创建的表空间类型,默认为永久表空间
181 datafile
|tempfile path
/filename size
integer[k|m][reuse]--指定表空间的数据文件的位置和名称。
182 [
183 autoextend[off|on]next integer[k|m]--指定数据文件是否可以自动扩展。如果可以自动扩展,需要设置NEXT值指明每次扩展的大小,
184 maxsize
[unlimited|integer[k|m]]
--设置MAXSIZE值指明文件的最终大小。默认值为OFF,不可扩展。
185 ]
186 [tablespace group tablespace_group_name]--只用于临时表空间,指定该临时表空间加入某个临时表空间组。
187 --如果指定的临时表空间组不存在,系统会自动创建该临时表空间组。
188 [extent management dictionary|local]--指定表空间的管理方式,默认为LOCAL,即本地管理。
189 [autoallocate|uniform size integer[k|m]]
--本地管理表空间区采用自动分配方式,区的最小值为64KB。自动分配是本地管理表空间中区的默认分配方式
190 [segment space management auto|manual]--本地管理表空间中段的管理方式,默认为AUTO。
191 [retention guarantee|noguarantee]--用于撤销表空间,指明事务提交后,回退信息在回退段中保留时间仍然为UNDO_RETENTION,在这段时间内回退信息不会被覆盖。
192 [encryption[using encrypt_algorithm]--指定表空间的加密方法。
193 [identified by password][[no]salt]]
--
194 [minimum extent integer[k|m]]
--表空间中区的最小值。这是为了与早期版本的兼容而保留的子句。
195 [
196 default storage(
197 [initial integer[k|m]]
--为第一个区的大小
198 [next integer[k|m]]
--第二个区的大小
199 [pctincrease integer]--第三个区和以后扩展的区的增长百分率,
200 [minextents integer]--为段分配的区的最小数目
201 [maxextents integer|unlimited])
--为段分配的区的最大数目。这是为了与早期版本的兼容而保留的子句。
202 ]
203 [online|offline]--新建表空间处于脱机状态还是联机状态。
204 [logging|--数据库对象的创建以及数据的DML操作信息都写入重做日志文件。
205 nologging]--数据库对象的创建以及数据的DML操作信息都写入重做日志文件,但是数据的加载操作不写入重做日志文件。
206 [force logging]--表空间中所有对象发生的变化信息(临时段的变化信息除外)都将被写入重做日志文件中,忽略NOLOGGING子句的作用。
207 [blocksize integer]--表空间所基于的数据块大小。
208 [flashback on|off]--是否支持表空间的闪回操作
209 --说明BLOCKSIZE:表空间所基于的数据块大小。若为非标准块表空间,需要配置初始化参数DB_nK_CACHE_SIZE参数,其中nKB就是BLOCKSIZE的值。
210 --默认为标准块表空间,BLOCKSIZE值为初始化参数DB_BLOCK_SIZE的值。
211 --------------------------------------------------------------------------------------------------------
212 --创建数据文件
213 create tablespace
--创建表空间同时创建数据文件
214 create temporary tablespace
--创建临时表空间的同时创建临时数据文件
215 alter tablespace...
add datafile
--向表空间添加数据文件
216 alter tablespace...
add tempfile
--向临时表空间添加数据文件
217 create database --创建数据库时创建数据文件
218 alter database...
create datefile
--数据氈恢复操作时,新建一个数据文件取代出现故障的数据文件
219 --例
220 alter tablespace users
add datafile
‘d:\app\administrator\oradata\orcl\users02.dbf‘ size 10m;
221 --修改数据文件大小
222 select file_name,autoextensible
from dba_data_files;
--查看当前数据库所有数据文件的扩展方式。
223 --例
224 alter database datafile
‘d:\app\administrator\oradata\orcl\users04.dbf‘size 10m autoextend
on next 512k maxsize 100m;
225 --改变数据文件的可用性
226 --要进行数据文件的脱机备份时,需要先将数据文件脱机。
227 --需要重命名数据文件或改变数据文件的位置时,需要先将数据文件脱机。
228 --如果Oracle在写入某个数据文件时发生错误,系统会自动将该数据文件设置为脱机状态,并且记录在报警文件中。排除故障后,需要以手动方式重新将该数据文件恢复为联机状态。
229 --数据文件丢失或损坏,需要在启动数据库之前将数据文件脱机。
230 --归档模式下:
231 alter database datafile…online
|offline
--设置永久性数据文件的脱机与联机。
232 alter database tempfile…online
|offline
--设置临时数据文件的脱机与联机。
233 --将ORCL数据库设置为归档模式。
234 shutdown immediate
--数据库己经关闭,己经卸载数据库,例程己关闭
235 startup mount
--例程己启动
236 --例
237 alter database datafile
238 ‘d:\app\administrator\oradata\orcl\users01.dbf‘offline;
--脱机
239 recover datafile
240 ‘d:\app\administrator\oradata\orcl\users01.dbf‘;
--完成介质恢复。
241 alter database datafile
242 ‘d:\app\administrator\oradata\orcl\users01.dbf‘online;
--联机
243 --非归档模式下数据文件的脱机
244 --由于数据库处于非归档模式,数据文件脱机后,会导致信息的丢失,从而使该数据文件无法再联机,
245 --即无法使用了。因此,在非归档模式下,通常不能将
246 shutdown immediate
247 startup mount
248 alter database noarchivelog;
249 alter database open;
250 alter database datafile
‘d:\app\administrator\product\11.2.0\dbhome_1\database\users3.dbf‘ offline
for drop;
251 select file_name,
from dba_data_files
where tablespace_name
= ‘users‘;
252 --注意 使用该语句只是将数据文件脱机,数据文件不可用,并没有从数据字典以及控制文件中删除该数据文件信息,也没有从磁盘上删除该数据文件。
253 --该文件随后可以随其所属表空间的删除而删除。
254 alter tablespace users datafile offline;
255 select name,status
from v$datafile
where ts#
= (
select ts#
from v$tablespace
where name
=‘users‘);
256 --查看users表空间各个数据文件的状态
257 recover tablespce users;
258 --改变数据文件的名称与位置
259 alter tablespacle…rename datafile…
to--改变同一个表空间中的数据文件的名称与位置。
260 alter database rename
file…
to--改变多个表空间中的数据文件的名称与位置
261 --例
262 select file_name,bytes
from dba_data_files
where tablespace_name
= ‘users‘;
263 alter tablespace users datafile offline;
264 host copy d:\app\administrator\oradata\orcl\users02.dbf d:\disk1\users02.dbf
265 host copy d:\app\administrator\oradata\orcl\users04.dbf d:\disk1\users04.dbf
266 alter tablespace users rename datafile
267 ‘d:\app\administrator\oradata\orcl\users02.dbf‘,
268 ‘d:\app\administrator\oradata\orcl\users04.dbf‘ to
269 ‘d:\disk1\users02.dbf‘,
270 ‘d:\disk1\users02.dbf‘
271 alter tablespace users online;
272 --修改多个表空间中数据文件的名称与位置
273 select file_name, bytes
from dba_data_files
where tablespace_name
in(
‘users‘,
‘example‘);
274 shutdown immediate
275 startup mount
276 host copy d:\app\administrator\oradata\orcl\users01.dbf d:\disk2\users01.dbf
277 host copy d:\app\administrator\oradata\orcl\example01.dbf d:\disk2\example01.dbf
278 alter database rename
file_name
279 alter database open;
280 --删除数据文件
281 alter tablespace…
drop datafile
--删除永久表空间中指定的空的数据文件。
282 alter tablespace…
drop tempfile
--删除临时表空间中指定的空的临时数据文件。
283 --例
284 alter tablespace users
drop datafile
285 ‘d:\app\administrator\product\11.2.0\dbhome_1\database\users03.dbf‘;
286 alter tablespace
temp drop tempfile
287 ‘d:\app\administrator\oradata\orcl\temp02.dbf‘;
288 alter database tempfile
289 ‘d:\app\administrator\oradata\orcl\temp02.dbf‘drop;
290
291 ------------------------------------------------------------------------------------------------------------
292 --创建模式
293 --可以使用create schema语句在一个事务中同时为当前模式创建多个表、视图,并执行多个授权操作。
294 --在执行时,当所有的语句都成功完成时,系统提交该事务,当其中任何一个操作失败时,系统回滚整个事务。
295 create schema authorization schema--指定模式名称,必须为当前模式的名称。
296 [create_table_statement