当前位置:Gxlcms > 数据库问题 > oracle(创建数据库对象)

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.dbfsize 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.dbfoffline;--脱机 239 recover datafile 240 d:\app\administrator\oradata\orcl\users01.dbf;--完成介质恢复。 241 alter database datafile 242 d:\app\administrator\oradata\orcl\users01.dbfonline;--联机 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 fileto--改变多个表空间中的数据文件的名称与位置 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.dbfdrop; 290 291 ------------------------------------------------------------------------------------------------------------ 292 --创建模式 293 --可以使用create schema语句在一个事务中同时为当前模式创建多个表、视图,并执行多个授权操作。 294 --在执行时,当所有的语句都成功完成时,系统提交该事务,当其中任何一个操作失败时,系统回滚整个事务。 295 create schema authorization schema--指定模式名称,必须为当前模式的名称。 296 [create_table_statement

人气教程排行