对于公司里项目多,或者部署环境多的场景,可以做一些标准化的操作,编写一套脚本,完成一键快速部署环境。
自动化的前提 只能是标准化,如果不能够制定标准,开太多的口子,太多的交互,势必会影响到自动化的实施,
以下是我写的一套一键部署脚本,希望对需要的人,有所帮助
一 、 数据库软件的一键安装部署,
附件是我自己写的,在CentOS 6.8 上一键部署Oracle 12C, 需要在 software 里放入12C安装软件,然后直接加载到系统目录,然后直接运行主shell即可。
二、 数据库对象的一键创建
下面举例,只是用windows平台中列一下目录(上边为 主目录, 下边 为 db 子目录)
例如:
main.bat 调用 init_schema.bat,
init_schema 调用db/tablespace 完成表空间的创建
调用db/user 完成用户的创建
调用db/schema 完成用户对象的创建
init_data.bat
init_data 调用db/user1_data 完成用户user1数据的初始化
调用db/user2_data 完成用户use2 数据的初始化
说明:
-
其中文本文件的字符集是utf-8,可以在bat开通设置 set nls_lang=AMERICAN_AMERICA.AL32UTF8, 用于读取文本文件内容,然后客户端字符集要与数据库服务端字符集保持一下(或者兼容考虑)
-
对于CICD中用这个脚本,可以增加一个update部分,每次调用的时候,输入版本参数,调用update目录里的相关版本部分。
其中涉及到的步骤如下 :
1.软件安装: 安装数据库软件:| 图形安装 和 静默安装, 如果需要经常部署环境,可以配置好标准化参数,做成一键静默部 署
建立连接: | connect / as sysdba ,通过操作系统认证
启动数据库: | startup [nomount][mount][open]
| alter database open
关闭数据库: | shutdown [abort][immediate][transactional][normal]
对于12C版本,打开和关闭插拔数据库:
所有插拔数据库 | alter pluggable database all open
某个插拔数据库 | alter pluggable database pdb1 open
查看数据库状态 | select name,open_mode from v$containers
sqlplus设置 | set pagesize 1000 # set linesize 120 # col name for a40 # col value for a40
2.初始化: 创建表空间和用户 | 可以写成交互脚本
具体步骤:
(1).创建表空间 :
create tablespace test_ts datafile
'C:\oracle\app\oradata\test01.dbf' size 1024m,
autoextend on next 200m maxsize unlimited;
'C:\oracle\app\oradata\test02.dbf' size 1024m
autoextend on next 200m maxsize unlimited;
注意是每个文件下都要写上autoextend。 每个文件最多扩充至32G。
(2). 查询数据文件路径 | select name from v$datafile;
(3). 建立用户 | create user yun identified by ecs123 default tablespace test_ts;
(4). 赋权: | grant connect,resource to yun ;
grant imp_full_database,unlimited tablespace to yun ;
(5).校验视图 | select * from dba_users;
select * from dba_tablespaces;
select * from v$database;
select * from v$instance;
3.登录: 操作系统授权登录 | sqlplus / as sysdba
远程客户端登录 | sqlplus yun/yun123@ip_address/service_name;
sqlplus yun/yun123@tns_name;
4.清理模式 删除表空间test_ts | drop tablespace test_ts including contents and datafiles;
删除用户yun | drop user yun cascade;
设置当前实例 :set ORACLE_SID = orcl | export ORACLE_SID = orcl
查看监听和实例:lsnrctl status
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/69915315/viewspace-2640296/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/69915315/viewspace-2640296/