### Oracle常用语句详解 #### 一、Oracle登录与管理 **登录方式:** - **sys用户登录:** 使用`sqlplus sys/密码 as sysdba`登录到Oracle数据库。 - **普通用户登录:** `sqlplus 用户名/密码` **查询数据库最大连接数:** ```sql SELECT * FROM v$parameter WHERE name = 'processes'; ``` 通过此查询可以得知当前Oracle实例的最大连接数限制。 **修改最大连接数:** 1. **登录SQL Plus:** ```sql sqlplus sys/密码 as sysdba ``` 2. **查看最大连接数:** ```sql SELECT value FROM v$parameter WHERE name = "processes"; ``` 3. **查看当前连接数:** ```sql SELECT COUNT(*) FROM v$process; ``` 4. **更改最大连接数:** ```sql ALTER SYSTEM SET processes=300 SCOPE=SPFILE; ``` 修改后需重启数据库使设置生效。 5. **重启数据库:** - 关闭数据库:`SHUTDOWN IMMEDIATE;` - 启动数据库:`STARTUP;` **查看processes和sessions参数:** ```sql SHOW PARAMETER processes; ``` #### 二、Oracle对象管理 **创建表空间、用户及授权:** 1. **创建数据表空间:** ```sql CREATE TABLESPACE user_data LOGGING DATAFILE 'Q:\oracle\product\10.2.0\oradata\Test\xyrj_data.dbf' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL; ``` 这条语句创建了一个名为`user_data`的数据表空间,并指定了其存储位置、大小等属性。 2. **创建用户并指定表空间:** ```sql CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE user_data TEMPORARY TABLESPACE user_temp; ``` 此语句创建了一个名为`username`的用户,并设置了默认表空间为`user_data`,临时表空间为`user_temp`。 3. **给用户授予权限:** ```sql GRANT CONNECT, RESOURCE, DBA TO username; ``` 这里授予了用户`CONNECT`、`RESOURCE`和`DBA`权限。 #### 三、删除操作差异 **Truncate、Delete(不带WHERE子句的DELETE语句)、Drop的异同:** **相同点:** - `TRUNCATE`、不带`WHERE`子句的`DELETE`以及`DROP`都会删除表内的数据。 **不同点:** 1. **数据与表结构:** - `TRUNCATE`和`DELETE`只删除数据而不删除表的结构(定义)。 - `DROP`语句不仅删除表内的数据,还会删除表的结构,包括依赖于该表的约束(`CONSTRAINT`)、触发器(`TRIGGER`)、索引(`INDEX`)等。依赖于该表的存储过程/函数将保留,但变为无效状态。 2. **操作类型与回滚:** - `DELETE`语句是数据操纵语言(DML),操作会被放入回滚段中,事务提交后才会生效;如果有相关的触发器,在执行时会被触发。 - `TRUNCATE`和`DROP`是数据定义语言(DDL),操作立即生效,原数据不会被放入回滚段中,因此无法回滚。 3. **执行速度:** 通常情况下,执行速度从快到慢依次为:`DROP > TRUNCATE > DELETE`。 4. **安全性考虑:** - 谨慎使用`DROP`和`TRUNCATE`,特别是当没有备份时。若想删除部分数据行,应使用`DELETE`并加上`WHERE`子句以确保数据安全性。 - 如果想要删除表,则使用`DROP`。 - 如果想保留表而删除所有数据,且与事务无关,使用`TRUNCATE`即可。 #### 四、归档模式开启 **开启归档模式步骤:** 1. **登录到SQL Plus:** ```bash [oracle@jumperoracle]$ sqlplus "/as sysdba" ``` 2. **关闭数据库:** ```sql SHUTDOWN IMMEDIATE; ``` 3. **启动数据库至挂载状态:** ```sql STARTUP MOUNT; ``` 4. **启用归档模式:** ```sql ALTER DATABASE ARCHIVELOG; ``` 5. **打开数据库:** ```sql ALTER DATABASE OPEN; ``` 6. **检查归档模式状态:** ```sql ARCHIVELOG LIST; ``` ### 小结 以上内容详细介绍了Oracle中的一些常用语句,包括登录与管理、对象管理以及删除操作的差异等方面。这些知识点对于Oracle数据库管理员来说非常重要,能够帮助他们更好地管理和维护Oracle数据库系统。通过理解这些语句的功能及其使用场景,可以更高效地进行数据库的操作与管理。
- 粉丝: 0
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助