oracle基础操作

linux命令行oracle启动步骤如下:

1、切换目录
  cd oracle可执行程序目录下(自定义,可以参考/home/oracle/.bash_profile)
2、加载环境变量
  source /home/oracle/.bash_profile
3、管理员账号登录控制台,启动oracle
  sqlplus / as sysdba
  SQL> startup;
  启动oracle成功后,exit退出控制台
4、启动监听,查看监听的服务状态
  lsnrctl start
  lsnrctl status
  

1、查看dbf路径

select name from v$datafile;

2、创建表空间

create tablespace JAVAUSER_TMP datafile '/home/oracle/tablespaces/JAVAUSER_TMP.dbf' size 2500M autoextend on next 100M maxsize unlimited logging extent management local autoallocate segment space management auto;

3、创建用户

create user javauser_tmp identified by bjhz2020 default tablespace JAVAUSER_TMP temporary tablespace temp;

4、查看用户

select username from dba_users;

5、查看变量,导出导入文件应该放在哪里(DATA_PUMP_DIR)

select * from dba_directories;

6、用户授权

(1) grant connect to javauser_tmp; 可以连接权限 但不能操作

(2) grant resource to javauser_tmp; 可以操作数据库

(3) grant dba to javauser_tmp; 管理员权限

7、导入数据库dmp文件

export ORACLE_HOME=/home/u01/app/product/11.2.0.4/dbhome_1

select * from dba_directories;

cd /home/u01/app/product/11.2.0.4/dbhome_1/bin

./impdp javauser_tmp/bjhz2020@ORCL directory=DATA_PUMP_DIR dumpfile=javauser_tmp20231208.dmp remap_schema=javauser_tmp:javauser_tmp remap_tablespace=JAVAUSER_TMP:JAVAUSER_TMP logfile=impdp_javauser_tmp.log

8、查看用户下表空间的权限

select distinct(tablespace_name) from dba_segments where owner=upper('javauser_tmp');

9、给用户添加表空间

alter user user_tmp quota unlimited on MEDICALSTAGE_ARMY;

示例:oracle给表空间Table1,新增授权userA,密码为123,授权所有权限

1、创建用户并指定表空间:
如果表空间Table1已经存在,您可以创建用户USERA,指定默认表空间,并设置密码
CREATE USER USERA IDENTIFIED BY "123" DEFAULT TABLESPACE Table1 QUOTA UNLIMITED ON Table1;

2、授权
GRANT ALL PRIVILEGES TO USERA;



10、查看表空间使用量单位M

select df.tablespace_name ,totalspace,freespace ,round((1-freespace/totalspace)*100,2) "used" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspace from dba_data_files group by tablespace_name) df, (select tablespace_name,round(sum(bytes)/1024/1024) freespace from dba_free_space group by tablespace_name) fs where df.tablespace_name=fs.tablespace_name;

11、扩表空间

1)SELECT ddf.file_name FROM Dba_Data_Files ddf where ddf.tablespace_name = 'sunright_xz' //查找表空间位置

2)ALTER TABLESPACE SUNRIGHT_XZ ADD DATAFILE '/mnt/sdb1/epointyz013.dbf' SIZE 30000M; #dbf前名称得变

12、删除表空间和用户

先删除用户

drop user javauser_tmp cascade;

后删除表空间(当表空间为某个用户的默认表空间时,需先删除用户)

drop tablespace MEDICALSTAGE_ARMY including contents and datafiles;

13、查看连接数

select count(*) from v$process;

14、解锁用户

alter user javauser_tmp account unlock;

15、查看所有表空间

select tablespace_name from dba_tablespaces;

查看表空间所有表名


SELECT table_name 
FROM dba_tables 
WHERE tablespace_name = '你的表空间名';

16、查看字段信息

在Oracle中,要查看表空间data1下表T1的所有字段信息,可以使用以下SQL命令


SELECT COLUMN_NAME
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME = 'T1'
AND OWNER = 'data1';

17、数据备份

1、创建备份目录

create directory BACKUP_DIR as ‘备份路径(如:/home/oracle/backup/)’;

2、检查备份目录信息

select * from dba_directories;

3、将第一步中创建的文件名称赋权给将要导出的用户

GRANT READ,WRITE ON DIRECTORY BACKUP_DIR to TEST1;

4、使用expdp命令导出数据库

在Oracle中,可以使用expdp命令行工具来备份数据。以下是一个基本的命令行备份示例:

expdp username/password@db_link DIRECTORY=directory_name DUMPFILE=dump_file_name.dmp SCHEMAS=schema_name LOGFILE=log_file_name.log
  • username/password: 替换为你的数据库用户名和密码。

  • db_link: 替换为你的数据库连接字符串。

  • directory_name: 是Oracle目录对象的名称,指向一个实际的文件系统目录。你需要先在数据库中创建一个目录对象并授权给用户。

  • dump_file_name.dmp: 是导出的数据泵文件名。

  • schema_name: 是你想要备份的模式名。

  • log_file_name.log: 是操作日志文件名。

确保在执行expdp命令前,已经创建好目录对象并设置了适当的权限。

示例:expdp TEST1/TEST1@orcl schemas=TEST1 dumpfile=database_TEST1.dmp directory=BACKUP_DIR logfile=database_TEST1.log

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值