文章目录
- 1. SQL*Plus命令(用于连接与管理Oracle数据库)
- 2. SQL数据定义语言(DDL)命令
- 3. SQL数据操作语言(DML)命令
- 4. PL/SQL程序块
- 5. 系统用户管理
- 6. 数据备份与恢复相关命令
- 1. SQL*Plus命令(用于连接与管理Oracle数据库)
- 2. SQL数据定义语言(DDL)命令
- 3. SQL数据操作语言(DML)命令
- 4. PL/SQL程序块
- 5. 系统用户管理
- 6. 数据备份与恢复相关命令
- 7. 索引管理
- 8. 视图操作
- 9. 同义词管理
- 10. 定义序列和触发器
- 11. 数据库连接监控
- 12. 审计和权限管理
- 13. 数据备份与恢复
- 14. 数据一致性检查和修复
- 15. 数据迁移和同步
 
 
Oracle数据库的命令主要分为SQL*Plus命令、SQL命令和PL/SQL语句,以及一些操作系统级别的启动与关闭命令。以下是按功能分类的部分Oracle常用命令及其示例:
1. SQL*Plus命令(用于连接与管理Oracle数据库)
-  登录 - 登录本地数据库:sqlplus / as sysdba
- 登录远程数据库:sqlplus username/password@hostname:port/service_name 示例: sqlplus scott/tiger@192.168.1.10:1521/orcl
 
- 登录本地数据库:
-  退出SQL*Plus exit
-  设置行格式和标题 set linesize 200; set pagesize 30; set heading on/off; -- 控制列标题显示与否
2. SQL数据定义语言(DDL)命令
-  创建表 CREATE TABLE employees ( employee_id NUMBER(6) PRIMARY KEY, first_name VARCHAR2(20), last_name VARCHAR2(25), hire_date DATE );
-  删除表 DROP TABLE employees CASCADE CONSTRAINTS;
-  修改表结构 ALTER TABLE employees ADD salary NUMBER(8,2);
3. SQL数据操作语言(DML)命令
-  插入数据 INSERT INTO employees (employee_id, first_name, last_name, hire_date) VALUES (100, 'John', 'Doe', TO_DATE('2000-01-01', 'YYYY-MM-DD'));
-  查询数据 SELECT * FROM employees;
-  更新数据 UPDATE employees SET salary = 5000 WHERE employee_id = 100;
-  删除数据 DELETE FROM employees WHERE employee_id = 100;
4. PL/SQL程序块
- 声明变量并使用循环DECLARE v_employee_id employees.employee_id%TYPE; BEGIN FOR emp_rec IN (SELECT employee_id FROM employees) LOOP v_employee_id := emp_rec.employee_id; -- 进行其他操作... END LOOP; END;
5. 系统用户管理
-  创建用户 CREATE USER db_user IDENTIFIED BY password;
-  授权给用户 GRANT CONNECT, RESOURCE TO db_user;
-  撤销权限 REVOKE DELETE ON employees FROM db_user;
6. 数据备份与恢复相关命令
-  导出数据 expdp username/password directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=expdp_mydump.log schemas=myschema
-  导入数据 impdp username/password directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=impdp_mydump.log remap_schema=old_schema:new_schema
Oracle数据库的命令主要分为SQL*Plus命令、SQL命令和PL/SQL语句,以及一些操作系统级别的启动与关闭命令。以下是按功能分类的部分Oracle常用命令及其示例:
1. SQL*Plus命令(用于连接与管理Oracle数据库)
-  登录 - 登录本地数据库:sqlplus / as sysdba
- 登录远程数据库:sqlplus username/password@hostname:port/service_name 示例: sqlplus scott/tiger@192.168.1.10:1521/orcl
 
- 登录本地数据库:
-  退出SQL*Plus exit
-  设置行格式和标题 set linesize 200; set pagesize 30; set heading on/off; -- 控制列标题显示与否
2. SQL数据定义语言(DDL)命令
-  创建表 CREATE TABLE employees ( employee_id NUMBER(6) PRIMARY KEY, first_name VARCHAR2(20), last_name VARCHAR2(25), hire_date DATE );
-  删除表 DROP TABLE employees CASCADE CONSTRAINTS;
-  修改表结构 ALTER TABLE employees ADD salary NUMBER(8,2);
3. SQL数据操作语言(DML)命令
-  插入数据 INSERT INTO employees (employee_id, first_name, last_name, hire_date) VALUES (100, 'John', 'Doe', TO_DATE('2000-01-01', 'YYYY-MM-DD'));
-  查询数据 SELECT * FROM employees;
-  更新数据 UPDATE employees SET salary = 5000 WHERE employee_id = 100;
-  删除数据 DELETE FROM employees WHERE employee_id = 100;
4. PL/SQL程序块
- 声明变量并使用循环DECLARE v_employee_id employees.employee_id%TYPE; BEGIN FOR emp_rec IN (SELECT employee_id FROM employees) LOOP v_employee_id := emp_rec.employee_id; -- 进行其他操作... END LOOP; END;
5. 系统用户管理
-  创建用户 CREATE USER db_user IDENTIFIED BY password;
-  授权给用户 GRANT CONNECT, RESOURCE TO db_user;
-  撤销权限 REVOKE DELETE ON employees FROM db_user;
6. 数据备份与恢复相关命令
-  导出数据 expdp username/password directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=expdp_mydump.log schemas=myschema
-  导入数据 impdp username/password directory=DATA_PUMP_DIR dumpfile=mydump.dmp logfile=impdp_mydump.log remap_schema=old_schema:new_schema
7. 索引管理
-  创建索引 CREATE INDEX emp_idx ON employees (last_name);
-  删除索引 DROP INDEX emp_idx;
-  查看索引信息 SELECT * FROM user_indexes WHERE table_name = 'EMPLOYEES';
8. 视图操作
-  创建视图 CREATE VIEW emp_view AS SELECT first_name, last_name FROM employees;
-  查询视图 SELECT * FROM emp_view;
-  更新视图(如果视图支持更新) UPDATE emp_view SET last_name = 'NewName' WHERE first_name = 'John';
-  删除视图 DROP VIEW emp_view;
9. 同义词管理
-  创建同义词 CREATE SYNONYM emp_syn FOR hr.employees;
-  通过同义词查询数据 SELECT * FROM emp_syn;
-  删除同义词 DROP SYNONYM emp_syn;
10. 定义序列和触发器
-  创建序列 CREATE SEQUENCE emp_sequence START WITH 1 INCREMENT BY 1;
-  使用序列生成值 INSERT INTO employees (employee_id, first_name) VALUES (emp_sequence.NEXTVAL, 'Jane');
-  创建触发器 CREATE OR REPLACE TRIGGER emp_bir BEFORE INSERT ON employees FOR EACH ROW BEGIN :new.employee_id := emp_sequence.nextval; END;
11. 数据库连接监控
-  查看当前会话信息 SELECT sid, serial#, status, username, osuser FROM v$session;
-  终止指定会话 ALTER SYSTEM KILL SESSION 'sid,serial#';
12. 审计和权限管理
-  授予用户权限 GRANT SELECT, INSERT, UPDATE ON employees TO user1;
-  撤销用户权限 REVOKE UPDATE ON employees FROM user1;
-  为用户创建角色并分配权限 CREATE ROLE hr_admin; GRANT SELECT, INSERT, UPDATE, DELETE ON employees TO hr_admin; GRANT hr_admin TO user1;
-  数据库审计 AUDIT SELECT ON employees BY ACCESS; -- 或者针对特定用户进行审计 AUDIT ALL ON employees BY user1 BY SESSION; -- 查看审计策略 SELECT * FROM dba_auditing_options; SELECT * FROM dba_audit_trail;
13. 数据备份与恢复
-  逻辑备份(导出) 
 使用expdp或exp工具进行数据泵导出,例如:expdp system/password directory=DATA_PUMP_DIR dumpfile=emp.dmp logfile=expdp_emp.log schemas=hr
-  逻辑恢复(导入) 
 使用impdp或imp工具进行数据泵导入,例如:impdp system/password directory=DATA_PUMP_DIR dumpfile=emp.dmp logfile=impdp_emp.log remap_schema=old_hr:new_hr
-  物理备份 
 执行RMAN(Recovery Manager)命令进行全库备份或增量备份。
14. 数据一致性检查和修复
-  执行一致性检查 ALTER TABLE employees ENABLE CONSTRAINTS;
-  使用DBMS_REPAIR包 
 在Oracle中,可以使用DBMS_REPAIR包进行表的完整性检查和修复。这通常用于处理较为严重的问题,如数据块损坏等情况。
15. 数据迁移和同步
-  跨数据库的数据迁移 
 可以通过数据泵、GoldenGate等工具实现不同数据库间的结构和数据迁移。
-  实时数据同步 
 Oracle GoldenGate或其他第三方工具可用于实现Oracle数据库之间的实时数据同步。
请注意,在实际操作时,请根据Oracle官方文档和最佳实践调整相应的命令和策略,并确保在对生产环境做任何重大变更之前,制定详尽的计划和备份方案。
python推荐学习汇总连接:
 50个开发必备的Python经典脚本(1-10)
50个开发必备的Python经典脚本(11-20)
50个开发必备的Python经典脚本(21-30)
50个开发必备的Python经典脚本(31-40)
50个开发必备的Python经典脚本(41-50)
 ————————————————
最后我们放松一下眼睛
 



















