




已阅读5页,还剩95页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,第4章Oracle数据库创建与表空间维护,教学目标,掌握使用数据库配置助手创建,删除数据库方法。掌握数据库启动与关闭的过程掌握数据库启动和关闭的方法。了解数据库不同状态的特征及其转换理解和掌握创建,管理表空间的方法,必须完整地建立一个数据库的物理结构、逻辑结构、内存结构和进程结构,4.1创建Oracle数据库,创建数据库的方法手工使用命令工具DBCA,创建数据库的先决条件安装需要的Oracle软件设置操作系统环境变量在磁盘建立目录结构获得相应的操作系统权限和Oracle的SYSDBA系统特权充足的磁盘存储空间,规划数据库的文件存储位置考虑数据生存期、数据管理特性分散存储:I/O争用、系统安全文件的命名要合理、规范,4.1.1创建Oracle数据库概述,提问?,ORACLE_BASEORACLE_HOME分别代表什么目录?,ORACLE_BASE:Oracle数据库根目录ORACLE_BASE下有两个子目录。(1)ORACLE_HOMEOracle数据库软件所在目录,称为Oracle主目录(2)ORACLE_BASE/admin数据库例程的进程日志文件所在目录。在该目录下为每个例程建立一个专用目录以管理它的进程日志文件,ORACLE_BASE,oracle_base/product/release_number-发行版本号,这个目录一般作为ORACLE_BASE/admin-内核进程跟踪文件目录/inst_name-每个例程有专门的对应目录,以例程名命名/adump/bdump/pfile/client_1-客户端第1次安装建立的客户端工具目录/bin-客户端工具的可执行程序目录/db_1-第1次安装Oracle建立的主目录,该目录一般作为ORACLE_HOME/bin-可执行程序目录/dbs-初始化参数、口令文件所在目录,Windows有database目录/NETWORK-监听进程等OracleNet相关配置文件所在目录/RDBMS-RDBMS脚本文件所在目录/sqlplus-SQL*Plus工具所在目录,oradata,oradata:数据库物理文件所在目录该目录可位于ORACLE_BASE下,也可以放到别的磁盘上。在oradata目录下,每个数据库有一个对应物理文件目录。,oradata/demo/-数据库demo物理文件目录SYSTEM01.DBFCONTROL01.CTLREDO01.LOGCEMERP/-数据库CEMERP物理文件目录SYSTEM01.DBFCONTROL01.CTLREDO01.LOG,Oracle数据库配置助手(简称DBCA),是一个图形用户界面(GUI)工具,它可与Oracle通用安装程序进行交互,也可以单独使用,它的主要作用是简化数据库的创建过程。,DBCA为不同应用环境提供的模板一般用途事务处理定制数据库数据仓库,4.1.2使用DBCA创建数据库,【例】使用DBCA创建XSCJ(学生成绩管理系统)数据库。(1)启动DBCA,DBCA激活并初始化。DBCA初始化完成后自动进入“欢迎”窗口,图DBCA初始化窗口,图欢迎窗口,(2)单击“下一步”按钮,进入“数据库创建”窗口。,(3)选择创建数据库选项,单击“下一步”按钮,进入“数据库模板”窗口,,(4)选择一般用途选项,单击“下一步”按钮,进入“数据库标识”窗口,(5)单击“下一步”按钮,进入“管理选项”窗口,(6)单击“下一步”按钮,进入“数据库身份证明”窗口,(7)单击“下一步”按钮,进入“存储选项”窗口,(8)单击“下一步”按钮,进入“数据库文件位置”窗口,(9)单击“下一步”按钮,进入“恢复配置”窗口,(10)单击“下一步”按钮,进入“数据库内容”窗口,(11)单击“下一步”按钮,进入“初始化参数”窗口,“内存”选项卡。典型:SGA大小以“物理内存的百分比”来设定,DBCA会适当的分配给SGA各区域。自定义:可以自行决定SGA各区域的内存配置情况。,“调整大小”选项卡。配置数据库块大小和连接此数据库的操作系统用户的最大数量。,“字符集”选项卡。配置字符集。它是在计算机屏幕上显示字符时所使用的编码方案。,“连接模式”选项卡。设置将要创建的数据库的运作模式。,初始化参数窗口,(12)单击“下一步”按钮,进入“数据库存储”窗口,,(13)单击“下一步”按钮,进入“创建选项”窗口,(14)单击“确定”按钮,之后就可以把剩下的工作交给DBCA了!它会先创建起始参数文件,然后在激活OracleInstance之后进行一连串的工作,安装已完成,(15)按下“完成”按钮,进入“确认”窗口,删除数据库,删除数据库是在DBCA中完成。进入DBCA后,选择“删除数据库”选项。选择要删除的数据库。,图-选择要删除的数据库,图-删除进度窗口,提问,Oracle的物理文件的存储关系是什么?(数据库启动时先读最先哪个文件?其次?),4.2数据库的启动与关闭,4.2.1数据库启动数据库启动步骤创建并启动实例(初始化参数文件)装载数据库(控制文件)打开数据库(数据文件与重做日志文件),P283-287,1.使用SQL*Plus启动数据库,启动数据库可以使用STARTUP命令。语法格式:STARTUPFORCERESTRICTPFILE=filenameQUIETMOUNTdbname|OPENopen_optionsdbname|NOMOUNT,STARTUPNOMOUNT,读取数据库初始化参数文件,创建并启动数据库实例。提问oracle10g中有几种初始化参数文件?Pfile(文本型初始化参数文件)SPfile(服务器参数文件),STARTUPNOMOUNT,在NOMOUNT模式下可以执行下列操作:创建一个新的数据库重建数据库的控制文件常用于在数据库控制文件全部损坏,需要重新创建数据库控制文件或创建数据库时使用。,SQLstartupnomountORACLE例程已经启动。TotalSystemGlobalArea612368384bytesFixedSize1250428bytesVariableSize171969412bytesDatabaseBuffers432013312bytes,STARTUPMOUNT,根据CONTROL_FILES参数找到数据库的控制文件,读取控制文件获取数据库的物理结构信息,实现数据库的装载。在MOUNT模式下可以执行下列操作:重命名数据文件添加、删除或重命名重做日志文件改变数据库的归档模式执行数据库完全恢复操作常用于修改数据库运行模式或进行数据库恢复。,SQLstartupmountORACLE例程已经启动。TotalSystemGlobalArea612368384bytesFixedSize1250428bytesVariableSize171969412bytesDatabaseBuffers432013312bytesRedoBuffers7135232bytes数据库装载完毕。,将数据库有归档方式改为非归档方式AlterdatabaseARCHIVELOG;监测数据库的运行模式Archiveloglist;数据库日志模式存档模式自动存档启用存档终点USE_DB_RECOVERY_FILE_DEST最早的联机日志序列1下一个存档日志序列3当前日志序列3,STARTUPOPEN,任何具有CREATESESSION权限的用户都可以连接到数据库,并可以进行基本的数据访问操作。数据库的默认选项,一般用户数据库的正常启动。,SQLstartupORACLE例程已经启动。TotalSystemGlobalArea612368384bytesFixedSize1250428bytesVariableSize171969412bytesDatabaseBuffers432013312bytesRedoBuffers7135232bytes数据库装载完毕。数据库已经打开。,STARTUPFORCE,用于当各种启动模式都无法成功启动数据库时强制启动数据库。在下列情况下,需要使用STARTUPFORCE命令启动数据库:无法使用SHUTDOWNNORMAL,SHUTDOWNIMMEDIATE或SHUTDOWNTRANSACTION语句关闭数据库实例。在启动实例时出现无法恢复的错误。,STARTUPRESTRICT,只有具有CREATESESSION和RESTRICTEDSESSION系统权限的用户才可以连接数据库。下列操作需要使用STARTUPRESTRICT方式启动数据库执行数据库数据的导出或导入操作执行数据装载操作暂时阻止普通用户连接数据库进行数据库移植或升级操作,STARTUPPFILE,STARTUPPFILE=pathfilename默认服务器端初始化参数文件默认文本文件使用非默认的初始化参数文件Startuppfile=%oracle_home%databaseinitorcl.ora,在使用OEM打开或关闭数据库时,需要在Window环境中进行一下设置:(1)在“控制面板”中选择“管理工具”。(2)选择“本地安全策略”“本地策略”“用户权利指派”。(3)选择“作为批处理作业登录”“本地安全策略设置”“添加”。(4)在“选择用户或组”中选择administrator或其他用户,再单击“确定”。,2.使用OEM启动数据库,4.2.2数据库关闭,数据库关闭步骤关闭数据库(关闭数据文件与重做日志文件)卸载数据库(关闭控制文件)关闭实例(释放内存、关闭后台进程),语法格式:SHUTDOWNNORMALIMMEDIATETRANSACTIONALABORT参数说明:NORMAL:正常关闭(一般对数据库的关闭时间没有限制)。IMMEDIATE:立即关闭。TRANSACTIONAL:尽量少影响客户端,避免客户丢失信息。ABORT:放弃一切事务,立即关闭(出现紧急情况时使用),1.使用SQL*Plus关闭数据库,SHUTDOWNNORMAL,阻止任何用户建立新的连接;等待当前所有正在连接的用户主动断开连接;一旦所有用户断开连接,则关闭数据库;数据库下次启动时不需要任何实例的恢复过程。如果数据库中存在死进程,这种方式将关不了数据库,商店关门方式:1.顾客出了门就不让再进来了。2.不撵里面的顾客,等他们自愿的全走完,商店才关门。,阻止任何用户建立新的连接,也不允许当前连接用户启动任何新的事务;回滚所有当前未提交的事务;终止所有用户的连接,直接关闭数据库;数据库下一次启动时不需要任何实例的恢复过程。,SHUTDOWNIMMEDIATE,商店关门方式:1.除了新客户顾客不能进入商店外,在店里的顾客立刻终止选购商品,将商品放回货架,然后离开。2.待顾客全部离开后,商店才关门。,SHUTDOWNTRANSACTIONAL,阻止所有用户建立新的连接,也不允许当前连接用户启动任何新的事务;等待用户回滚或提交任何当前未提交的事务,然后立即断开用户连接;关闭数据库;数据库下一次启动时不需要任何实例的恢复过程。,商店关门方式:1.出去的顾客就不让再进来了。2.在店里的顾客,买完正在选购的商品后,不能再买其他商品,即离开商店。3.待商店的顾客都离开后,商店才关门。,阻止任何用户建立新的连接,同时阻止当前连接用户开始任何新的事务。立即结束当前正在执行的SQL语句。任何未提交的事务不被回滚。中断所有的用户连接,立即关闭数据库。数据库实例重启后需要恢复。慎用!,SHUTDOWNABORT,商店关门方式:1.商店的顾客将商品扔掉立刻离开,可能有的顾客还没离开,商店就关门。,2.使用OEM关闭数据库,4种关闭数据库模式比较,4.2.3数据库状态转换,启动模式间转换STARTUPNOMOUNT;ALTERDATABASEMOUNT;ALTERDATABASEOPEN;读写状态转换ALTERDATABASEOPENREADWRITE;ALTERDATABASEOPENREADONLY;,4.3表空间管理概述,提问?Oracle中,数据库、表空间、数据文件、数据库对象之间的关系是什么?,数据库、表空间、数据文件、数据库对象之间的关系,表空间分类,按构成文件分大文件表空间:只能包含1个大文件(最大尺寸为128TB)小文件表空间:可包含多个数据文件(默认)按表空间用途分系统表空间、撤销表空间、临时表空间数据表空间、索引表空间等按数据特性:永久表空间、临时表空间、撤销表空间,一个表空间的大小由其数据文件大小决定方案对象可以跨表空间的数据文件存储,但不能跨表空间存储可以为用户指定默认数据表空间。但该用户的方案对象可以存储到不同表空间中。可以指定用户在各表空间上的空间配额,表空间的特性,本地管理方式区的分配和管理信息都存储在表空间的数据文件中。表空间在每个数据文件中维护一个“位图”结构,用于记录表空间中所有区的分配情况。字典管理方式表空间使用数据字典来管理存储空间的分配,当进行区的分配与回收时,Oracle将对数据字典中的相关基础表进行更新,同时会产生回滚信息和重做信息。字典管理方式将渐渐被淘汰。,表空间管理方法,遵循分散(Separate)存储原则,避免磁盘I/O冲突(1)在系统性能要求较高的应用环境中,创建表空间时使用裸设备存储数据文件(2)将表、索引分开存放在不同的表空间中(3)将访问频度高的表、索引分开存放在不同的表空间,并将这些表空间所使用的数据文件存储到不同的物理磁盘上(4)对于数据量特别大,并发访问频繁的表、索引应考虑单独存放在一个表空间中。进一步,考虑将表、索引进行分区存储到不同表空间中(5)将日志和数据放置在不同的磁盘上,表空间应用原则,Oracle建议将不同类型的数据部署到不同的表空间提高数据访问性能便于数据管理、备份、恢复等操作一个Oracle数据库应用方案应该包括专用的数据表空间(可能需要建立多个)索引表空间(可能需要建立多个)临时表空间表空间对应的数据文件分开存储到不同的磁盘上SYSTEM表空间应该只包含系统数据(如数据字典),表空间在实际工程中的应用,建立数据库时,Oracle会自动建立系统表空间SYSTEM和SYSAUX临时表空间TEMP撤销表空间UNDOTBS1,一般情况下,建立表空间由特权用户或DBA完成,4.3.1表空间的创建与删除,创建表空间,在创建本地管理方式下的表空间时,应该确定表空间的名称、类型、对应的数据文件的名称和位置以及区的分配方式、段的管理方式表空间名称不能超过30个字符,必须以字母开头,可以包含字母、数字以及一些特殊字符(如#、_、$)等;表空间的类型包括普通表空间、临时表空间和撤销表空间;表空间中区的分配方式包括两种方式:自动扩展(AUTOALLOCATE)和定制(UNIFORM);段的管理包括两种方式:自动管理(AUTO)和手动管理(MANUAL)。,CREATESMALLFILE|BIGFILEPERMANENT|TEMPORARY|UNDOTABLESPACEtablespace_nameDATAFILE|TEMPFILEpath/filenameSIZEintegerKMREUSEAUTOEXTENDOFFONNEXTintegerKMMAXSIZEUMLIMITEDintegerKMMINIMUMEXTENTintegerK|M|DEFAULTSTORAGEstorage_clause|EXTENTMANAGEMENTLOCALAUTOALLOCATE|UNIFORMSIZEintegerK|M|SEGMENTSPACEMANAGEMENTMANUAL|AUTO|ONLINE|OFFLINE|LOGGING|NOLOGGING;,创建表空间命令语法,提问?DEFAULTSTORAGEstorage_clause,为在该表空间创建的全部对象指定缺省的存储参数。storage_clause的语法格式如下:STORAGE(INITIALintegerKMNEXTintegerKMMINEXTENTSintegerUNLIMITEDMAXEXTENTSintegerPCTINCREASEintegerFREELISTSintegerFREELISTGROUPSintegerOPTIMALintegerKMNULL),回顾体系结构章节的盘区分配的参数!以下各参数的含义是什么?,INITIAL指定为表分配的第一个区的大小;NEXT指定第一个扩展区的大小;MINEXTENTS为创建段时已分配的总区数;MAXEXTENTS表示Oracle数据库可以分配给该对象的总区数;PCTINCREASE指定每个区相对于上一个区的增长百分比;FREELISTS指定表、簇或索引的每个空闲列表组的空闲列表量;FREELISTGROUP指定表、簇或索引的空闲列表组的数量。OPTIMAL指定回滚段的大小,默认为null,参数说明,例:创建学生成绩管理系统数据库表空间,例1建立名称为data_ts1的数据表空间,大小为50M,区间统一为128KB大小。CREATETABLESPACEdata_ts1DATAFILE%ORACLE_HOME%databasedata_ts1.dbfSIZE50MREUSEUNIFORMSIZE128K;,例2建立名称为temp_ts1的临时表空间,使用temp_ts1.dbf文件存放临时数据。CREATETEMPORARYTABLESPACEtemp_ts1TEMPFILE%ORACLE_HOME%databasetemp_ts1.dbfSIZE20MREUSEUNIFORMSIZE128K;,注意的是临时表空间中区的分配方式只能是UNIFORM,而不能是AUTOALLOCATE,因为这样才能保证不会在临时段中产生过多的存储碎片。,提问执行排序操作产生的临时数据存放在内存的什么区里?程序全局区(PGA)的排序区,提问如何完成以下应用?创建10号部门经理用户EMP_MGR10,指定该用户的数据表空间为data_ts1,临时表空间为temp_ts1。授权该用户可以查看SCOTT用户下雇员表中的记录,修改部门表中DNAME,LOC两个列的权限。,表空间实际应用,CREATEUSERemp_mgr10IDENTIFIEDBYemp_mgr10pwdDEFAULTTABLESPACEdata_ts1TEMPORARYTABLESPACEtemp_ts1;GRANTCONNECTTOemp_mgr10;CONNscott/tigerorclGRANTSELECTONempTOemp_mgr10;GRANTUPDATE(dname,loc)ondepttoemp_mgr10;,撤销表空间,在Oracle10g中引入了撤销表空间的概念,专门用于回滚段的自动管理。如果数据库中没有创建撤销表空间,那么将使用SYSTEM表空间来管理回滚段。如果数据库中包含多个撤销表空间,那么一个实例只能使用一个处于活动状态的撤销表空间,可以通过参数UNDO_TABLESPACE来指定;如果要使用撤销表空间对数据库回滚信息进行自动管理,则必须将初始化参数UNDO_MANAGEMENT=AUTO。UNDO_TABLESPACE=定义的撤销表空间,例3:建立名称为undo_ts1的撤销表空间,使用undo_ts1.dbf文件存放回滚段的数据。CREATEUNDOTABLESPACEundo_ts1DATAFILE%ORACLE_HOME%databaseundo_ts1.dbfSIZE50MREUSE;ALTERSYSTEMSETundo_tablespace=undo_ts1;,创建撤销表空间语句中只能指定DATAFILE,MANAGEMENTLOCAL(使用本地管理),区管理方式只能使用AUTOALLOCA(自动扩展),SQLshowparameterundo_tablespace;NAMETYPEVALUE-undo_tablespacestringUNDO_TS1,在OEM中创建表空间,【例】使用OEM创建永久性表空间MYTS。,单击“添加”按钮,为MYTS表空间创建数据文件MYTS01.DBF。单击“存储”选项页面进行区分配.段空间管理和启用事件记录设置。,图-创建表空间添加数据文件后的界面,图-本地管理存储选项卡,DBA_TABLESPACES:数据库中所有表空间的信息。DBA_FREE_SPACE:所有表空间中空闲区的信息。DBA_DATA_FILES:数据文件及其所属表空间信息。DBA_TEMP_FILES:临时文件及其所属表空间信息。V$TABLESPACE:从控制文件得到的所有的表空间的名称和数量。V$DATAFILE:所有的数据文件的信息,包括拥有表空间的数量。V$TEMPFILE:所有的临时文件信息,包括拥有表空间的数量。,查询表空间信息(数据字典),查看数据库中的表空间信息CONNsystem/xingong421orclSETPAGESIZE30COLtablespace_nameFORMATA12SELECTtablespace_name,block_size,segment_space_management,status,contents,allocation_type,bigfileFROMdba_tablespaces;,查看数据库中数据文件的分布情况CONNsystem/xingong421orclCOLfile_nameFORMATA55SELECTfile_id,file_name,tablespace_nameFROMdba_data_filesORDERBYfile_id;,查询表空间空闲空间大小CONNsystem/xingong421orclSELECTTABLESPACE_NAME,SUM(BYTES)FREE_SPACESFROMDBA_FREE_SPACEGROUPBYTABLESPACE_NAME;,提问?在实际应用中,随着数据库中数据容量的变化,DBA可能要对表空间进行扩充容量。Oracle中有哪些方法可以完成以上应用?,4.2.2修改表空间,1.扩展表空间,为表空间增加数据文件ALTERTABLESPACEtablespaceADDDATAFILE|TEMPFILEfilespecautoextend_clause,filespecautoextend_clause;,例为数据表空间data_ts1添加一个大小为10的新数据文件。ALTERTABLESPACEdata_ts1ADDDATAFILE%ORACLE_HOME%databasedata_ts2.dbfSIZE10M;,例为数据表空间temp_ts1添加一个大小为5的临时数据文件。ALTERTABLESPACEtemp_ts1ADDTEMPFILE%ORACLE_HOME%databasetemp_ts2.dbfSIZE5M;,改变数据文件大小ALTERDATABASEdatabaseDATAFILEfilename,filenameRESIZEintegerK|M;,例将表空间data_ts1的数据文件data_ts2.dbf大小增加到20MB。ALTERDATABASEDATAFILE%ORACLE_HOME%databasedata_ts2.dbfRESIZE20M;,查看数据库中数据文件调整大小后的分布情况CONNsystem/xingong421orclCOLfile_nameFORMATA55SELECTfile_id,file_name,bytes,autoextensible,maxbytes,tablespace_nameFROMdba_data_filesORDERBYfile_id;,改变数据文件的扩展方式如果在创建表空间或为表空间增加数据文件时没有指定AUTOEXTENDON选项,则该文件的大小是固定的。如果为数据文件指定了AUTOEXTENDON选项,当数据文件被填满时,数据文件会自动扩展,即表空间被扩展了。,ALTERDATABASEDATAFILEfilespecAUTOEXTENDOFF|ONNEXTnK|MMAXSIZEUNLIMITED|nK|M;,例:将表空间data_ts1的数据文件data_ts2.dbf设置为自动扩展,每次扩展5MB空间,文件最大为100MB。ALTERDATABASEDATAFILE%ORACLE_HOME%databasedata_ts2.dbfAUTOEXTENDONNEXT5MMAXSIZE100M;,注意:尽管可以设置MAXSIZEUNLIMITED,但应总是规定一个文件的最大尺寸值。否则,使用磁盘设备上全部可用空间的事务将造成数据库故障。,2.修改表空间可用性,离线状态的表空间是不能进行数据访问的,所对应的所有数据文件也都处于脱机状态。一些表空间必须是在线状态:SYSTEM表空间存放在线回退信息的撤销表空间(UNDO表空间)临时表空间语法AL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古通辽市扎鲁特旗教体系统事业单位招聘30人模拟试卷及一套参考答案详解
- 2025广西河池市招聘中小学幼儿园教师565人考前自测高频考点模拟试题及答案详解(网校专用)
- 2025福建漳州城投建工集团有限公司招聘2人模拟试卷附答案详解(突破训练)
- 2025年河北邢台威县招聘卫生专业技术人员133人模拟试卷及一套参考答案详解
- 痛风知识培训课件
- 中国氯化锂行业市场全景评估及未来投资趋势预测报告(智研咨询)
- 祖国山河课件
- 2025河南周口市中医院招聘117人模拟试卷及1套完整答案详解
- 2025贵州护理职业技术学院第十三届贵州人才博览会引才17人考前自测高频考点模拟试题附答案详解(完整版)
- 2025江苏东海高新区产业投资集团有限公司招聘劳动合同制人员3人模拟试卷及答案详解(历年真题)
- 拍七令游戏课件
- 厉害了我的国
- GB/T 44329-2024混合气体的制备称量法
- 动物生理学智慧树知到期末考试答案章节答案2024年浙江大学
- 2023浙教版八年级上数学知识点
- 输变电工程施工质量验收统一表式附件1:线路工程填写示例
- 安全总结模板
- 2024年四川成都市青白江区弥牟镇执法辅助人员招聘笔试参考题库附带答案详解
- 《电力设备典型消防规程》(DL 5027-2015)宣贯
- 昆虫学与农业害虫防治
- 信访工作培训课件
评论
0/150
提交评论